編集ステータス
編集されたかどうかの判断やそのステータスを、変更に関係なく変更できます。 変更ステータス
変更ステータスを確認します。isModified メソッドを利用します。 Sub modifiable_1 oDoc = ThisComponent msgbox oDoc.isModified() End Sub 変更ステータスの変更は setModified メソッドで行います。 Sub modifieable_2 oDoc = ThisComponent oDoc.setModified(true) End Sub 変更リスナー
変更ステータスの変化のためのリスナー com.sun.star.util.XModifyListener があります。メンバーのメソッドは modified です。 Sub modifiable_4 oDoc = ThisComponent oModifiedListener = CreateUnoListener( _ "DocModified_","com.sun.star.util.XMofifyListener") oDoc.addModifyListener(oModifiedListener) End Sub Sub DocModified_modified( oEv As com.sun.star.lang.EventObject ) msgbox oEv.Source.CurrentController.Frame.Title & " modified." End Sub Sub DocModified_disposing( oEv As com.sun.star.lang.EventObject ) End Sub リスナーは addModifyListener メソッドで削除します。 変更ステータスを不可に
変更されたときのステータスを不可にして変更があった場合でも isModified メソッドで取得できるステータスを変更しないようにします。 Sub modifiable_5 oDoc = ThisComponent If NOT oDoc.isSetModifiedEnabled() Then ' 状態のチェック oDoc.disableSetModified() ' 無効にする End If ' do something oDoc.enableSetModified() ' 有効にする End Sub com.sun.star.util.XModifiable2 ではパフォーマンス向上などにとあります。 |