Top > OOoBasic > Generic > Modifiable

編集ステータス Edit

編集されたかどうかの判断やそのステータスを、変更に関係なく変更できます。

変更ステータス Edit

変更ステータスを確認します。isModified メソッドを利用します。

Sub modifiable_1
  oDoc = ThisComponent
  msgbox oDoc.isModified()
End Sub

変更ステータスの変更は setModified メソッドで行います。

Sub modifieable_2
  oDoc = ThisComponent
  oDoc.setModified(true)
End Sub

変更リスナー Edit

変更ステータスの変化のためのリスナー 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 メソッドで削除します。

変更ステータスを不可に Edit

変更されたときのステータスを不可にして変更があった場合でも 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 ではパフォーマンス向上などにとあります。


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