** [[OOobbs2/122]] [#oecc5fdf] -''サマリ'': イベントの実行をキャンセルする方法 -''環境'': General -''状態'': 未解決 -''投稿者'': [[ジョジョ?]] -''投稿日'': 2008-08-08 (金) 14:29:51 *** 質問 [#f44c2e1c] たとえば、「ドキュメントを閉じる」に割り付けたマクロの処理内で条件によっては「ドキュメントを閉じる」イベントをキャンセルしたいのですが方法がわかりません。 ExcelのWorkbook_BeforeClose()でCancel=Trueとしたときのようにしたいのです。 XEventListenerでイベントを受ける方法もあるかと思うのですが、こちらもキャンセル方法がわかりませんでした。 *** 回答 [#f11fc62d] - &idlref(com.sun.star.util.XCloseListener,close); されるときキャンセルするには &idlref(com.sun.star.util.CloseVetoException); 例外を送出することでキャンセルすることができることになっています。が、OpenOffice.org Basic では例外を送出できません。その他の言語で例外の送出が可能であれば、イベントやリスナー内で CloseVetoException 例外を送出してキャンセルさせることができます。 OOo Basic では以前は例外を作成することさえできませんでしたが、2.4 ごろに例外を作成できるようになりました。しかし、まだ例外を送出することはできません (OOo 2.4.1)。 -- はにゃ? &new{2008-08-08 (金) 17:41:42}; #comment *** 感想,コメント,メモ [#yde7792b] #comment |