Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > win32oleライブラリ > WIN32OLEクラス > _setproperty
_setproperty(dispid, args, types) -> ()
[permalink][rdoc]DISPIDとパラメータの型を指定してオブジェクトのプロパティを設定します。
アクセスするプロパティのインターフェイスを事前に知っている場合に、 DISPIDとパラメータの型を指定してプロパティを設定します。
このメソッドはCOMアーリーバインディングを利用することで外部プロセスサー バとのラウンドトリップを減らして処理速度を向上させることを目的としたも のです。このため、DLLの形式で型情報(TypeLib)を提供しているサーバに対 してはあまり意味を持ちません。
DISPID_CELLS = 238 include WIN32OLE::VARIANT excel = WIN32OLE.new('Excel.Application') puts excel._setproperty(558, # VisibleプロパティのDISPIDは558 [true], [VT_BOOL]) workbook = excel.Workbooks.Add sheet = workbook.Worksheets[1] sheet._setproperty(DISPID_CELLS, [1, 2, 'hello'], [VT_I2, VT_I2, VT_BSTR]) puts sheet._getproperty(DISPID_CELLS, [1, 2], [VT_I2, VT_I2]).value #=> 'hello' workbook.Close(:SaveChanges => false) excel.Quit
DISPIDはWIN32OLE_METHOD#dispidから取得できます。
[SEE_ALSO] WIN32OLE::VARIANT