Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > win32oleライブラリ > WIN32OLE_TYPEクラス > progids
progids -> [String]システムに登録されているすべてのコンポーネントクラスのPROGIDを取得します。
excel = nil
WIN32OLE_TYPE.progids.each do |pg|
if pg =~ /excel\.application/i # ExcelのPROGIDをバージョン無視で取り出す
excel = WIN32OLE.new(pg)
break
end
end
unless excel
$stderr.puts "Excel isn't installed"
exit(1)
end
excel.visible = true
# ...
excel.Quit
PROGIDは、生成可能なOLEオートメーションサーバのCoClass(コンポーネントクラス)が持つレジストリ登録名です。WIN32OLE.newの引数に指定してWIN32OLEオブジェクトを生成できます。