2004年12月8日水曜日

Office XP SP3(?)のバグ

Office XPにSP3を当てた環境(?)でrubyからWin32OLE経由でExcelを起動すると、スクリプト内でExcelオブジェクトをquitしてもExcelのプロセスが終了しないようです。

サンプル

require 'win32ole'excel = WIN32OLE.new('Excel.Application')excel.quit

数ヶ月前には正常に動作していたとあるスクリプトを走らせたら、Excelのプロセスが数十個できて危なくWindowsが落ちるところでした……。(-_-;

いろいろ調査した結果、Office 2003の環境で同じスクリプトを実行するとまったく問題なく動作することが判明。
数ヶ月前は正常に動作していたことを考えると、Office XP SP3などのパッチを適用した際にエンバグした可能性が高そうに思われます。

ruby MLを見たところ同じような現象の報告はなさそうだったので、もしかすると僕の環境に依存した問題なのかもしれませんが……。


2005/01/05 追記

さらに調べたところ、Office のバグが原因ではありませんでした。orz

原因はgoogle desktop search
常駐を止めただけではダメで、アンインストールしたらこの症状は出なくなりました。
開いた Office ファイルをインデックス化するモジュールの部分で、ファイルが OLE 経由で開かれる事を想定していないのかな?

やっぱりベータ版は自己責任の世界なんだなぁーと反省した次第です。(-_-;

1 件のコメント:

  1. 追記のとおり、この問題は解決しました。
    会社のPCにベータ版のソフトをインストールしちゃいけませんね。。。

    返信削除