OpenOffice.orgの文書ドキュメントで、コメントを全削除したい、という話です。まずは検索・置換機能でコメントを抽出することを考えましたが、そのような機能は備わっておらず。ヘルプ検索やウェブ検索をしてみましたが、それらしき情報は見つからず。コメント編集ダイアログには、次のコメントへ移動するボタンがあります。中身を削除してから次へ移動、という方法を試したみましたが、異常終了。この現象は、再現します。ちなみに、中身を削除しなかった場合は次のコメントへ正常に移動できました。そして、最後に思いついたのが、この方法。
- ナビゲーターを開く。
- 次のコメントへ移動。
- そのコメントを削除。
- ナビゲーターを閉じる。
そして、この操作を記録したマクロが、こうなりました。以前OOo Basicを直接編集しようとしたこともありますが、ウェブ検索をしてもいまいち理解できず、諦めました。それができたら、もっと便利になるでしょうが。
REM ***** BASIC *****
sub Main
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Navigator"
args1(0).Value = true
dispatcher.executeDispatch(document, ".uno:Navigator", "", 0, args1())
rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ScrollNextPrev"
args2(0).Value = true
dispatcher.executeDispatch(document, ".uno:ScrollNextPrev", "", 0, args2())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Delete", "", 0, Array())
rem ----------------------------------------------------------------------
dim args4(0) as new com.sun.star.beans.PropertyValue
args4(0).Name = "Navigator"
args4(0).Value = false
dispatcher.executeDispatch(document, ".uno:Navigator", "", 0, args4())
end sub
0 件のコメント:
コメントを投稿