names=_getproperty
visibility=public
kind=defined

--- _getproperty(dispid, args, types) -> object
DISPIDとパラメータの型を指定してオブジェクトのプロパティを参照します。

アクセスするプロパティのインターフェイスを事前に知っている場合に、
DISPIDとパラメータの型を指定してプロパティを参照します。

@param dispid プロパティのDISPID（メソッドを一意に特定する数値）を指定
              します。

@param args プロパティが引数を取る場合に配列で指定します。引数の順序は
            最左端の引数のインデックスを0とします。引数が不要な場合は空
            配列を指定します。

@param types プロパティが引数を取る場合に配列で引数の型を指定します。引
             数の順序は最左端の引数のインデックスを0とします。型の指定
             には、[[c:WIN32OLE::VARIANT]]の定数を利用します。引数が不
             要な場合は空配列を指定します。

このメソッドはCOMアーリーバインディングを利用することで外部プロセスサー
バとのラウンドトリップを減らして処理速度を向上させることを目的としたも
のです。このため、DLLの形式で型情報（TypeLib）を提供しているサーバに対
してはあまり意味を持ちません。

@return プロパティ値を返します。
@raise WIN32OLERuntimeError オートメーションサーバの呼び出しに失敗しました。
                            理由はメッセージのHRESULTを調べてください。

   DISPID_CELLS = 238
   include WIN32OLE::VARIANT
   excel = WIN32OLE.new('Excel.Application')
   puts excel._getproperty(558, [], []) # VisibleプロパティのDISPIDは558
   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は[[m:WIN32OLE_METHOD#dispid]]から取得できます。

@see [[c:WIN32OLE::VARIANT]]

