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