instance method WIN32OLE#invoke

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

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

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