Top > OOobbs3 > 127
** [[OOobbs3/127]] [#oc6fc91d]
-''サマリ'': イベントのキャンセルの仕方を教えてください
-''環境'': General
-''状態'': 未解決
-''投稿者'': [[しづき]]
-''投稿日'': 2014-08-28 (木) 09:53:07

*** 質問 [#y371edd2]
初めまして
「文書が閉じられる直前」イベントにマクロを割り当てているのですが、VBAで言うところの「Cancel=true」にあたる動作が解らなくて困っています。
あちこち調べたのですが、どうにも見つからないのでよろしくお願いします。
*** 回答 [#n834218a]
- ツール - カスタマイズ - イベントから行える方法では、不可能です。ドキュメントが閉じられることをキャンセルするには、ドキュメントのcom.sun.star.util.XCloseBroadcasterインターフェースにcom.sun.star.util.XCloseListenerを追加し、queryClosingメソッドが呼ばれた際に com.sun.star.util.CloseVetoExceptionを送出する方法があります。この方法は、例外を送出できない Basic では不可能です。 -- はにゃ? &new{2014-08-28 (木) 20:23:41};
- 返信ありがとうございます。basicでは不可能だという事が解っただけで大収穫です。queryclosingのタイミングでpythonからなげてみます。ありがとうございました。 -- しづき &new{2014-08-29 (金) 14:09:13};
- 試してみたんですが、queryClosingが呼ばれた時点ですでにドキュメントが閉じているため、この方法では駄目ですね。 -- しづき &new{2014-08-29 (金) 15:52:24};
- 以前は動作した気がしますが・・・。フレームオブジェクトにXCloseListenerを追加すると、フレームごとドキュメントを閉じようとした時には queryClosing からキャンセルできますねぇ。しかし、ファイル - 閉じるではフレーム内のドキュメントのみが閉じてしまいます。 -- はにゃ? &new{2014-08-29 (金) 20:37:54};

#comment
*** 感想,コメント,メモ [#w2719f68]

#comment

Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup   Help   RSS of recent changes