るりまサーチ (Ruby 2.6.0)

最速Rubyリファレンスマニュアル検索!
3件ヒット [1-3件を表示] (0.056秒)

別のキーワード

  1. objectspace each_object
  2. _builtin each_object
  3. object send
  4. object to_enum
  5. object enum_for

クラス

キーワード

検索結果

WIN32OLE_METHOD#dispid -> Integer (54415.0)

メソッドのディスパッチID(DISPID)を取得します。

...す。WIN32OLEでは、
WIN32OLE
#_invokeなどのメソッドで、呼び出すサーバのメソッドを指定
するのに利用します。

@return メソッドのDISPIDを返します。

tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'Workbooks')
method = WIN32OLE_METHO...
...D.new(tobj, 'Add')
puts method.dispid # => 181

@see WIN32OLE#_invoke, WIN32OLE#_getproperty,
WIN32OLE
#_setproperty...

WIN32OLE#_getproperty(dispid, args, types) -> object (826.0)

DISPIDとパラメータの型を指定してオブジェクトのプロパティを参照します。

...を指定します。引
数の順序は最左端の引数のインデックスを0とします。型の指定
には、WIN32OLE::VARIANTの定数を利用します。引数が不
要な場合は空配列を指定します。

このメソッドはCOMアーリ...
...返します。
@raise WIN32OLERuntimeError オートメーションサーバの呼び出しに失敗しました。
理由はメッセージのHRESULTを調べてください。

DISPID_CELLS = 238
include WIN32OLE::VARIANT
excel = WIN32OLE.new('Excel.Applicatio...
...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 WIN32OLE::VARIANT...

WIN32OLE#_invoke(dispid, args, types) -> object | nil (808.0)

DISPIDとパラメータの型を指定してオブジェクトのメソッドを呼び出します。

...。型の指定には、
WIN32OLE
::VARIANTの定数を利用します。引数が不要な場
合は空配列を指定します。

@return メソッドの返り値。ただし返り値を持たないメソッドの場合はnil。

@raise WIN32OLERuntimeError オートメ...
...= WIN32OLE.new('Excel.Application')
excel._invoke(302, [], []) # DISPID 302は、Quitメソッド

MFCの制約により、バイト配列の型情報は通常
WIN32OLE
::VARIANT::VT_VARIANTとなります。このような場合に、バイト
配列を与えるつもりで

include WIN32OLE::...
...い。

include WIN32OLE::VARIANT
obj.method(DISPID, [[0, 1, 2, 3]], [VT_BYREF | VT_ARRAY | VT_UI1])

なお、VB6で作成したCOMコンポーネントのパラメータに配列を与える場合は、
WIN32OLE
::VARIANT::VT_BYREFの指定が必須です。

DISPIDはWIN32OLE_METHOD#dispidから...