種類
- インスタンスメソッド (10)
- 特異メソッド (6)
クラス
- WIN32OLE (8)
-
WIN32OLE
_ METHOD (1) -
WIN32OLE
_ PARAM (2) -
WIN32OLE
_ TYPE (2) -
WIN32OLE
_ TYPELIB (1) -
WIN32OLE
_ VARIANT (2)
キーワード
- [] (1)
- []= (1)
-
_ getproperty (1) -
_ invoke (1) -
_ setproperty (1) - array (1)
- new (4)
-
ole
_ classes (1) -
ole
_ query _ interface (1) -
ole
_ type (1) -
ole
_ type _ detail (1) - setproperty (2)
検索結果
先頭5件
-
WIN32OLE
_ PARAM # ole _ type -> String (54643.0) -
パラメータの型名を取得します。
...返します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Workbook')
method = WIN32OLE_METHOD.new(tobj, 'SaveAs')
param1 = method.params[0]
puts param1.ole_type # => VARIANT
OLEオートメーションの型名は、対応するWIN32OLE::VARIANTの定数の先
頭......の「VT_」を削除した名称を持ちます。
たとえば、32ビット符号付き整数であれば「I4」となります。
@see WIN32OLE::VARIANT... -
WIN32OLE
_ PARAM # ole _ type _ detail -> [String] (54643.0) -
パラメータの属性を取得します。
...の属性を取得します。
@return 型の属性を文字列配列で返します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'IWorksheetFunction')
method = WIN32OLE_METHOD.new(tobj, 'SumIf')
param1 = method.params[0]
p param1.ole_type_detail # => ["PTR", "USER... -
WIN32OLE
# ole _ query _ interface(iid) -> WIN32OLE (45925.0) -
IID(インターフェイスID)を指定してオブジェクトの別のインターフェイスを 持つオブジェクトを取得します。
...return iidパラメータで指定したインターフェイスを持つWIN32OLEオブジェクト
@raise WIN32OLERuntimeError 指定したIIDをオブジェクトが持たない場合に通知されます。
ie = WIN32OLE.new('InternetExplorer.Application')
ie_web_app = ie.ole_query_inter......たOLEオートメーションサーバでは本メソッドが意味
を持つことはありません。というのは、2つ以上の異なるWIN32OLEで操作可能な
インターフェイスを持つということは、IID_IDispatch(OLEオートメーション
のインターフェイスID......っているため、静的に型を解決して
いる場合は、追加のメソッドの呼び出しを記述できません。
しかし、WIN32OLEが利用するIDispatchインターフェイスは、メソッド名による
動的なメソッド検索が行われます。このため、Soluti... -
WIN32OLE
_ TYPE . ole _ classes(libname) -> [WIN32OLE _ TYPE] (36925.0) -
TypeLibで定義されているすべての型情報を取得します。
...(WIN32OLE_TYPELIB#name)または
GUID(WIN32OLE_TYPELIB#guid)またはTLBファイル名を
文字列で指定します。
@return TypeLibに格納されているすべての型をWIN32OLE_TYPEオブジェクトの配列として返します。
@raise WIN32OLERun......types = WIN32OLE_TYPE.ole_classes('Microsoft Excel 14.0 Object Library')
classes = types.map{|k| k.name} # => ["Adjustments", "CalloutFormat", ...]
Ruby-1.9.1からは、TypeLibに定義されているすべての型を取得するには、
WIN32OLE_TYPELIBオブジェクトのWIN32OLE_TYPELIB... -
WIN32OLE
# setproperty(name , args . . . , val) -> () (27661.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... -
WIN32OLE
# setproperty(name , val) -> () (27661.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... -
WIN32OLE
_ VARIANT . array(dims , vt) -> WIN32OLE _ VARIANT (27643.0) -
配列用のVARIANTオブジェクトを生成します。
...WIN32OLE::VARIANTの定数で指定します。
@return 指定された次元/要素数を持つWIN32OLE_VARIANTオブジェクト。
次の例は、最初の次元が3要素、次の次元が4要素の2次元配列を生成する例です。
ole_ary = WIN32OLE_VARIANT.array([3,4], WIN32OLE::VA......RIANT::VT_I4)
ruby_ary = ole_ary.value # => [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
@see WIN32OLE_VARIANT#value, WIN32OLE::VARIANT... -
WIN32OLE
# _ getproperty(dispid , args , types) -> object (27361.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
# _ setproperty(dispid , args , types) -> () (27361.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
_ TYPELIB . new(libname , mjv = nil , miv = nil) -> WIN32OLE _ TYPELIB (18961.0) -
WIN32OLE_TYPELIBオブジェクトを生成します。
...WIN32OLE_TYPELIBオブジェクトを生成します。
@param libname 生成するTypeLibのレジストリ上のドキュメント文字列
(WIN32OLE_TYPELIB#name)または
GUID(WIN32OLE_TYPELIB#guid)またはTLBファイル名を
文字列で......。
@return libnameで指定したWIN32OLE_TYPELIBオブジェクトを返します。
@raise WIN32OLERuntimeError 引数で指定したTypeLibが見つかりません。
tlib1 = WIN32OLE_TYPELIB.new('Microsoft Excel 14.0 Object Library')
tlib2 = WIN32OLE_TYPELIB.new('{00020813-0000-0000-C0......0000000046}')
tlib3 = WIN32OLE_TYPELIB.new('{00020813-0000-0000-C000-000000000046}', 1.7)
tlib4 = WIN32OLE_TYPELIB.new('{00020813-0000-0000-C000-000000000046}', 1, 7)
tlib5 = WIN32OLE_TYPELIB.new("C:\\WINDOWS\\SYSTEM32\\SHELL32.DLL")
puts tlib1.name # => 'Microsoft Excel 14.0 Object... -
WIN32OLE
_ TYPE . new(libname , ole _ class) -> WIN32OLE _ TYPE (18643.0) -
WIN32OLE_TYPEオブジェクトを生成します。
...WIN32OLE_TYPEオブジェクトを生成します。
@param libname 生成するTypeLibのレジストリ上のドキュメント文字列
(WIN32OLE_TYPELIB#name)または
GUID(WIN32OLE_TYPELIB#guid)またはTLBファイル名を
文字列で指......ypeLIbに定義された型の情報を格納したWIN32OLE_TYPEオブジェクトを返します。
@raise WIN32OLERuntimeError TypeLibが見つかりません。またはole_classで指定した型が未定義です。
excel_app_type = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'A......pplication')
puts excel_app_type.progid # => "Excel.Application.14"
TypeLibに定義されているすべての型を取得するには、
WIN32OLE_TYPELIBオブジェクトのWIN32OLE_TYPELIB#ole_typesメ
ソッドを利用します。... -
WIN32OLE
_ METHOD . new(ole _ type , method) -> WIN32OLE _ METHOD (9943.0) -
WIN32OLE_TYPEとメソッド名を指定してWIN32OLE_METHODのインスタンス を生成します。
...WIN32OLE_TYPEとメソッド名を指定してWIN32OLE_METHODのインスタンス
を生成します。
OLEオートメーションサーバの型情報とメソッド名からWIN32OLE_METHODのイン
スタンスを生成します。
アプリケーションプログラムでは、WIN32OLE_METHO......WIN32OLE#ole_methodなどのメソッドを参照するほ
うが簡単です。
@param ole_type WIN32OLE_TYPEのインスタンス。
@param method メソッド名を文字列で指定します。
@return methodパラメータに対応するWIN32OLE_METHODのインスタンス。
@raise WIN32OLERu......ntimeError methodパラメータで指定したメソッドが見つかりません。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'Workbook')
method = WIN32OLE_METHOD.new(tobj, 'SaveAs')... -
WIN32OLE
# _ invoke(dispid , args , types) -> object | nil (9661.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
# []=(key . . . , value) -> () (9643.0) -
オブジェクトのデフォルトプロパティを設定します。
...ションにはデフォルトプロパティというプロパティ名を指定せず
にアクセスできるプロパティがあります。
WIN32OLEからデフォルトプロパティにアクセスするには、[]内に必要なキーを
記述します。
なおデフォルトプロパ......に設定する値を指定します。
@raise WIN32OLERuntimeError オートメーションサーバの呼び出しに失敗しました。
理由はメッセージのHRESULTを調べてください。
dict = WIN32OLE.new('Scripting.Dictionary')
dict[:a] = 0x41
d... -
WIN32OLE
_ VARIANT . new(val , vartype = nil) -> WIN32OLE _ VARIANT (9643.0) -
指定したオブジェクトを値とするWIN32OLE_VARIANTオブジェクトを生成します。
...ジェクトを値とするWIN32OLE_VARIANTオブジェクトを生成します。
@param val ラップするRubyオブジェクトを指定します。
@param vartype 省略時はWIN32OLEが自動型変換を行います。指定する場合は
WIN32OLE::VARIANTの定数を指定し......持つWIN32OLE_VARIANTオブジェクトを返します。
@raise TypeError val引数の型がArray、String、Integer、Float、Time、
WIN32OLE、WIN32OLE_VARIANT、TrueClass、FalseClass、
NilClass のいずれでもありません。
shell = WIN32OLE.new('......Shell.Application')
folder = shell.NameSpace('C:\\Users\\Public\\Documents')
item = folder.ParseName('test.txt')
v = WIN32OLE_VARIANT.new('Delete')
item.invokeVerb(v) # => ゴミ箱への移動ダイアログを表示
バイト配列を生成するには、以下のようにvartype... -
WIN32OLE
# [](key . . . ) -> object (9325.0) -
オブジェクトのデフォルトプロパティを参照します。
...ションにはデフォルトプロパティというプロパティ名を指定せず
にアクセスできるプロパティがあります。
WIN32OLEからデフォルトプロパティにアクセスするには、[]内に必要なキーを
「,」で区切って記述します。シンボル......を指定します。プロ
パティの特定に複数のキーが必要な場合は「,」で区切って列記します。
@return プロパティ値を返します。
fsys = WIN32OLE.new('Scripting.FileSystemObject')
fsys.Drives[:c].FreeSpace #=> Cドライブの空き容量...