2009年7月26日日曜日

rubyのCOM(win32ole)を使うためのTIPS

rubyからCOMを使えるようになると便利。
使う場合に役に立ちそうなTIPSをまとめる。



どんなCOMが使えるのか調べる




require "win32ole"
WIN32OLE_TYPE.progids.each do |id|
puts id
end

これでCOMのprogidがリストアップされる。



使いたいCOMのメソッドとヘルプの表示


各COMのメソッドからヘルプ情報を取得できる(場合がある)
たとえば、IEを使うための簡単なヘルプを表示するには以下のコードを実行すればよい。



require "win32ole"
ole_name = 'InternetExplorer.Application'
obj = WIN32OLE.new(ole_name)

list = []
obj.ole_methods.each do |m|
list << [m.to_s, obj.ole_method(m.to_s).helpstring]
end

list.uniq.each do |item|
puts "== obj.#{item[0]}"
puts "#{item[1]}\n\n"
end