OLEEVENTオーエルイーイベント関数

本ページには広告が含まれています。

イベント処理を定義します。

構文
OLEEVENT( オブジェクト, インタフェース名, イベント名, Procedure名 )
引数
オブジェクト (String)必須
COMオブジェクト
インタフェース名 (String)必須
ディスパッチ インタフェース名
イベント名 (String)必須
イベント名
Procedure名 (String)必須
UWSC側の呼び出される Procedure名
戻り値
OLEEVENT(オブジェクト) // オブジェクト指定のみにてイベントの解除
Procedure内にてイベントの引数は配列変数 EVENT_PRM[ ] に格納されている(配列はゼロから)

引数一覧

よく使いそうな引数の一覧です。

COM インターフェイス名 イベント名 説明
IE DWebBrowserEvents2 NavigateComplete2 windowオブジェクトやframesetエレメントからの移動が完了
IE DWebBrowserEvents2 DocumentComplete HTMLドキュメントが解析され、それをDHTMLオブジェクトモデルを通じてコンテンツにアクセスできるようになった時に発生します。
IE DWebBrowserEvents2 DownloadComplete ドキュメントが完全にダウンロードされると発生します。ナビゲーションが失敗した場合にも、このイベントが呼び出されます。
Outlook ApplicationEvents_11 NewMailEx メールを受信

プログラム実行例

メールの受信を検知(Outlook)

メールを受信したら日時を出力する。日時はメールの受信日時ではなくOutlookが受信を検知した日時。

UWSC
SETHOTKEY(VK_ESC, EMPTYPARAM, "forceQuit") 

DIM Outlook = GETACTIVEOLEOBJ("Outlook.Application")
OLEEVENT(Outlook, "ApplicationEvents_11", "NewMailEx", "receivedMail")

WHILE TRUE
	FUKIDASI("ESCで終了")
	SLEEP(0.001)
WEND

PROCEDURE forceQuit()
	EXITEXIT
FEND

PROCEDURE receivedMail()
	PRINT text(now(), "yyyy/mm/dd hh:nn:ss")
FEND

参考文献

  1. Scripting Object Interfaces (MSHTML) (Windows) | Microsoft Learn
  2. ApplicationEvents_11 Interface (Microsoft.Office.Interop.Outlook) | Microsoft Learn
  3. DWebBrowserEvents2 interface (Windows) | Microsoft Learn
  4. HTMLInputTextElementEvents2 (MSHTML)

関連記事

WshShell.LogEvent メソッド
イベントエントリをログファイルに追加します。