2007-02-21

コメントを全削除したい

OpenOffice.orgの文書ドキュメントで、コメントを全削除したい、という話です。まずは検索置換機能でコメントを抽出することを考えましたが、そのような機能は備わっておらず。ヘルプ検索やウェブ検索をしてみましたが、それらしき情報は見つからず。コメント編集ダイアログには、次のコメントへ移動するボタンがあります。中身を削除してから次へ移動、という方法を試したみましたが、異常終了。この現象は、再現します。ちなみに、中身を削除しなかった場合は次のコメントへ正常に移動できました。そして、最後に思いついたのが、この方法。

  1. ナビゲーターを開く。
  2. 次のコメントへ移動。
  3. そのコメントを削除。
  4. ナビゲーターを閉じる。

そして、この操作を記録したマクロが、こうなりました。以前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 件のコメント: