300件ヒット
[1-100件を表示]
(0.013秒)
種類
- インスタンスメソッド (192)
- クラス (60)
- 特異メソッド (36)
- 定数 (12)
クラス
- WIN32OLE (72)
-
WIN32OLE
_ EVENT (48) -
WIN32OLE
_ PARAM (24) -
WIN32OLE
_ TYPE (36) -
WIN32OLE
_ VARIABLE (60)
キーワード
- ARGV (12)
- WIN32OLE (12)
-
WIN32OLE
_ EVENT (12) -
WIN32OLE
_ METHOD (12) -
WIN32OLE
_ TYPELIB (12) -
WIN32OLE
_ VARIABLE (12) -
const
_ load (12) - default (12)
-
default
_ event _ sources (12) - each (12)
- handler= (12)
- name (12)
-
ole
_ func _ methods (12) -
ole
_ get _ methods (12) -
ole
_ query _ interface (12) -
ole
_ type (12) -
ole
_ type _ detail (12) -
on
_ event (12) -
on
_ event _ with _ outargs (12) - output? (12)
- progids (12)
-
to
_ s (12) - value (12)
- variables (12)
検索結果
先頭5件
-
WIN32OLE
_ TYPE # default _ event _ sources -> [WIN32OLE _ TYPE] (44.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
_ EVENT # handler=(obj) -> () (38.0) -
イベント処理を実行するオブジェクトを登録します。
...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 = true
end
def method_missing(id, *args)
pu......d
end
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... -
WIN32OLE
# ole _ query _ interface(iid) -> WIN32OLE (20.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
:: ARGV -> [object] (20.0) -
直前のメソッド呼び出しの引数を格納した配列です。
...+ Operand
End If
End Sub
# Ruby
x = 10
obj.Accm '*', x, 11
p x # => 10 …… 呼び出しによって影響を受けない
p WIN32OLE::ARGV # => ['*', 110, 11] …… 結果はARGVの対応する引数に反映される
obj.Accm '+', 10, 11
p WIN32OLE::ARGV #......]
直前のメソッド呼び出しが例外となった場合、ARGVの設定内容は呼び出し前の
状態が保たれます。つまり、WIN32OLE自身がARGVの内容を消去するのは、メソッ
ド呼び出しに成功した場合のみです。このため最後のメソッド呼び......VB (OLE Automation server)
Public Sub GetInterface(ByRef obj)
Set Obj = New OleObject
End Sub
# Ruby
obj.GetInterface nil # 引数の数を合わせるためダミー引数を指定
WIN32OLE::ARGV.clear # 通常は、後続のメソッド呼び出しによって消去される... -
WIN32OLE
_ EVENT (20.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 # on _ event(event = nil) {|*args| . . . } -> () (20.0) -
イベント通知を受けるブロックを登録します。
...は、
WIN32OLE_EVENT#on_event_with_outargsを利用してください。
@raise WIN32OLERuntimeError WIN32OLE_EVENT#unadviseによってイベン
トソースと切断済みです。
ie = WIN32OLE.new('InternetExplorer.Application')
ev = WIN32OLE_EVENT.......puts url
end
同じオブジェクトに対してeventパラメータを指定したブロックと指定しないブ
ロックが混在している場合、通知されたイベントに対応するブロックがあれば
そちらだけが呼び出されます。
ie = WIN32OLE.new('Inter......netExplorer.Application')
ev = WIN32OLE_EVENT.new(ie, 'DWebBrowserEvents2')
ev.on_event("NavigateComplete2") do |browser, url|
puts url
end
ev.on_event do |*args| # <- NavigateComplete2イベント時は実行されない
puts args[0]
end
...
当メソッドはイベント名... -
WIN32OLE
_ EVENT . message _ loop -> () (20.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.......ef}" #=> ダウンロード=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
_ TYPE . progids -> [String] (20.0) -
システムに登録されているすべてのコンポーネントクラスの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 isn't installed"
exit(1)
end
excel.visible = tr......ue
# ...
excel.Quit
PROGIDは、生成可能なOLEオートメーションサーバのCoClass(コンポーネント
クラス)が持つレジストリ登録名です。WIN32OLE.newの引数に指定して
WIN32OLEオブジェクトを生成できます。... -
WIN32OLE
# ole _ func _ methods -> [WIN32OLE _ METHOD] (14.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...