種類
- インスタンスメソッド (14)
- クラス (4)
- 特異メソッド (2)
クラス
- WIN32OLE (4)
-
WIN32OLE
_ EVENT (2) -
WIN32OLE
_ PARAM (2) -
WIN32OLE
_ TYPE (3) -
WIN32OLE
_ VARIABLE (5)
キーワード
-
WIN32OLE
_ EVENT (1) -
WIN32OLE
_ METHOD (1) -
WIN32OLE
_ TYPELIB (1) -
WIN32OLE
_ VARIABLE (1) - default (1)
-
default
_ event _ sources (1) - handler= (1)
- name (1)
-
ole
_ func _ methods (1) -
ole
_ get _ methods (1) -
ole
_ query _ interface (1) -
ole
_ type (1) -
ole
_ type _ detail (1) - output? (1)
- progids (1)
-
to
_ s (1) - value (1)
- variables (1)
検索結果
先頭5件
-
WIN32OLE
# each {|i| . . . } -> () (54346.0) -
オブジェクトの列挙インターフェイスを呼び出してアイテム単位にブロックを 実行します。
...います。
@param i コレクション内のアイテム
@raise WIN32OLERuntimeError selfが列挙インターフェイスをサポートしてい
ない場合に通知します。
excel = WIN32OLE.new('Excel.Application')
book = excel.workbooks.add
sheets =... -
WIN32OLE
# ole _ func _ methods -> [WIN32OLE _ METHOD] (25.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] (25.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 _ query _ interface(iid) -> WIN32OLE (25.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
_ EVENT (25.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
_ EVENT # handler=(obj) -> () (25.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
_ EVENT . message _ loop -> () (25.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 (25.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 # default -> object | nil (25.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 # output? -> bool (25.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?}... -
WIN32OLE
_ TYPE # default _ event _ sources -> [WIN32OLE _ TYPE] (25.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 # variables -> [WIN32OLE _ VARIABLE] (25.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
_ TYPE . progids -> [String] (25.0) -
システムに登録されているすべてのコンポーネントクラスのPROGIDを取得します。
...スのPROGIDを
文字列配列で返します。
excel = nil
WIN32OLE_TYPE.progids.each do |pg|
if pg =~ /excel\.application/i # ExcelのPROGIDをバージョン無視で取り出す
excel = WIN32OLE.new(pg)
break
end
end
unless excel
$stderr.puts "Excel i......exit(1)
end
excel.visible = true
# ...
excel.Quit
PROGIDは、生成可能なOLEオートメーションサーバのCoClass(コンポーネント
クラス)が持つレジストリ登録名です。WIN32OLE.newの引数に指定して
WIN32OLEオブジェクトを生成できます。... -
WIN32OLE
_ TYPELIB (25.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 (25.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
_ VARIABLE # name -> String (25.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 # ole _ type -> String (25.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] (25.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 # to _ s -> String (25.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 # value -> object | nil (25.0) -
変数の値を取得します。
...このような定数値を返します。
@return この変数が持つ定数値。値を持たない場合はnilを返します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'XlSheetType')
variables = tobj.variables
variables.each do |variable|
puts "#{variabl...