** [[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 |