const_load(ole, mod = WIN32OLE) -> ()
[permalink][rdoc][edit]-
OLEオートメーションサーバが保持する定数を読み込み、指定されたモジュールに組み込みます。
OLEオートメーションサーバは、定数をクライアントへ提供できます。
const_loadメソッドはこれらの定数を読み込み、指定したモジュールに組み込むことで参照可能とします。
- [PARAM] ole:
- 定数を読み込む対象のWIN32OLEオブジェクトまたはタイプライブラリ名(文字列)を指定します。
- [PARAM] mod:
- 定数を定義する対象のモジュールを指定します。省略時は WIN32OLEに組み込まれます。
- [EXCEPTION] WIN32OLERuntimeError:
- オートメーションサーバの呼び出しに失敗しました。理由はメッセージのHRESULTを調べてください。
OLEオートメーションの定数は通常、VBのコード規約に準じて、vbConstantsのように小文字で始まります。しかし、Rubyの定数は大文字で開始する規則のため、WIN32OLEによってVbConstantsのように自動的に先頭が大文字化されます。
また、先頭が英字で始まらない定数については、CONSTANTSハッシュに登録されます。この場合、元の定数名がキーとなります。
module EXCEL_CONST end excel = WIN32OLE.new('Excel.Application') WIN32OLE.const_load(excel, EXCEL_CONST) puts EXCEL_CONST::XlTop # => -4160 puts EXCEL_CONST::CONSTANTS['_xlDialogChartSourceData'] # => 541
モジュール名を省略した例
WIN32OLE.const_load(excel) puts WIN32OLE::XlTop # => -4160
タイプライブラリ名を指定した例
module MSO end WIN32OLE.const_load('Microsoft Office 9.0 Object Library', MSO) puts MSO::MsoLineSingle # => 1