タイプライブラリのメソッドのシンタックスを調べる
内容は「Win32OLE ことはじめ」から、そのままパクッただけなんだけど。
class WIN32OLE_METHOD def help "#{name}(#{__help_params__.join(', ')}) As #{return_type}" end private def __help_params__ params.map do |p| "#{'[in]' if p.input?}"\ "#{'[out]' if p.output?}"\ "#{'[optional]' if p.optional?}"\ "#{'[retval]' if p.retval?}"\ " #{p.name}"\ "#{(' = %s' % p.default.inspect) if p.default}"\ " As #{p.ole_type}" end end end class WIN32OLE def method_help(name) ole_method(name).help end end
これで irb からメソッドのヘルプが見れるようになった。
sheet.ole_method('cells').help # => "Cells() As Range" cells.method_help('range') # => "Range([in] Cell1 As VARIANT, [in][optional] Cell2 As VARIANT) As Range"
しかし As VARIANT と言われても情報量ないなぁ。