From: babie Date: 2005-11-28T10:35:26+09:00 Subject: [ruby-list:41603] Re: エクセルファイルを読み込む際の問題(質問) babie です。 手元に、 --- book.Close(false) xl.Workbooks.Close xl.Quit ---- としたスクリプトがあります。ちょっと試したところ Excel のプロセスはちゃ んと消えているようです。 ずいぶん前に作ったので、なぜ false を使うか忘れてしまいましたが、検索す れば arton さんのとこが引っかかると思います。 ちなみに以下のようなメソッドを作って使っています。 ---- # 絶対パス取得 def get_absolute_path filename fso = WIN32OLE.new('Scripting.FileSystemObject') return fso.GetAbsolutePathName(filename) end # Excel アプリケーションを立ち上げる def open_app visible app = WIN32OLE.new('Excel.Application') app.visible = visible begin yield app ensure app.Workbooks.Close app.Quit end end # Excel ドキュメントを開く def open_book xl, file path = get_absolute_path file book = xl.Workbooks.Open(path) begin yield book ensure book.Close(false) end end if __FILE__ == $0 open_app(false) { |xl| ["a.xls", "b.xls"].each do |f| open_book(xl, f) { |book| ...処理... } end } end ----