Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > win32oleライブラリ > WIN32OLEクラス > invoke

instance method WIN32OLE#invoke

invoke(name, *args) -> object | nil[permalink][rdoc]

メソッド名を指定してオブジェクトのメソッドを呼び出します。

OLEオートメーションサーバのメソッドを動的に呼び出したい場合に利用します。

なお、OLEオートメーションの仕様により、メソッド名の大文字、小文字は区別 されません。

[PARAM] name:
メソッド名を文字列で指定します。
[PARAM] args:
メソッドの引数を指定します。また、最後の引数にHashを 与えることで、名前付き引数を指定できます。この場合、キーに 文字列でパラメータ名、値に引数を指定します。
[RETURN]
メソッドの返り値。ただし返り値を持たないメソッドの場合はnil。
[EXCEPTION] WIN32OLERuntimeError:
オートメーションサーバの呼び出しに失敗しました。 理由はメッセージのHRESULTを調べてください。 excel = WIN32OLE.new('Excel.Application') workbook = excel.workbooks.invoke('Open', 'FileName' => 'c:\\users\\public\\test.xml', 'ReadOnly' => true, 'Password' => 'secret') excel.invoke('Quit')

このリストは、以下の記述と同等です。

excel = WIN32OLE.new('Excel.Application')
workbook = excel.workbooks.Open('FileName' => 'c:\\users\\public\\test.xml',
                                'ReadOnly' => true,
                                'Password' => 'secret')
excel.Quit