種類
- インスタンスメソッド (101)
- 定数 (38)
- 特異メソッド (23)
- クラス (9)
- モジュール (1)
クラス
- WIN32OLE (45)
-
WIN32OLE
_ EVENT (8) -
WIN32OLE
_ METHOD (19) -
WIN32OLE
_ PARAM (10) -
WIN32OLE
_ TYPE (25) -
WIN32OLE
_ TYPELIB (13) -
WIN32OLE
_ VARIABLE (8) -
WIN32OLE
_ VARIANT (10)
モジュール
-
WIN32OLE
:: VARIANT (24)
キーワード
- ARGV (1)
-
CP
_ ACP (1) -
CP
_ MACCP (1) -
CP
_ OEMCP (1) -
CP
_ SYMBOL (1) -
CP
_ THREAD _ ACP (1) -
CP
_ UTF7 (1) -
CP
_ UTF8 (1) - Empty (1)
-
LOCALE
_ SYSTEM _ DEFAULT (1) -
LOCALE
_ USER _ DEFAULT (1) - Nothing (1)
- Null (1)
- VARIANT (1)
- VERSION (1)
-
VT
_ ARRAY (1) -
VT
_ BOOL (1) -
VT
_ BSTR (1) -
VT
_ BYREF (1) -
VT
_ CY (1) -
VT
_ DATE (1) -
VT
_ DISPATCH (1) -
VT
_ EMPTY (1) -
VT
_ ERROR (1) -
VT
_ I1 (1) -
VT
_ I2 (1) -
VT
_ I4 (1) -
VT
_ INT (1) -
VT
_ NULL (1) -
VT
_ PTR (1) -
VT
_ R4 (1) -
VT
_ R8 (1) -
VT
_ UI1 (1) -
VT
_ UI2 (1) -
VT
_ UI4 (1) -
VT
_ UINT (1) -
VT
_ UNKNOWN (1) -
VT
_ USERDEFINED (1) -
VT
_ VARIANT (1) - WIN32OLE (1)
- WIN32OLERuntimeError (1)
-
WIN32OLE
_ EVENT (1) -
WIN32OLE
_ METHOD (1) -
WIN32OLE
_ PARAM (1) -
WIN32OLE
_ TYPE (1) -
WIN32OLE
_ TYPELIB (1) -
WIN32OLE
_ VARIABLE (1) -
WIN32OLE
_ VARIANT (1) - [] (2)
- []= (2)
-
_ getproperty (1) -
_ invoke (1) -
_ setproperty (1) - array (1)
- codepage (1)
- codepage= (1)
- connect (1)
-
const
_ load (1) -
create
_ guid (1) - default (1)
-
default
_ event _ sources (1) -
default
_ ole _ types (1) - dispid (1)
- each (1)
- event? (1)
-
event
_ interface (1) - guid (2)
- handler (1)
- handler= (1)
- helpcontext (2)
- helpfile (2)
- helpstring (2)
-
implemented
_ ole _ types (1) - input? (1)
- inspect (1)
- invkind (1)
- invoke (1)
-
invoke
_ kind (1) -
library
_ name (1) - locale (1)
- locale= (1)
-
major
_ version (2) -
method
_ missing (1) -
minor
_ version (2) - name (5)
- new (7)
-
off
_ event (1) -
offset
_ vtbl (1) -
ole
_ activex _ initialize (1) -
ole
_ classes (2) -
ole
_ free (2) -
ole
_ func _ methods (1) -
ole
_ get _ methods (1) -
ole
_ method (1) -
ole
_ method _ help (1) -
ole
_ methods (2) -
ole
_ obj _ help (1) -
ole
_ put _ methods (1) -
ole
_ query _ interface (1) -
ole
_ reference _ count (1) -
ole
_ respond _ to? (1) -
ole
_ show _ help (1) -
ole
_ type (4) -
ole
_ type _ detail (2) -
ole
_ typelib (2) -
ole
_ types (1) -
on
_ event (1) -
on
_ event _ with _ outargs (1) - optional? (1)
- output? (1)
- params (1)
- path (1)
- progid (1)
- progids (1)
-
return
_ type (1) -
return
_ type _ detail (1) -
return
_ vtype (1) - retval? (1)
- setproperty (2)
-
size
_ opt _ params (1) -
size
_ params (1) -
source
_ ole _ types (1) -
src
_ type (1) -
to
_ s (5) - typekind (1)
- typelibs (2)
- unadvise (1)
- value (2)
- value= (1)
-
variable
_ kind (1) - variables (1)
- varkind (1)
- vartype (1)
- version (1)
- visible? (4)
検索結果
先頭5件
-
WIN32OLE
_ TYPE # implemented _ ole _ types -> [WIN32OLE _ TYPE] (45907.0) -
この型が実装するインターフェイスを取得します。
...ーフェイスをWIN32OLE_TYPEの
配列として返します。この型がインターフェイスを実装しない場合は、
空配列を返します。
@raise WIN32OLERuntimeError 型属性が取得できない場合に通知します。
tobj = WIN32OLE_TYPE.new('Microso... -
WIN32OLE
_ VARIABLE # ole _ type -> String (36307.0) -
変数の型を取得します。
...返します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'XlSheetType')
variables = tobj.variables
variables.each do |variable|
puts "#{variable.ole_type} #{variable.name}"
end
OLEオートメーションの型名は、対応するWIN32OLE::VARIANTの定数の先... -
WIN32OLE
_ VARIABLE # ole _ type _ detail -> [String] (36307.0) -
変数の型と属性を取得します。
...列で返します。
tobj = WIN32OLE_TYPE.new('Microsoft XML, v5.0', 'tagSTATSTG')
tobj.variables.each do |v|
puts "#{v.ole_type} [#{v.ole_type_detail.join(', ')}] #{v.name}"
end
出力結果
Unknown Type 31 [] pwcsName # => VT_LPWSTR はWIN32OLE::VARIANTで未定義なので変......eBits
UI4 [UI4] reserved
上例のように、WIN32OLE_VARIABLEで取得できる変数あるいはその元となる構造
体は、必ずしもOLEオートメーション互換データというわけではありません。こ
のようなデータはWIN32OLEからは利用できません。... -
WIN32OLE
_ VARIABLE # variable _ kind -> String (36307.0) -
変数の種類(VARKIND)を取得します。
...得します。
この変数の種類を示す文字列を返します。
@return VARKINDに対応する文字列を返します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'XlSheetType')
puts tobj.variables.map {|v| v.variable_kind}.uniq # => CONSTANT
返送値は......。構造体やユーザ定義体のフィールド。(0)
: STATIC
クラスの静的変数。(1)
: CONSTANT
定数。enumやモジュールのメンバ。(2)
: DISPATCH
変数アクセスにオートメーションを利用。旧型式のプロパティ。(3)
@see WIN32OLE_VARIABLE#varkind... -
WIN32OLE
_ VARIABLE # visible? -> bool (36307.0) -
変数の可視性を取得します。
...変数の可視性を取得します。
@return publicアクセス可能であれば真を返します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'XlSheetType')
puts tobj.variables.map {|v| v.visible?}.uniq # => true... -
WIN32OLE
_ VARIABLE (36007.0) -
OLEオートメーションの変数情報をRubyで参照するためのクラスです。
...す。
OLEオートメーションサーバは、定数(WIN32OLE.const_load)、メソッ
ド/プロパティ(WIN32OLE_METHOD)、イベント(WIN32OLE_EVENT)
のほかに変数をクライアントへ提供できます。WIN32OLE_VARIABLEクラスは、サー
バが提供する変数の......enumのメンバは定数として利用で
きます。
WIN32OLE_VARIABLEのオブジェクトは、WIN32OLE_TYPE#variablesメソッ
ドを利用して取得します。
=== サンプルコード
require 'win32ole'
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'XlSheetTy......pe')
variables = tobj.variables
variables.each do |variable|
puts "#{variable.name}=#{variable.value}"
end
実行結果は以下となります。
xlChart=-4109
xlDialogSheet=-4116
xlExcel4IntlMacroSheet=4
xlExcel4MacroSheet=3
xlWorksheet=-4167
@see WIN32OLE_TYPE#variables... -
WIN32OLE
_ TYPE # variables -> [WIN32OLE _ VARIABLE] (27907.0) -
型が持つ変数を取得します。
...、メンバ変数の情報を
WIN32OLE_VARIABLEオブジェクトの配列として返します。
@return 型が持つ変数情報をWIN32OLE_VARIABLEの配列として返します。
変数を持たない場合は空配列を返します。
@raise WIN32OLERuntimeError 型属性が取得......できない場合に通知します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'XlSheetType')
vars = tobj.variables
vars.each do |v|
puts "#{v.name} = #{v.value}"
end
上記を実行すると以下の出力が得られます。
xlChart = -4109
x......lDialogSheet = -4116
xlExcel4IntlMacroSheet = 4
xlExcel4MacroSheet = 3
xlWorksheet = -4167
@see WIN32OLE_VARIABLE... -
WIN32OLE
# ole _ func _ methods -> [WIN32OLE _ METHOD] (27607.0) -
オブジェクトのファンクション情報をWIN32OLE_METHODの配列として返し ます。
...をWIN32OLE_METHODの配列として返し
ます。
ole_func_methodsメソッドは、OLEオートメーションサーバのメソッドのうちファ
ンクション(何らかの機能的な操作)に属するものをWIN32OLE_METHODの
配列として返します。
@return WIN32OLE_METHO......Dの配列。
@raise WIN32OLERuntimeError オートメーションサーバの呼び出しに失敗しました。
型情報ライブラリ(TypeLib)が提供されていない場合などに発生します。
excel = WIN32OLE.new('Excel.Application')
excel.visible......= true
excel.ole_func_methods.each do |fun|
if fun.name.upcase == 'QUIT'
excel._invoke(fun.dispid, [], [])
break
end
end
@see WIN32OLE#ole_methods, WIN32OLE#ole_get_methods,
WIN32OLE#ole_put_methods... -
WIN32OLE
# ole _ get _ methods -> [WIN32OLE _ METHOD] (27607.0) -
オブジェクトの参照可能プロパティ情報をWIN32OLE_METHODの配列として 返します。
...報をWIN32OLE_METHODの配列として
返します。
ole_get_methodsメソッドは、OLEオートメーションサーバのメソッドのうち読
み取り可能なプロパティをWIN32OLE_METHODの配列として返します。
@return WIN32OLE_METHODの配列。
@raise WIN32OLERuntimeEr......xcel = WIN32OLE.new('Excel.Application')
excel.ole_get_methods.each do |prop|
begin
puts "#{prop.name}=#{excel._getproperty(prop.dispid, [], [])}"
rescue WIN32OLERuntimeError
puts "can't read #{prop.name} property"
end
end
@see WIN32OLE#ole_methods, WIN32OLE#ole_f......unc_methods,
WIN32OLE#ole_put_methods... -
WIN32OLE
# ole _ method(method) -> WIN32OLE _ METHOD (27607.0) -
メソッド名を指定して対応するWIN32OLE_METHODオブジェクトを取得しま す。
...るWIN32OLE_METHODオブジェクトを取得しま
す。
OLEオートメーションの仕様により、メソッド名の大文字、小文字は区別されま
せん。
@param method メソッド情報を取り出す対象のメソッド名を文字列で指定します。
@return WIN32OLE_M......オブジェクト。
@raise WIN32OLERuntimeError 指定したメソッド名が未定義あるいは型情報ラ
イブラリ(TypeLib)が提供されていない場合など
に発生します。
excel = WIN32OLE.new('Excel.Application')... -
WIN32OLE
# ole _ method _ help(method) -> WIN32OLE _ METHOD (27607.0) -
メソッド名を指定して対応するWIN32OLE_METHODオブジェクトを取得しま す。
...るWIN32OLE_METHODオブジェクトを取得しま
す。
OLEオートメーションの仕様により、メソッド名の大文字、小文字は区別されま
せん。
@param method メソッド情報を取り出す対象のメソッド名を文字列で指定します。
@return WIN32OLE_M......オブジェクト。
@raise WIN32OLERuntimeError 指定したメソッド名が未定義あるいは型情報ラ
イブラリ(TypeLib)が提供されていない場合など
に発生します。
excel = WIN32OLE.new('Excel.Application')... -
WIN32OLE
# ole _ methods -> [WIN32OLE _ METHOD] (27607.0) -
オブジェクトのメソッド情報をWIN32OLE_METHODの配列として返します。
...メソッド情報をWIN32OLE_METHODの配列として返します。
ole_methodsメソッドは、OLEオートメーションサーバが提供するすべてのメソッ
ドをWIN32OLE_METHODの配列として返します。
@return WIN32OLE_METHODの配列。
@raise WIN32OLERuntimeError オー......の呼び出しに失敗しました。
型情報ライブラリ(TypeLib)が提供されていない場合などに発生します。
excel = WIN32OLE.new('Excel.Application')
methods = excel.ole_methods
@see WIN32OLE#ole_func_methods, WIN32OLE#ole_put_methods... -
WIN32OLE
# ole _ obj _ help -> WIN32OLE _ TYPE | nil (27607.0) -
WIN32OLE_TYPEオブジェクトを返します。
...WIN32OLE_TYPEオブジェクトを返します。
WIN32OLE_TYPEオブジェクトは、WIN32OLEオブジェクトの文書情報と型情
報を保持するオブジェクトです。
@return オブジェクトに関連するWIN32OLE_TYPEオブジェクトを返します。
オブジェク......トがドキュメント情報を持たない場合はnilを返します。
excel = WIN32OLE.new('Excel.Application')
tobj = excel.ole_obj_help
@see WIN32OLE_TYPE... -
WIN32OLE
# ole _ put _ methods -> [WIN32OLE _ METHOD] (27607.0) -
オブジェクトの設定可能プロパティ情報をWIN32OLE_METHODの配列として 返します。
...ティ情報をWIN32OLE_METHODの配列として
返します。
ole_put_methodsメソッドは、OLEオートメーションサーバのメソッドのうちプ
ロパティ設定メソッドに属するものをWIN32OLE_METHODの配列として返し
ます。
@return WIN32OLE_METHODの配列。......た。
型情報ライブラリ(TypeLib)が提供されていない場合などに発生します。
excel = WIN32OLE.new('Excel.Application')
properties = excel.ole_put_methods
@see WIN32OLE#ole_methods, WIN32OLE#ole_func_methods,
WIN32OLE#ole_get_methods... -
WIN32OLE
# ole _ query _ interface(iid) -> WIN32OLE (27607.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
# ole _ type -> WIN32OLE _ TYPE | nil (27607.0) -
WIN32OLE_TYPEオブジェクトを返します。
...WIN32OLE_TYPEオブジェクトを返します。
WIN32OLE_TYPEオブジェクトは、WIN32OLEオブジェクトの文書情報と型情
報を保持するオブジェクトです。
@return オブジェクトに関連するWIN32OLE_TYPEオブジェクトを返します。
オブジェク......トがドキュメント情報を持たない場合はnilを返します。
excel = WIN32OLE.new('Excel.Application')
tobj = excel.ole_obj_help
@see WIN32OLE_TYPE... -
WIN32OLE
# ole _ typelib -> WIN32OLE _ TYPELIB (27607.0) -
オブジェクトに対応する型情報ライブラリ(TypeLib)を WIN32OLE_TYPELIBとして返します。
...オブジェクトに対応する型情報ライブラリ(TypeLib)を
WIN32OLE_TYPELIBとして返します。
OLEオートメーションではクラス、インターフェイス、メソッド、引数などの型
情報と文書情報を型情報ライブラリとして利用します。......Infoインターフェイス)で提供します。WIN32OLEは、このオブジェクト
をラップしてWIN32OLE_TYPELIBとして提供します。
@return オブジェクトに対応するWIN32OLE_TYPELIBオブジェクト。
@raise WIN32OLERuntimeError オートメーションサーバの呼......び出しに失敗しました。
型情報ライブラリ(TypeLib)が提供されていない場合などに発生します。
excel = WIN32OLE.new('Excel.Application')
tlib = excel.ole_typelib
puts tlib.name # => 'Microsoft Excel 9.0 Object Library'... -
WIN32OLE
. ole _ free(aWIN32OLE) -> Integer (27607.0) -
引数で指定したオブジェクトを解放します。
...解放します。
このメソッドは主にWIN32OLEのデバッグおよびWIN32OLEを利用するミドルウェ
アの実装のために用意されています。このため、メソッドの内部動作は不定で
す。COMの仕様とWIN32OLEの内部処理に熟知していない場合......は使用しないでくだ
さい。
@param aWIN32OLE 解放するWIN32OLEオブジェクト。
@return Releaseの戻り値。COMの仕様上は現在のオブジェクトの参照カウント
値を示します。... -
WIN32OLE
. ole _ reference _ count(aWIN32OLE) -> Integer (27607.0) -
引数で指定したオブジェクトの現在の参照カウント値を返します。
...を返します。
このメソッドは主にWIN32OLEのデバッグおよびWIN32OLEを利用するミドルウェ
アの実装のために用意されています。このため、メソッドの内部動作は不定で
す。COMの仕様とWIN32OLEの内部処理に熟知していない場合......は使用しないでくだ
さい。
@param aWIN32OLE 参照カウント値を求めるWIN32OLEオブジェクト。
@return AddRef呼び出し後のReleaseの戻り値。COMの仕様上は現在のオブジェ
クトの参照カウント値を示します。... -
WIN32OLE
_ TYPE # ole _ methods -> [WIN32OLE _ METHOD] (27607.0) -
型が持つメソッドのメタデータを取得します。
...タを取得します。
@return 型が持つメソッドのメタデータをWIN32OLE_METHODの配列として返します。
メソッドを持たない場合は空配列を返します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'Worksheet')
methods = tobj.ol......e_methods.map {|m| m.name }
# => ['QueryInterface', 'AddRef', 'Release',....]
@see WIN32OLE_METHOD... -
WIN32OLE
_ TYPE # ole _ typelib -> WIN32OLE _ TYPELIB | nil (27607.0) -
この型を登録してある型情報ライブラリ(TypeLib)を取得します。
...TypeLib)を取得します。
@return この型を登録しているTypeLibをWIN32OLE_TYPELIBオブジェクト
として返します。見つからない場合はnilを返します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'Worksheet')
puts tobj.ole_typel... -
WIN32OLE
_ TYPE # source _ ole _ types -> [WIN32OLE _ TYPE] (27607.0) -
型が持つソースインターフェイスを取得します。
...うにイベント(WIN32OLE_EVENT)をサポートし
ているコンポーネントクラスの場合は、このメソッドの呼び出しによりイベン
トインターフェイスを調べることが可能です。
@return ソースインターフェイスをWIN32OLE_TYPEの配列とし......て返します。
ソースインターフェイスを持たない場合は空配列を返します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'Worksheet')
tobj.source_ole_types.map {|intf| intf.name} #=> ["DocEvents"]... -
WIN32OLE
_ TYPE . ole _ classes(libname) -> [WIN32OLE _ TYPE] (27607.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
_ TYPELIB # ole _ classes -> [WIN32OLE _ TYPE] (27607.0) -
TypeLibに格納されているすべての型を取得します。
...挙子)、構造体などがあります。
@return TypeLibに格納されているすべての型をWIN32OLE_TYPEオブジェ
クトの配列として返します。
tlib = WIN32OLE_TYPELIB.new('Microsoft Excel 14.0 Object Library')
classes = tlib.ole_types.map{|k| k.name} # => ["... -
WIN32OLE
_ TYPELIB # ole _ types -> [WIN32OLE _ TYPE] (27607.0) -
TypeLibに格納されているすべての型を取得します。
...挙子)、構造体などがあります。
@return TypeLibに格納されているすべての型をWIN32OLE_TYPEオブジェ
クトの配列として返します。
tlib = WIN32OLE_TYPELIB.new('Microsoft Excel 14.0 Object Library')
classes = tlib.ole_types.map{|k| k.name} # => ["... -
WIN32OLE
# ole _ activex _ initialize -> nil (27307.0) -
ActiveXコントロール用の初期化を行います。
...出しがすべてエラーとなります。
@raise WIN32OLERuntimeError オブジェクトがActiveXコントロールの永続化イ
ンターフェイスを持たない場合に通知します。
obj = WIN32OLE.new("ProgID_or_GUID_of_ActiveX_Control")
obj.ole_......でないかを簡単に区別する方法はありません。
そのため、とりあえず普通にメソッドを呼び出し、その結果
WIN32OLERuntimeErrorが通知され、メッセージにHRESULT 0x8000ffffと示され
ている場合にのみ、オブジェクト生成直後に当メ... -
WIN32OLE
# ole _ free -> () (27307.0) -
selfが参照するCOMオブジェクトを解放します。
...に対
する操作は行えません。
excel = WIN32OLE.new('Excel.Application')
excel.ole_free # オブジェクトの解放
excel.Quit #=> RuntimeError (failed to get Dispatch Interface)
通常は利用されなくなったWIN32OLEオブジェクトはGCのタイミングで自動......中で生成される子オブジェクトからの逆参照などがあるため、
WIN32OLEがIUnknown::Releaseを呼び出してもオブジェクトが解放されるとは限
りません。
excel = WIN32OLE.new('Excel.Application')
workbook = excel.Workbooks.Open('workbook.xls')
workbo......参照されているexcelオブジェクトは解
放されません。それに対して下の例では正しく解放されます。
excel = WIN32OLE.new('Excel.Application')
books = excel.Workbooks
workbook = books.Open('workbook.xls')
books.ole_free
workbook.Close(:SaveChanges => fal... -
WIN32OLE
# ole _ respond _ to?(name) -> bool (27307.0) -
指定したメソッドをオブジェクトがサポートしているか調べます。
...ド名を文字列またはシンボルで指定します。
@return nameで指定したメソッドをオブジェクトが提供していれば真を返します。
excel = WIN32OLE.new('Excel.Application')
excel.ole_respond_to?(:quit) #=> true
excel.ole_respond_to?(:exit) #=> false... -
WIN32OLE
. locale -> Integer (27307.0) -
WIN32OLEがオートメーション呼び出し時に設定するロケール識別子(LCID)を取 得します。
...
WIN32OLEがオートメーション呼び出し時に設定するロケール識別子(LCID)を取
得します。
OLEオートメーションでは、UNIXで利用される"ja_JP"などの国名と言語名を「_」
で接続した文字列ではなく、32ビット整数で示します。32ビ......イマリ言語ID、10〜15ビットでサブ言語IDを示します。
ロード時の既定値はWIN32OLE::LOCALE_SYSTEM_DEFAULTです。
@return WIN32OLEがオートメーション呼び出し時に設定するロケール識別子
(LCID)を返します。
lcid = WIN32OLE.locale... -
WIN32OLE
. locale=(lcid) -> nil (27307.0) -
WIN32OLEがオートメーション呼び出し時に設定するロケール識別子(LCID)を設 定します。
...
WIN32OLEがオートメーション呼び出し時に設定するロケール識別子(LCID)を設
定します。
OLEオートメーションでは、UNIXで利用される"ja_JP"などの国名と言語名を「_」
で接続した文字列ではなく、32ビット整数で示します。32ビ......定します。
@raise WIN32OLERuntimeError システムにインストールされていないロケール
を指定すると発生します。
WIN32OLE.locale = 1033 # set locale English(U.S)
obj = WIN32OLE_VARIANT.new("$100,000", WIN32OLE::VARIANT::VT_CY)
オ......ソッド呼び出し時にDISP_E_UNKNOWNLCID(HRESULT error code:0x8002000C)や、TYPE_E_INVDATAREAD(HRESULT error code:0x80028018)などを理由としたWIN32OLERuntimeError例外となります。ほとんどすべての場合において、既定値を変更する必要はありません。... -
WIN32OLE
. ole _ show _ help(obj , helpcontext = nil) -> () (27307.0) -
WIN32OLEオブジェクトのヘルプファイルを表示します。
...
WIN32OLEオブジェクトのヘルプファイルを表示します。
Windows標準のヘルプ表示コンポーネントのHHCtrl.OCXを利用して、オブジェク
トに関連付けられたヘルプファイル(chmファイル)を表示します。
また、chmファイルのフル......aram obj WIN32OLE_TYPEオブジェクトまたはWIN32OLE_METHODオ
ブジェクト。直接ヘルプファイルのフルパス名を指定することも可
能です。
@param helpcontext obj引数にWIN32OLE_TYPEオブジェクトまたは
WIN32OLE_METHOD......ファイル
がインストールされていない場合 (failed to open
help file `ファイル名') に通知します。
excel = WIN32OLE.new('Excel.Application')
typeobj = excel.ole_obj_help
WIN32OLE.ole_show_help(typeobj) if typeobj.helpfile... -
WIN32OLE
:: LOCALE _ SYSTEM _ DEFAULT -> Integer (27307.0) -
システム既定のロケールを示すLCID(0x0800)です。WIN32OLEがオートメーショ ンを利用する場合の既定値です。
...システム既定のロケールを示すLCID(0x0800)です。WIN32OLEがオートメーショ
ンを利用する場合の既定値です。... -
WIN32OLE
:: LOCALE _ USER _ DEFAULT -> Integer (27307.0) -
ユーザ既定のロケールを示すLCID(0x0400)です。
ユーザ既定のロケールを示すLCID(0x0400)です。 -
WIN32OLE
_ EVENT # handler -> object (27307.0) -
WIN32OLE_EVENT#handler=メソッドで登録したイベントハンドラオブジェ クトを返します。
...WIN32OLE_EVENT#handler=メソッドで登録したイベントハンドラオブジェ
クトを返します。
@return イベントハンドラオブジェクト。未登録ならばnil。... -
WIN32OLE
_ EVENT # handler=(obj) -> () (27307.0) -
イベント処理を実行するオブジェクトを登録します。
...ie = WIN32OLE.new('InternetExplorer.Application.1')
event = WIN32OLE_EVENT.new(ie, 'DWebBrowserEvents2')
event.handler = IeHandler.new
ie.Navigate2 'http://www.ruby-lang.org/ja/'
loop do
break if event.handler.completed
WIN32OLE_EVENT.message_loop
end
ie.Quit
WIN32OLE_EVENT#... -
WIN32OLE
_ METHOD # helpfile -> String | nil (27307.0) -
ヘルプファイルのパス名を取得します。
...。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'Workbooks')
method = WIN32OLE_METHOD.new(tobj, 'Add')
puts method.helpfile # => C:\...\VBAXL9.CHM
メソッドにヘルプファイルが関連付けられている場合、WIN32OLE.ole_show_helpにWIN32OLE_METHODオブ......ジェクトを与えてヘルプファイルを表示できます。
@see WIN32OLE.ole_show_help... -
WIN32OLE
_ METHOD # visible? -> bool (27307.0) -
このメソッドがクライアントに対して公開されているか(可視性を持つか)ど うかを返します。
...て公開されているか(可視性を持つか)ど
うかを返します。
@return メソッドが公開されていれば真。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'Workbooks')
method = WIN32OLE_METHOD.new(tobj, 'Add')
puts method.visible? # => true... -
WIN32OLE
_ PARAM # ole _ type -> String (27307.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] (27307.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
_ TYPE # default _ ole _ types -> [WIN32OLE _ TYPE] (27307.0) -
型が持つデフォルトのインターフェイスを取得します。
...ポートし
ていればデフォルトのソースインターフェイスを返します。
@return デフォルトインターフェイスをWIN32OLE_TYPEの配列として返し
ます。デフォルトインターフェイスは、最大でも、クラス操作用のイ
ンタ......ターフェイスの2要素です。デフォルトインターフェイスを持たない
場合は空配列を返します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'Worksheet')
tobj.default_ole_types.map {|intf| intf.name} #=> ["_Worksheet", "DocEvents"]... -
WIN32OLE
_ TYPE # helpfile -> String | nil (27307.0) -
オブジェクトに関連付けられたヘルプファイルのフルパス名。
...ジェクトに関連付けられたヘルプファイルのフルパス名。
ここで返されたヘルプファイルを表示するには、
WIN32OLE#ole_show_helpメソッドを呼び出します。
オブジェクトがヘルプファイルを持たない場合はnilを返します。
@ret......未定義の場合はnilを返します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'Worksheet')
puts tobj.helpfile # => C:\...\VBAXL9.CHM
WIN32OLE.ole_show_help tobj.helpfile, tobj.helpcontext
# 注)WIN32OLE.ole_show_help(tobj) の呼び出しが望ましい... -
WIN32OLE
_ TYPE # ole _ type -> String | nil (27307.0) -
selfの型の種類(TYPEKIND)を取得します。
...取得します。
@return selfの型の種類を文字列で返します。情報が取得できない場合はnilを返します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'Application')
p tobj.ole_type # => Class
ole_typeには以下があります。
: Enum
列......コンポーネントクラス(InterfaceやDispatchの実装)(5)
: Alias
他の型の別名(6)
: Union
共用体(7)
: Max
型の種類を示す列挙体の終端マーカ(8)
MaxはTYPEKINDの終端マーカなので意味を持ちません。
@see WIN32OLE_TYPE#typekind... -
WIN32OLE
_ TYPE # visible? -> bool (27307.0) -
この型が公開されているかどうかを照会します。
...この型が公開されているかどうかを照会します。
@return 公開されていれば真を返します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'Application')
p tobj.visible? # => true... -
WIN32OLE
_ TYPELIB # visible? -> bool (27307.0) -
TypeLibの情報が公開情報かどうかを照会します。
...とみなして偽を返します。
@return TypeLibが公開可能であれば真を返します。
@raise WIN32OLERuntimeError TypeLibの属性が読み取れない場合に通知します。
tlib = WIN32OLE_TYPELIB.new('Microsoft Excel 14.0 Object Library')
puts tlib.visible? # => true... -
WIN32OLE
_ VARIABLE # value -> object | nil (27307.0) -
変数の値を取得します。
...このような定数値を返します。
@return この変数が持つ定数値。値を持たない場合はnilを返します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'XlSheetType')
variables = tobj.variables
variables.each do |variable|
puts "#{variabl... -
WIN32OLE
_ TYPELIB . typelibs -> [WIN32OLE _ TYPELIB] (18607.0) -
システムに登録されているすべてのTypeLibを取得します。
...システムに登録されているすべてのTypeLibを取得します。
@return 登録されているすべてのTypeLibを元にWIN32OLE_TYPELIBオブジェクト
の配列を返します。
tlibs = WIN32OLE_TYPELIB.typelibs... -
WIN32OLE
. const _ load(ole , mod = WIN32OLE) -> () (18307.0) -
OLEオートメーションサーバが保持する定数を読み込み、指定されたモジュール に組み込みます。
...み込む対象のWIN32OLEオブジェクトまたはタイプライブラ
リ名(文字列)を指定します。
@param mod 定数を定義する対象のモジュールを指定します。省略時は
WIN32OLEに組み込まれます。
@raise WIN32OLERuntimeError オ......規約に準じて、vbConstantsの
ように小文字で始まります。しかし、Rubyの定数は大文字で開始する規則のた
め、WIN32OLEによってVbConstantsのように自動的に先頭が大文字化されます。
また、先頭が英字で始まらない定数について......end
excel = WIN32OLE.new('Excel.Application')
WIN32OLE.const_load(excel, EXCEL_CONST)
puts EXCEL_CONST::XlTop # => -4160
puts EXCEL_CONST::CONSTANTS['_xlDialogChartSourceData'] # => 541
モジュール名を省略した例
WIN32OLE.const_load(excel)
puts WIN32OLE::XlTop # => -4... -
WIN32OLE
:: CP _ SYMBOL -> Integer (18307.0) -
文字コードの変換にシンボルを利用することを示します(42)。
文字コードの変換にシンボルを利用することを示します(42)。 -
WIN32OLE
:: VARIANT :: VT _ BOOL -> Integer (18307.0) -
真偽値を示します(11)。
真偽値を示します(11)。 -
WIN32OLE
:: VARIANT :: VT _ NULL -> Integer (18307.0) -
NULL型の値を示します(1)。
...NULL型の値を示します(1)。
WIN32OLE::VARIANT.VT_EMPTYと異なり、NULLという値(たとえばSQLパラ
メータでNULLを指定する場合など)を示します。... -
WIN32OLE
_ EVENT . message _ loop -> () (18307.0) -
Windowsのメッセージポンプを実行します。
...ト処理は
Windowsメッセージを読み取ってディスパッチすることで通知されます。
ie = WIN32OLE.new('InternetExplorer.Application.1')
event = WIN32OLE_EVENT.new(ie, 'DWebBrowserEvents2')
b = false
event.on_event('DocumentComplete') do |disp, uri|
disp.document.......by-lang.org/ja/downloads/ など
end
disp.quit
b = true
end
ie.Navigate2 'http://www.ruby-lang.org/ja/'
loop do
break if b
WIN32OLE_EVENT.message_loop
end
なお、メソッド名はloopですが、呼び出し時および既にキューイングされたメッ
セージ... -
WIN32OLE
_ METHOD # helpcontext -> Integer | nil (18307.0) -
メソッドのヘルプコンテキストを取得します。
...j = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'Workbooks')
method = WIN32OLE_METHOD.new(tobj, 'Add')
puts method.helpcontext # => 65717
WIN32OLE_METHODオブジェクトを引数として、WIN32OLE.ole_show_helpで
ヘルプファイルを表示する場合には、WIN32OLEが......内部で当メソッドを呼び出し
ます。
@see WIN32OLE.ole_show_help... -
WIN32OLE
_ METHOD # helpstring -> String | nil (18307.0) -
メソッドのヘルプ文字列を取得します。
...明する文字列です。
@return ヘルプ文字列を返します。未定義ならばnilを返します。
tobj = WIN32OLE_TYPE.new('Microsoft Internet Controls', 'IWebBrowser')
method = WIN32OLE_METHOD.new(tobj, 'Navigate')
puts method.helpstring # => Navigates to a URL or file.... -
WIN32OLE
_ METHOD # offset _ vtbl -> Integer (18307.0) -
このメソッドのVTBLのオフセットを取得します。
...出すために利用する関数ポインタのテーブルです。
@return メソッドのVTBL上のオフセットを返します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'Workbooks')
method = WIN32OLE_METHOD.new(tobj, 'Add')
puts method.offset_vtbl # => 40... -
WIN32OLE
_ METHOD # return _ type _ detail -> [String] (18307.0) -
返り値の型と属性を取得します。
...します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'Application')
method = WIN32OLE_METHOD.new(tobj, 'Workbooks')
p method.return_type_detail # => ["PTR", "USERDEFINED", "Workbooks"]
属性が付加されていない場合は、WIN32OLE_METHOD#return_typeを要... -
WIN32OLE
_ PARAM # default -> object | nil (18307.0) -
パラメータを指定しなかった場合の既定値を取得します。
...指定しなかった場合の既定値。必須パラメータならばnilを返します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Workbook')
method = WIN32OLE_METHOD.new(tobj, 'SaveAs')
method.params.each do |param|
if param.default
puts "#{param.nam... -
WIN32OLE
_ PARAM # optional? -> bool (18307.0) -
パラメータがオプションかどうかを取得します。
...@return パラメータがオプション(省略可能)であれば真を返します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Workbook')
method = WIN32OLE_METHOD.new(tobj, 'SaveAs')
param1 = method.params[0]
puts "#{param1.name} #{param1.optional?}" # =>... -
WIN32OLE
_ PARAM # retval? -> bool (18307.0) -
パラメータが戻り値かどうかを判定します。
...ます。
OLEオートメーションの規定では、メソッドの戻り値は引数リストの最右端のパ
ラメータをout属性(WIN32OLE_PARAM#output?が真)とすることで実現し
ます。ただし、そのパラメータをOLEオートメーション呼び出しを記述す......ータが戻り値として扱われる場合に真を返します。
tobj = WIN32OLE_TYPE.new('DirectX 7 for Visual Basic Type Library',
'DirectPlayLobbyConnection')
method = WIN32OLE_METHOD.new(tobj, 'GetPlayerShortName')
param = method.params[0]
puts "#{pa... -
WIN32OLE
_ TYPE # default _ event _ sources -> [WIN32OLE _ TYPE] (18307.0) -
型が持つソースインターフェイスを取得します。
...(イ
ベントの通知元となるインターフェイス)を返します。
@return デフォルトのソースインターフェイスをWIN32OLE_TYPEの配列と
して返します。返すのは配列ですが、デフォルトのソースインターフェ
イスは最大......bj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'Worksheet')
tobj.default_event_sources.map {|intf| intf.name} #=> ["DocEvents"]
WIN32OLE_EVENT.newでインターフェイス名を指定しない場合は、ここで
返されたインターフェイスが選択されます。
次......るために、
WIN32OLE_EVENT.message_loopの呼び出しが必要な点に注意してください。
ここでは最終イベントのStatusTextChangeイベントのメッセージについては既
知としています。
# coding : cp932
require 'win32ole'
type = WIN32OLE_TYPE.new('Micro... -
WIN32OLE
_ TYPE # helpcontext -> Integer | nil (18307.0) -
この型に関連するヘルプファイルのトピックID(ヘルプコンテキスト)を取得 します。
...。
@return 型に関連するヘルプコンテキストを整数で返します。ヘルプコンテキ
ストが登録されていない場合はnilを返します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'Worksheet')
puts tobj.helpcontext # => 131185... -
WIN32OLE
_ TYPE # helpstring -> String | nil (18307.0) -
型のドキュメント文字列を取得します。
...メント文字列を取得します。
@return ドキュメント文字列を返します。未定義の場合はnilを返します。
tobj = WIN32OLE_TYPE.new('Microsoft Internet Controls', 'IWebBrowser')
p tobj.helpstring # => "Web Browser interface"
ドキュメント文字列は、コ... -
WIN32OLE
_ TYPE . typelibs -> [String] (18307.0) -
システムに登録されているすべてのTypeLibのドキュメント文字列を取得します。
...メント文字列の配
列を返します。
Ruby-1.9.1からは、すべてのTypeLibのドキュメント文字列を取得するには、
WIN32OLE_TYPELIBオブジェクトを利用して、以下のように記述してくだ
さい。
WIN32OLE_TYPELIB.typelibs.map {|t| t.name}... -
WIN32OLE
_ TYPELIB # library _ name -> String (18307.0) -
TypeLibのヘルプファイル用ドキュメント文字列からTypeLibの名前を取得します。
...名前を取得します。
@return TypeLibの名前を文字列で返します。
@raise WIN32OLERuntimeError ドキュメント文字列が取得できなかった場合に通知します。
tlib = WIN32OLE_TYPELIB.new('Microsoft Excel 14.0 Object Library')
tlib.library_name # => Excel... -
WIN32OLE
_ VARIANT # value -> object (18307.0) -
値に対応するRubyオブジェクトを取得します。
...値に対応するRubyオブジェクトを取得します。
@return 値に対応するRubyのオブジェクトを返します。
obj = WIN32OLE_VARIANT.new(1, WIN32OLE::VARIANT::VT_BSTR)
obj.value # => "1" (VT_BSTRを指定して生成したので、Stringオブジェクトとなる)... -
WIN32OLE
_ VARIANT # value=(val) -> () (18307.0) -
WIN32OLE_VARIANTの値を再設定します。
...WIN32OLE_VARIANTの値を再設定します。
指定した値でselfを再設定します。指定値が元のVARIANT型に合わない場合は元
のVARIANT型に合うように引数を変換します。変換は、引数を一度VARIANT型に
変換してからCOMのVARIANT型変換関数(Va......ます。
@param val 設定値を指定します。
@raise WIN32OLERuntimeError selfが配列型です。あるいは、型変換に失敗し
ました。
obj = WIN32OLE_VARIANT.new(1) # VARIANT型にWIN32OLE::VARIANT::VT_I4を設定
obj.value = 3.2 # 3.2か......p obj.value # => 3 # VT_I4に変換した結果が設定される
selfが配列型のWIN32OLE_VARIANTの場合、バイト配列かつ引数が文字列の場合
を除いてWIN32OLERuntimeErrorを通知します。配列型の場合は、
WIN32OLE_VARIANT#[]=を利用してください。... -
WIN32OLE
_ VARIANT :: Null -> WIN32OLE _ VARIANT (18307.0) -
NULL型のWIN32OLE_VARIANTオブジェクトです。
...NULL型のWIN32OLE_VARIANTオブジェクトです。
このオブジェクトは、ADOなどのデータベースインターフェイスでNULLを指定す
るのに利用可能です。
@see WIN32OLE::VARIANT::VT_NULL... -
WIN32OLE (18007.0)
-
OLEオートメーションサーバをRubyで操作するためのクラスです。
...多くのアプリケーションやライブラリは、COMと呼ばれるAPI群を利用
して他のプログラムから操作できます。WIN32OLEがサポートしているのは、
COMのAPIのうち、特にインタープリタ用のインターフェイスであるOLEオートメー
シ......てWindowsの情報を操作することも可能です。これらの
プログラムをOLEオートメーションサーバと呼びます。
WIN32OLEオブジェクトは、OLEオートメーションサーバが提供するメソッドやプ
ロパティ(Rubyの属性に対応)をスクリ......、名前付き引数としてキーにパラメータ名、値に引数を指定できます。
=== サンプルコード
require 'win32ole'
excel = WIN32OLE.new('Excel.Application')
workbook = excel.Workbooks.Open('workbook.xls')
workbook.PrintOut
workbook.Close(:SaveChanges => false)... -
WIN32OLERuntimeError (18007.0)
-
COMインターフェイスエラー時に発生する例外です。
...COMインターフェイスエラー時に発生する例外です。
WIN32OLERuntimeErrorは、OLEオートメーション呼び出しが例外ステータス
(HRESULTのMSBがオン)で返った場合や、メソッド呼び出し時にオートメーショ
ン仕様で認められていな... -
WIN32OLE
_ EVENT (18007.0) -
OLEオートメーションサーバからのイベント通知を制御するクラスです。
...ベント」と呼びます。WIN32OLE_EVENTを利用
すると、ブロックの形式でイベントを受け取るメソッドをサーバへ登録できま
す。
=== サンプルコード
ie = WIN32OLE.new('InternetExplorer.Application.1')
event = WIN32OLE_EVENT.new(ie, 'DWebBrowserEvents......nt.getElementsByTagName('a').each do |e|
puts "#{e.innerHTML}=#{e.href}" #=> ダウンロード=http://www.ruby-lang.org/ja/downloads/ など
end
disp.quit
b = true
end
ie.Navigate2 'http://www.ruby-lang.org/ja/'
loop do
break if b
WIN32OLE_EVENT.message_loop
end... -
WIN32OLE
_ METHOD (18007.0) -
OLEオートメーションサーバが持つメソッドの情報を提供します。
...提供します。
WIN32OLE_METHODは、WIN32OLE#ole_methodsなどの呼び出しによって返さ
れるオブジェクトで、OLEオートメーションサーバのメソッドの情報(メタデー
タ)を保持します。
=== サンプルコード
excel = WIN32OLE.new('Excel.Applic.......name}(#{
method.params.map {|p| "#{p.ole_type} #{p.name}"}.join(', ')
}) : #{method.helpstring}
SIGNATURE
end
end
@see WIN32OLE#ole_methods, WIN32OLE#ole_func_methods, WIN32OLE#ole_get_methods, WIN32OLE#ole_put_methods, WIN32OLE#ole_method, WIN32OLE#ole_method_help, WIN32OLE_PARAM... -
WIN32OLE
_ PARAM (18007.0) -
OLEオートメーションサーバが持つメソッドのパラメータ情報を提供します。
...メータ情報を提供します。
WIN32OLE_PARAMは、WIN32OLE_METHODのパラメータのメタデータを保持し
ます。
=== サンプルコード
tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Workbook')
method = WIN32OLE_METHOD.new(tobj, 'SaveAs')
param......1 = method.params[0]
puts param1.name # => Filename
@see WIN32OLE_METHOD... -
WIN32OLE
_ TYPE (18007.0) -
WIN32OLE_TYPEオブジェクトは、型情報ライブラリ(TypeLib)内に定義された 1つの型情報を保持します。
...WIN32OLE_TYPEオブジェクトは、型情報ライブラリ(TypeLib)内に定義された
1つの型情報を保持します。
=== サンプルコード
require 'win32ole'
excel_app_type = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'Application')
puts excel_app_type.pro......lication.14"
Ruby-1.9.1以降、WIN32OLE_TYPELIBオブジェクトの
WIN32OLE_TYPELIB#ole_typesメソッドを利用して、型情報ライブラリ内
に定義されているすべての型情報をWIN32OLE_TYPEオブジェクトの配列として取
得できます。
@see WIN32OLE_TYPELIB... -
WIN32OLE
_ TYPELIB (18007.0) -
OLEオートメーションサーバの型情報ライブラリ(TypeLib)を操作するための クラスです。
...要求によって参照可能となりま
す。
WIN32OLE_TYPELIBクラスは、TypeLibを操作して各種情報を参照するためのオブ
ジェクトを生成します。
=== サンプルコード
require 'win32ole'
tlib = WIN32OLE_TYPELIB.new('Microsoft Excel 14.0 Object Library'......rsion = 1.7
creatable classes:
Application: PROGID=Excel.Application.14
Chart: PROGID=Excel.Chart.8
Worksheet: PROGID=Excel.Sheet.8
ここでは、Excelのクラスのうち、WIN32OLE.newで作成可能なクラスを引
数で指定する名前(PROGID)と共に示しています。... -
WIN32OLE
_ VARIABLE # name -> String (18007.0) -
変数名を取得します。
...変数名を取得します。
@return 変数名を文字列で返します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'XlSheetType')
variables = tobj.variables
variables.each do |variable|
puts "#{variable.name}" # => xlChart, xlDialogSheet, ...
end... -
WIN32OLE
_ VARIABLE # to _ s -> String (18007.0) -
変数名を取得します。
...変数名を取得します。
@return 変数名を文字列で返します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'XlSheetType')
variables = tobj.variables
variables.each do |variable|
puts "#{variable.name}" # => xlChart, xlDialogSheet, ...
end... -
WIN32OLE
_ VARIABLE # varkind -> Integer (18007.0) -
変数の種類(VARKIND)を取得します。
...@return VARKINDに対応する数値を返します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'XlSheetType')
puts tobj.variables.map {|v| v.varkind}.uniq # => 2
数値の意味については、WIN32OLE_VARIABLE#variable_kindの説明を参照してください。... -
WIN32OLE
_ VARIANT (18007.0) -
OLEオートメーションの標準型のVARIANTオブジェクトをRubyで利用するための クラスです。
...報は、WIN32OLE_VARIANT#vartypeで取得できます。
* 値は、WIN32OLE_VARIANT#valueで取得できます。
OLEオートメーションのメソッド呼び出し規約では、引数はVARIANT型の配列と
して定義されています。
この規約に対して、WIN32OLEでは、VA......この場合、WIN32OLEの実装は正しく処理されません。
WIN32OLE_VARIANTオブジェクトを利用すると、このようなOLEオートメーション
サーバのメソッド呼び出しに対して、VARIANT型の値を引数配列に設定すること
をWIN32OLEへ指示でき......ます。
なお、WIN32OLE_VARIANTを利用する必要の有無は、呼び出し対象のOLEオートメー
ションサーバの仕様または実装に依存します。
=== サンプルコード
shell = WIN32OLE.new('Shell.Application')
folder = shell.NameSpace('C:\\Users\\Public\\Doc... -
WIN32OLE
. connect(ole) -> WIN32OLE (9607.0) -
現在実行中のOLEオートメーションサーバに接続します。
...バを操作可能
なWIN32OLEオブジェクトが返ります。
@param ole 接続対象のサーバを示すPROGID、CLSIDまたはモニカ(別名)を指定します。
@return ole引数で特定されるWIN32OLEオブジェクトを返します。
@raise WIN32OLERuntimeError オートメ......出しに失敗しました。
理由はメッセージのHRESULTを調べてください。
WIN32OLE.connect('Excel.Application') # => WIN32OLE object which represents running Excel.
: PROGID
OLEオートメーションサーバを識別するための文字列。... -
WIN32OLE
_ EVENT . new(ole , event = nil) -> WIN32OLE _ EVENT (9607.0) -
OLEオートメーションサーバのイベント受信機構をオブジェクト化して返します。
...ト通知に利用するインター
フェイスを取得し、オブジェクトとして返します。
@param ole イベントの通知元のWIN32OLEオブジェクトを指定します。
@param event イベントのインターフェイスを示すインターフェイス名または......クトの既定のイベントインターフェイスを利用します。
@return 指定したオブジェクトのイベントを管理するWIN32OLE_EVENTオブジェクト。
@raise RuntimeError eventパラメータで指定したIIDが見つかりません。また
はオ......た例
ie = WIN32OLE.new('InternetExplorer.Application')
ev = WIN32OLE_EVENT.new(ie)
インターフェイス名を指定した例
ie = WIN32OLE.new('InternetExplorer.Application')
ev = WIN32OLE_EVENT.new(ie, 'DWebBrowserEvents2')
IIDを指定した例
ie = WIN32OLE.new('Internet... -
WIN32OLE
_ METHOD . new(ole _ type , method) -> WIN32OLE _ METHOD (9607.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
_ PARAM . new(ole _ method , index) -> WIN32OLE _ PARAM (9607.0) -
メソッドとパラメータ位置を指定してWIN32OLE_PARAMのインスタンスを作成します。
...メソッドとパラメータ位置を指定してWIN32OLE_PARAMのインスタンスを作成します。
アプリケーションプログラムでは、WIN32OLE_PARAMオブジェクトをnewメソッド
で生成するよりも、WIN32OLE_METHOD#paramsを参照するほうが簡単です。
@......ラメータがWIN32OLE_METHODのインスタンスではありません。
@raise IndexError indexパラメータが1からパラメータの数の範囲にありません。
@raise RuntimeError 該当メソッドのメタデータが取得できません。
excel = WIN32OLE.new('Excel.Applica......tion')
method = excel.ole_method('Run')
param1 = WIN32OLE_PARAM.new(method, 1)
puts "#{param1.ole_type} #{param1.name}"... -
WIN32OLE
_ TYPELIB . new(libname , mjv = nil , miv = nil) -> WIN32OLE _ TYPELIB (9607.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
# []=(key . . . , value) -> () (9307.0) -
オブジェクトのデフォルトプロパティを設定します。
...ションにはデフォルトプロパティというプロパティ名を指定せず
にアクセスできるプロパティがあります。
WIN32OLEからデフォルトプロパティにアクセスするには、[]内に必要なキーを
記述します。
なおデフォルトプロパ......に設定する値を指定します。
@raise WIN32OLERuntimeError オートメーションサーバの呼び出しに失敗しました。
理由はメッセージのHRESULTを調べてください。
dict = WIN32OLE.new('Scripting.Dictionary')
dict[:a] = 0x41
d... -
WIN32OLE
# _ invoke(dispid , args , types) -> object | nil (9307.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
# invoke(name , *args) -> object | nil (9307.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 (9307.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) -> () (9307.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) -> () (9307.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
. codepage=(cp) -> nil (9307.0) -
WIN32OLEがOLEオートメーションのインターフェイスに利用するコードページを 設定します。
...
WIN32OLEがOLEオートメーションのインターフェイスに利用するコードページを
設定します。
WIN32OLEは、OLEオートメーション呼び出しに利用する文字列のUnicode変換に
ここで設定したコードページを利用します。通常、WIN32OLEは......出す必
要があるのは、WIN32OLEをrequireしたスクリプトと異なるエンコーディングを
利用しているスクリプトや、異なるエンコーディングを利用しているファイル
から読み込んだ文字列を利用してWIN32OLEを呼び出す場合です。......@param cp コードページを指定します。
WIN32OLE.codepage = WIN32OLE::CP_UTF8... -
WIN32OLE
. new(server , host=nil) -> WIN32OLE (9307.0) -
OLEオートメーションサーバを生成します。
...ションサーバを生成し
ます。生成に成功した場合、該当サーバを操作可能なWIN32OLEオブジェクトが
返ります。
CLSIDおよびPROGIDについてはWIN32OLE.connectを参照してください。
@param server OLEオートメーションサーバを示すPROGID......引数で指定したWIN32OLEオブジェク
トを返します。
@raise WIN32OLERuntimeError オートメーションサーバの呼び出しに失敗しました。
理由はメッセージのHRESULTを調べてください。
WIN32OLE.new('Excel.Applicat......ion') # => Excel OLE Automation WIN32OLE object.
WIN32OLE.new('{00024500-0000-0000-C000-000000000046}') # => Excel OLE Automation WIN32OLE object.... -
WIN32OLE
_ EVENT # off _ event(event = nil) -> () (9307.0) -
WIN32OLE_EVENT#on_eventで登録したブロックを解除します。
...WIN32OLE_EVENT#on_eventで登録したブロックを解除します。
@param event 文字列またはシンボルで登録時に指定したイベント名を指定しま
す。nilの場合、WIN32OLE_EVENT#on_eventに対してnilを指定したブロッ
クを解除します。
ev = WIN32OLE_... -
WIN32OLE
_ EVENT # on _ event(event = nil) {|*args| . . . } -> () (9307.0) -
イベント通知を受けるブロックを登録します。
...は、
WIN32OLE_EVENT#on_event_with_outargsを利用してください。
@raise WIN32OLERuntimeError WIN32OLE_EVENT#unadviseによってイベン
トソースと切断済みです。
ie = WIN32OLE.new('InternetExplorer.Application')
ev = WIN32OLE_EVENT.......、通知されたイベントに対応するブロックがあれば
そちらだけが呼び出されます。
ie = WIN32OLE.new('InternetExplorer.Application')
ev = WIN32OLE_EVENT.new(ie, 'DWebBrowserEvents2')
ev.on_event("NavigateComplete2") do |browser, url|
puts url
end
ev.on_e... -
WIN32OLE
_ EVENT # on _ event _ with _ outargs(event = nil) {|*args| . . . } -> () (9307.0) -
イベント通知を受けて結果を呼び出し元へ返すブロックを登録します。
...ッド名を指定します。引数を省略した場合は、すべて
のイベントを対象とするブロックの登録となります。
WIN32OLE_EVENT#on_eventと異なり、イベントのブロック変数に戻り値を
設定できます。
@param event イベント名を文字列か......配列の形式で受けてください。
@raise WIN32OLERuntimeError WIN32OLE_EVENT#unadviseによってイベン
トソースと切断済みです。
ie = WIN32OLE.new('InternetExplorer.Application')
ev = WIN32OLE_EVENT.new(ie, 'DWebBrowserEvents2')
ev.on_event... -
WIN32OLE
_ METHOD # event? -> bool (9307.0) -
メソッドがイベントかどうかを取得します。
...を受けるために実装するメソッドです。
@return メソッドがイベントであれば真。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'Workbook')
method = WIN32OLE_METHOD.new(tobj, 'SheetActivate')
puts method.event? # => true
@see WIN32OLE_EVENT... -
WIN32OLE
_ METHOD # event _ interface -> String | nil (9307.0) -
メソッドがイベントの場合、イベントのインターフェイス名を取得します。
...ベントのインターフェイス名を返し
ます。イベントでなければnilを返します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'Workbook')
method = WIN32OLE_METHOD.new(tobj, 'SheetActivate')
puts method.event_interface # => WorkbookEvents... -
WIN32OLE
_ METHOD # params -> [WIN32OLE _ PARAM] (9307.0) -
メソッドのパラメータ情報を取得します。
...パラメータをWIN32OLE_PARAMの配列として返します。配
列の最初の要素が最左端のパラメータに対応します。
@return WIN32OLE_PARAMの配列。無引数のメソッドであれば要素数0の配
列を返します。
tobj = WIN32OLE_TYPE.new('Microsoft......Excel 14.0 Object Library', 'Workbook')
method = WIN32OLE_METHOD.new(tobj, 'SaveAs')
p method.params # => [Filename, FileFormat, Password, WriteResPassword,
ReadOnlyRecommended, CreateBackup, AccessMode,
ConflictResolution, AddToMru, TextCodepa... -
WIN32OLE
_ METHOD # size _ opt _ params -> Integer | nil (9307.0) -
オプションパラメータ数を取得します。
...パラメータ数を整数で返します。メソッドの詳細情報を取
得できない場合はnilを返します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'Workbook')
method = WIN32OLE_METHOD.new(tobj, 'SaveAs')
puts method.size_opt_params # => 5... -
WIN32OLE
_ METHOD # size _ params -> Integer | nil (9307.0) -
パラメータ数を取得します。
...パラメータ数を整数で返します。メソッドの詳細情報を取得できない
場合はnilを返します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'Workbook')
method = WIN32OLE_METHOD.new(tobj, 'SaveAs')
puts method.size_params # => 12... -
WIN32OLE
_ PARAM # input? -> bool (9307.0) -
パラメータがクライアントからサーバへ与えるものかを判定します。
...OLEオートメーションのパラメータは、in(クライアントからサーバへ与える。
WIN32OLE_PARAM#input?が真)、out(サーバがクライアントへ与える。
WIN32OLE_PARAM#output?が真)および、inout(クライアントからサーバ
へ与え、サーバがク......ます。
@return メソッドの方向属性がinまたはinoutならば真を返します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Workbook')
method = WIN32OLE_METHOD.new(tobj, 'SaveAs')
param1 = method.params[0]
puts param1.input? # => true
@see http://msd... -
WIN32OLE
_ PARAM # output? -> bool (9307.0) -
パラメータがクライアントからの結果を受け取るためのものかを判定します。
...OLEオートメーションのパラメータは、in(クライアントからサーバへ与える。
WIN32OLE_PARAM#input?が真)、out(サーバがクライアントへ与える。
WIN32OLE_PARAM#output?が真)および、inout(クライアントからサーバ
へ与え、サーバがク......す。
@return メソッドの方向属性がoutまたはinoutならば真を返します。
tobj = WIN32OLE_TYPE.new('Microsoft Internet Controls', 'DWebBrowserEvents')
method = WIN32OLE_METHOD.new(tobj, 'NewWindow')
method.params.each do |param|
puts "#{param.name} #{param.output?}...