メソッド名を指定してオブジェクトのメソッドを呼び出します。
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