From: Koji Arai Date: 2000-11-03T19:03:34+09:00 Subject: [ruby-list:25791] win32ole 0.1.4 (型が一致しません) 新井です。 win32ole で、Word のファイルをWordのファイルに挿入するスクリ プトを作ろうとしているのですが、以下のソースがうまく動きませ ん。(余計なprintがいっぱい入ってるのは気になさらないでくださ いませ) #!/usr/local/bin/ruby -Ks # -*- Coding: sjis-unix -*- require 'win32ole' puts "win32ole version: #{WIN32OLE::VERSION}" word = WIN32OLE.new('Word.Application') word.visible = true doc = word.Documents.Add() puts "Word version: #{word.Version}" doc.Activate p doc.Name sel = word.Selection print "Active=", sel.Active, "\n" print "Type=", sel.Type, "\n" print "Range=", sel.Range, "\n" word.Selection.InsertFile('FileName'=>'d:\\tmp\\hoge.doc') 以下実行結果ですが CYGWIN_98-4.10 hogehoge 1.1.4(0.26/3/2) 2000-08-03 20:53 i586 unknown ruby 1.6.0 (2000-09-04) [i586-cygwin] win32ole version: 0.1.4 Word version: 8.0 "文書 1" Active=true Type=1 Range=# insert2.rb:21:in `method_missing': InsertFile (RuntimeError) OLE rb_compile_error:0 in 型が一致しません。 from insert2.rb:21 となります。しかし、以下の同じ目的のVBAスクリプトは動きます。 (正常に新規文書に既存文書を挿入できます) Set doc = Documents.Add doc.Activate Debug.Print doc.Name Debug.Print Selection.Active Debug.Print Selection.Type Debug.Print Selection.Range Selection.InsertFile FileName:="D:\tmp\hoge.doc" なにか単純なミスなのだと思うのですが全然わかりません。どなた か、わかる方情報お願い致します。 ruby と win32ole は自分でmakeしたものです。 win32ole は、以下の手順でmakeしました。 unzip -a win32ole-0.1.4.zip # -a は CRLF -> LF 変換。これをやらないとうまくパッチが当たらなかった cd win32ole patch win32ole.c ../ruby-list-25444 ruby extconf.rb make make site-install よろしくお願いします。 -- 新井康司 (Koji Arai)