7件ヒット
[1-7件を表示]
(0.016秒)
種類
- インスタンスメソッド (6)
- 定数 (1)
ライブラリ
- win32ole (7)
キーワード
- ARGV (1)
-
_ getproperty (1) -
_ invoke (1) -
_ setproperty (1) - invoke (1)
-
method
_ missing (1) - setproperty (1)
検索結果
先頭5件
-
WIN32OLE
:: ARGV -> [object] (18304.0) -
直前のメソッド呼び出しの引数を格納した配列です。
...p x # => 10 …… 呼び出しによって影響を受けない
p WIN32OLE::ARGV # => ['*', 110, 11] …… 結果はARGVの対応する引数に反映される
obj.Accm '+', 10, 11
p WIN32OLE::ARGV # => ['+', 21, 11]
直前のメソッド呼び出しが例外となった......場合、ARGVの設定内容は呼び出し前の
状態が保たれます。つまり、WIN32OLE自身がARGVの内容を消去するのは、メソッ
ド呼び出しに成功した場合のみです。このため最後のメソッド呼び出しが引数
にオブジェクトを返すタイプ......VB (OLE Automation server)
Public Sub GetInterface(ByRef obj)
Set Obj = New OleObject
End Sub
# Ruby
obj.GetInterface nil # 引数の数を合わせるためダミー引数を指定
WIN32OLE::ARGV.clear # 通常は、後続のメソッド呼び出しによって消去される... -
WIN32OLE
# _ getproperty(dispid , args , types) -> object (304.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 (304.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から... -
WIN32OLE
# _ setproperty(dispid , args , types) -> () (304.0) -
DISPIDとパラメータの型を指定してオブジェクトのプロパティを設定します。
...
WIN32OLE::VARIANTの定数を利用します。
@raise WIN32OLERuntimeError オートメーションサーバの呼び出しに失敗しました。
理由はメッセージのHRESULTを調べてください。
DISPID_CELLS = 238
include WIN32OLE::VA......RIANT
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 WIN32OLE::VARIANT... -
WIN32OLE
# invoke(name , *args) -> object | nil (304.0) -
メソッド名を指定してオブジェクトのメソッドを呼び出します。
...持たないメソッドの場合はnil。
@raise WIN32OLERuntimeError オートメーションサーバの呼び出しに失敗しました。
理由はメッセージのHRESULTを調べてください。
excel = WIN32OLE.new('Excel.Application')
workbook = excel.wor......:Password => 'secret')
excel.invoke(:Quit)
このリストは、以下の記述と同等です。
excel = WIN32OLE.new('Excel.Application')
workbook = excel.workbooks.Open(:FileName => 'c:\\users\\public\\test.xml',
:ReadOn... -
WIN32OLE
# method _ missing(id , *args) -> object | nil (304.0) -
WIN32OLE#invokeメソッドを実行します。
...WIN32OLE#invokeメソッドを実行します。
WIN32OLEのインスタンスに対して、このリファレンスに明記されていないメソッ
ドを呼び出した場合、OLEオートメーションサーバのメソッド(プロパティ)呼
び出しと解釈します。
@param......有効なシンボルではありません。
@raise WIN32OLERuntimeError オートメーションサーバの呼び出しに失敗しました。
理由はメッセージのHRESULTを調べてください。
WIN32OLEはOLEオートメーションオブジェクトのメ......ソッド呼び出しを
method_missingを利用して実行します。このためWIN32OLEを継承するクラスを
作成してmethod_missingをオーバーライドする場合、superを呼び出してくださ
い。
@see WIN32OLE#invoke... -
WIN32OLE
# setproperty(name , args . . . , val) -> () (304.0) -
オブジェクトのプロパティを設定します。
...ます。
@param args 集合的なプロパティに対する設定項目を特定するための引数を指
定します。
@raise WIN32OLERuntimeError オートメーションサーバの呼び出しに失敗しました。
理由はメッセージのHRESUL......のため、次の例のようにsetpropertyメソッドを利用して、パラメータ付きプ
ロパティを設定します。
excel = WIN32OLE.new('Excel.Application')
excel.visible = true
sheet = excel.Workbooks.Add.Worksheets[1]
sheet.setproperty(:Cells, 1, 2, 32)
sheet.set...