るりまサーチ (Ruby 3.0)

最速Rubyリファレンスマニュアル検索!
47件ヒット [1-47件を表示] (0.083秒)

別のキーワード

  1. _builtin to_i
  2. fiddle to_i
  3. matrix elements_to_i
  4. matrix i
  5. kernel $-i

検索結果

WIN32OLE#ole_query_interface(iid) -> WIN32OLE (27625.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#_invoke(dispid, args, types) -> object | nil (27343.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 (27343.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#ole_typelib -> WIN32OLE_TYPELIB (18625.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_TYPE#progid -> String | nil (18379.0)

selfのPROGIDを取得します。

...リ登録名です。WIN32OLE.newの引数に指定して
WIN32OLE
オブジェクトを生成できます。

@return selfのPROGIDを文字列で返します。selfがPROGIDを持たない、または
CoClassでない場合はnilを返します。

tobj = WIN32OLE_TYPE.new('Microsoft Exc...
...el 14.0 Object Library', 'Application')
p tobj.progid # => "Excel.Application.14"

この例は、ExcelのApplicationクラスが「Excel.Application.14」という
PROGIDを持つことを示します。

@see WIN32OLE.new...

絞り込み条件を変える

WIN32OLE_TYPE.progids -> [String] (18343.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_EVENT#on_event_with_outargs(event = nil) {|*args| ... } -> () (18325.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#return_type_detail -> [String] (18325.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_TYPE#guid -> String | nil (18325.0)

この型のGUID(グローバル一意識別子)を取得します。

...意識別子)を取得します。

@return GUIDを文字列で返します。GUIDを持たない型の場合はnilを返します。

tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'Application')
puts tobj.guid # => {00024500-0000-0000-C000-000000000046}

GUIDは、COMのク...

WIN32OLE_TYPE#visible? -> bool (18325.0)

この型が公開されているかどうかを照会します。

...この型が公開されているかどうかを照会します。

@return 公開されていれば真を返します。

tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'Application')
p tobj.visible? # => true...

絞り込み条件を変える

WIN32OLE (18061.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)...

WIN32OLE_TYPE (18043.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 (18043.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_EVENT (18025.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 (18025.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_VARIANT (18025.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_PARAM.new(ole_method, index) -> WIN32OLE_PARAM (9625.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#_getproperty(dispid, args, types) -> object (9397.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) -> () (9397.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_EVENT.new(ole, event = nil) -> WIN32OLE_EVENT (9361.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#each {|i|...} -> () (9346.0)

オブジェクトの列挙インターフェイスを呼び出してアイテム単位にブロックを 実行します。

...います。

@param i コレクション内のアイテム

@raise WIN32OLERuntimeError selfが列挙インターフェイスをサポートしてい
ない場合に通知します。

excel = WIN32OLE.new('Excel.Application')
book = excel.workbooks.add
sheets =...

WIN32OLE_EVENT#on_event(event = nil) {|*args| ... } -> () (9343.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_METHOD#return_type -> String (9343.0)

メソッドの返り値の型名を取得します。

...名を示す文字列を返します。
@raise WIN32OLERuntimeError メソッドの型情報を取得できなかった場合に通知します。

tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'Application')
method = WIN32OLE_METHOD.new(tobj, 'Visible')
puts method.return...
..._type # => BOOL

OLEオートメーションの型名は、対応するWIN32OLE::VARIANTの定数の先
頭の「VT_」を削除した名称を持ちます。

たとえば、32ビット符号付き整数であれば「I4」となります。

@see WIN32OLE::VARIANT...

WIN32OLE_TYPE#name -> String (9343.0)

selfの型名を取得します。

...selfの型名を取得します。

@return selfの型名を文字列で返します。

tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'Application')
p tobj.name # => "Application"...

WIN32OLE_TYPE#to_s -> String (9343.0)

selfの型名を取得します。

...selfの型名を取得します。

@return selfの型名を文字列で返します。

tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'Application')
p tobj.name # => "Application"...

絞り込み条件を変える

WIN32OLE_TYPE.new(libname, ole_class) -> WIN32OLE_TYPE (9343.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#ole_func_methods -> [WIN32OLE_METHOD] (9325.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] (9325.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 (9325.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 (9325.0)

メソッド名を指定して対応するWIN32OLE_METHODオブジェクトを取得しま す。

...WIN32OLE_METHODオブジェクトを取得しま
す。

OLEオートメーションの仕様により、メソッド名の大文字、小文字は区別されま
せん。

@param method メソッド情報を取り出す対象のメソッド名を文字列で指定します。
@return WIN32OLE_M...
...オブジェクト。
@raise WIN32OLERuntimeError 指定したメソッド名が未定義あるいは型情報ラ
イブラリ(TypeLib)が提供されていない場合など
に発生します。

excel = WIN32OLE.new('Excel.Application')...

絞り込み条件を変える

WIN32OLE#ole_methods -> [WIN32OLE_METHOD] (9325.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 (9325.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] (9325.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_type -> WIN32OLE_TYPE | nil (9325.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.connect(ole) -> WIN32OLE (9325.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.const_load(ole, mod = WIN32OLE) -> () (9325.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.new(server, host=nil) -> WIN32OLE (9325.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.ole_show_help(obj, helpcontext = nil) -> () (9325.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_METHOD#return_vtype -> Integer (9325.0)

メソッドの返り値の型を示す数値を取得します。

...す数値(VARENUM)を返します。
@raise WIN32OLERuntimeError メソッドの型情報を取得できなかった場合に通知します。

tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'Application')
method = WIN32OLE_METHOD.new(tobj, 'Visible')
puts method.retur...

WIN32OLE_TYPE#ole_type -> String | nil (9325.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_VARIANT.new(val, vartype = nil) -> WIN32OLE_VARIANT (9325.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#ole_free -> () (9061.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 (9025.0)

指定したメソッドをオブジェクトがサポートしているか調べます。

...ド名を文字列またはシンボルで指定します。

@return nameで指定したメソッドをオブジェクトが提供していれば真を返します。

excel = WIN32OLE.new('Excel.Application')
excel.ole_respond_to?(:quit) #=> true
excel.ole_respond_to?(:exit) #=> false...

WIN32OLE#setproperty(name, args..., val) -> () (9025.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) -> () (9025.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_EVENT#handler=(obj) -> () (9025.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 -> () (9025.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ですが、呼び出し時および既にキューイングされたメッ
セージ...