Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > win32oleライブラリ > WIN32OLE_EVENTクラス > on_event
on_event(event = nil) {|*args| ... } -> ()
[permalink][rdoc]イベント通知を受けるブロックを登録します。
引数にはイベントのメソッド名を指定します。引数を省略した場合は、すべて のイベントを対象とするブロックの登録となります。
ie = WIN32OLE.new('InternetExplorer.Application') ev = WIN32OLE_EVENT.new(ie, 'DWebBrowserEvents2') ev.on_event("NavigateComplete2") do |browser, url| puts url end
同じオブジェクトに対してeventパラメータを指定したブロックと指定しないブ ロックが混在している場合、通知されたイベントに対応するブロックがあれば そちらだけが呼び出されます。
ie = WIN32OLE.new('InternetExplorer.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 ...
当メソッドはイベント名の大文字小文字を区別するほか、イベント名の存在確 認を行いません。このため、誤ったイベント名を記述してもエラーとはならず、 単にイベントを受け取れなくなります。