110件ヒット
[1-100件を表示]
(0.077秒)
種類
- インスタンスメソッド (77)
- クラス (22)
- 特異メソッド (11)
クラス
- WIN32OLE (44)
-
WIN32OLE
_ EVENT (22) -
WIN32OLE
_ PARAM (11) -
WIN32OLE
_ TYPE (11)
キーワード
- WIN32OLE (11)
-
WIN32OLE
_ EVENT (11) -
_ getproperty (11) -
_ setproperty (11) -
default
_ event _ sources (11) - handler= (11)
-
ole
_ free (11) -
ole
_ respond _ to? (11) - output? (11)
検索結果
先頭5件
-
WIN32OLE
# ole _ free -> () (9114.0) -
selfが参照するCOMオブジェクトを解放します。
...elfが参照するCOMオブジェクトを解放します。
selfが参照するCOMオブジェクトのIUnknown::Releaseを呼び出すことで、COMオ
ブジェクトを開放します。ole_freeを呼び出した後は、このオブジェクトに対
する操作は行えません。
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')
workbook.Close(:SaveChanges => false)
workbook.ole_free
excel.ole_free
#... -
WIN32OLE
# ole _ respond _ to?(name) -> bool (9108.0) -
指定したメソッドをオブジェクトがサポートしているか調べます。
...ブジェクトがサポートしているか調べます。
OLEオートメーションサーバが引数で指定した名前のメソッド(プロパティ)を
サポートしているかどうかを調べます。
なお、OLEオートメーションの仕様により、メソッド名の......ド名を文字列またはシンボルで指定します。
@return nameで指定したメソッドをオブジェクトが提供していれば真を返します。
excel = WIN32OLE.new('Excel.Application')
excel.ole_respond_to?(:quit) #=> true
excel.ole_respond_to?(:exit) #=> false... -
WIN32OLE
_ EVENT # handler=(obj) -> () (9108.0) -
イベント処理を実行するオブジェクトを登録します。
...るにはnilを指定します。
class IeHandler
def initialize
@completed = false
end
attr_reader :completed
def onDocumentComplete(disp, uri)
disp.document.getElementsByTagName('a').each do |e|
puts "#{e.innerHTML}=#{e.href}"
end
@completed = tru......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
_ TYPE # default _ event _ sources -> [WIN32OLE _ TYPE] (6126.0) -
型が持つソースインターフェイスを取得します。
...型が持つソースインターフェイスを取得します。
default_event_sourcesメソッドは、selfがCoClass(コンポーネントクラス)
の場合、そのクラスがサポートするデフォルトのソースインターフェイス(イ
ベントの通知元となるイン......ターフェイス)を返します。
@return デフォルトのソースインターフェイスをWIN32OLE_TYPEの配列と
して返します。返すのは配列ですが、デフォルトのソースインターフェ
イスは最大でも1インターフェイスです。ソ......cp932
require 'win32ole'
type = WIN32OLE_TYPE.new('Microsoft Internet Controls', 'InternetExplorer')
ctl = WIN32OLE.new(type.progid)
source = type.default_event_sources[0]
class WebEvent
def initialize
@completed = false
end
attr_reader :completed
end
source.ole_methods.each d... -
WIN32OLE
_ EVENT . message _ loop -> () (6108.0) -
Windowsのメッセージポンプを実行します。
...Windowsのメッセージポンプを実行します。
message_loopメソッドは、Windowsメッセージがキューイングされている限りメッ
セージの読み出しとディスパッチを実行します。
COMのスレッド間/プロセス間通信はスレッド内で呼び出......知されます。
ie = WIN32OLE.new('InternetExplorer.Application.1')
event = WIN32OLE_EVENT.new(ie, 'DWebBrowserEvents2')
b = false
event.on_event('DocumentComplete') do |disp, uri|
disp.document.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
なお、メソッド名はloopですが、呼び出し時および既にキューイン... -
WIN32OLE (6020.0)
-
OLEオートメーションサーバをRubyで操作するためのクラスです。
...OLEオートメーションサーバをRubyで操作するためのクラスです。
Windowsの多くのアプリケーションやライブラリは、COMと呼ばれるAPI群を利用
して他のプログラムから操作できます。WIN32OLEがサポートしているのは、
COMのAPIの......るOLEオートメー
ション(IDispatchインターフェイス)とそれに付随するリフレクション用のイ
ンターフェイスです。
これらのインターフェイスをサポートしている代表的なWindowsアプリケーショ
ンに、Office、IE、iTunes、Illustr......できます。
=== サンプルコード
require 'win32ole'
excel = WIN32OLE.new('Excel.Application')
workbook = excel.Workbooks.Open('workbook.xls')
workbook.PrintOut
workbook.Close(:SaveChanges => false)
excel.Quit
なお、OLEオートメーションの仕様ではメソッド名... -
WIN32OLE
_ EVENT (6008.0) -
OLEオートメーションサーバからのイベント通知を制御するクラスです。
...OLEオートメーションサーバからのイベント通知を制御するクラスです。
OLEオートメーションサーバによっては、サーバの処理の過程でクライアントが
あらかじめ登録したメソッドを呼び出すものがあります。このサーバが......す。WIN32OLE_EVENTを利用
すると、ブロックの形式でイベントを受け取るメソッドをサーバへ登録できま
す。
=== サンプルコード
ie = WIN32OLE.new('InternetExplorer.Application.1')
event = WIN32OLE_EVENT.new(ie, 'DWebBrowserEvents2')
b = false
event.......DocumentComplete') do |disp, uri|
disp.document.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... -
WIN32OLE
_ PARAM # output? -> bool (3132.0) -
パラメータがクライアントからの結果を受け取るためのものかを判定します。
...受け取るためのものかを判定します。
OLEオートメーションのパラメータは、in(クライアントからサーバへ与える。
WIN32OLE_PARAM#input?が真)、out(サーバがクライアントへ与える。
WIN32OLE_PARAM#output?が真)および、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?}"
end
The result of above script is following:
URL false
Flags false
Tar......getFrameName false
PostData false
Headers false
Processed true
@see http://msdn.microsoft.com/en-us/library/aa367136(v=VS.85).aspx... -
WIN32OLE
# _ getproperty(dispid , args , types) -> object (3008.0) -
DISPIDとパラメータの型を指定してオブジェクトのプロパティを参照します。
...を指定します。引
数の順序は最左端の引数のインデックスを0とします。型の指定
には、WIN32OLE::VARIANTの定数を利用します。引数が不
要な場合は空配列を指定します。
このメソッドはCOMアーリ......ることを目的としたも
のです。このため、DLLの形式で型情報(TypeLib)を提供しているサーバに対
してはあまり意味を持ちません。
@return プロパティ値を返します。
@raise WIN32OLERuntimeError オートメーションサーバの呼び出し......k = 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... -
WIN32OLE
# _ setproperty(dispid , args , types) -> () (3008.0) -
DISPIDとパラメータの型を指定してオブジェクトのプロパティを設定します。
...バとのラウンドトリップを減らして処理速度を向上させることを目的としたも
のです。このため、DLLの形式で型情報(TypeLib)を提供しているサーバに対
してはあまり意味を持ちません。
@param dispid プロパティのDISPID(メ......
WIN32OLE::VARIANTの定数を利用します。
@raise WIN32OLERuntimeError オートメーションサーバの呼び出しに失敗しました。
理由はメッセージのHRESULTを調べてください。
DISPID_CELLS = 238
include WIN32OLE::VA......, [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
D...