*イベント [#fbae09dc] ツール - カスタマイズで設定できるイベント イベントはアプリケーションと各ドキュメントに保存されます。 #contents **イベントの種類 [#a6c3cb17] API を利用して設定できるイベントは GUI から設定できるイベントの種類よりも多数あります。 |イベント名|| |OnStartApp|アプリケーションの開始| |OnCloseApp|アプリケーションの終了| |OnNew|新規ドキュメント作成| |OnLoad|ドキュメント読み込み| |OnSaveAs|ドキュメント名前を付けて保存時| |OnSaveAsDone|ドキュメント名前を付けて保存終了時| |OnSave|ドキュメント上書き時| |OnSaveDone|ドキュメント上書き終了時| |OnPrepareUnload|| |OnUnload|| |OnFocus|フォーカス時| |OnUnfocus|フォーカス失時| |OnPrint|印刷時| |OnModifyChanged|編集ステータス変更時| |OnCopyTo|| |OnCopyToDone|| |OnViewCreated|ビューが作成されたとき| |OnPrepareViewClosing|| |OnViewClosed|| |OnVisAreaChanged|| |OnCreate|| |OnLoadFinished|読み込み完了時| |OnSaveAsFailed|名前を付けて保存失敗時| |OnSaveFailed|上書き失敗時| |OnCopyToFailed|| |TitleChanged|| |OnMailMerge|| |OnPageCountChange|| **ドキュメントイベントコンテナ [#lc9a5e96] イベントコンテナオブジェクトはドキュメントモデルオブジェクトから取得します。 Sub getEventsContainer() oDoc = ThisComponent oEvents = oDoc.getEvents() End Sub **アプリケーションイベントコンテナ [#l9479c34] アプリケーションのイベントコンテナは com.sun.star.frame.GlobalEventBroadcaster サービスから取得します。 oGlobalEB = CreateUnoService("com.sun.star.frame.GlobalEventBroadcaster") oEvents = oGlobalEB.getEvents() **イベントの設定 [#h7d7e72a] 各イベントは com.sun.star.document.EventDescriptor サービスのプロパティを利用して com.sun.star.beans.PropertyValue で指定します。 Dim oProps(1) As New com.sun.star.beans.PropertyValue oProps(0).Name = "EventType" oProps(1).Name = "Script" oProps(0).Value = "Script" oProps(1).Value = _ "vnd.sun.star.script:Standard.Module1.DocEv?language=Basic&location=document" oEvents.replaceByName("OnFocus",oProps) ''EventType'' には Script を指定します。また、''Script'' に実行するスクリプトの URL を指定します。 |