const_load(ole, mod = WIN32OLE) -> ()
[permalink][rdoc]OLEオートメーションサーバが保持する定数を読み込み、指定されたモジュールに組み込みます。
OLEオートメーションサーバは、定数をクライアントへ提供できます。
const_loadメソッドはこれらの定数を読み込み、指定したモジュールに組み込むことで参照可能とします。
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