はじめに 
マクロを始める前に、マクロを始める前の注意点と、マクロを書いているときの注意点を簡単にまとめてあります。
マクロを始める前に 
まず、まったくマクロを書いたことがない人は、「マクロでやろうと思うこと」もしくは「マクロが必要じゃないかと思うこと」がほんとにマクロが必要かどうか考えなおしてみてください。
案外知らない機能でできることがあります。表計算上でやろうとせずにデータベースにいれてやるとできることが増えます。
明らかにマクロで行なったほうがいいとすぐ分かるのは、次のようなものです。
- 検索や置換以外のドキュメント全体を処理する操作
- 繰り返し
- 他のプログラムとのやりとり
マクロの質問 
フォーラムなどでマクロについて質問するとき、次のようなことを詳しく書くべきです。
- UI からできるならその操作方法
- やりたいこと
- 元のデータや文章、表など
- 望みの結果
また、マクロの記録で作成した長々としたコードを記載してもあんまり意味がありません。マクロの記録は他の人も同じ操作をすれば同じコードが得られますし、記録されたコードは API を利用して書くマクロとはほとんど違う物です。
問題が直接に記録したマクロに関係したものでなければ、記録したコードを読む人はあまりいません。
マクロでやろうとしていることがドキュメントの種類によって少し方法が異なる場合があります。
OpenOffice.org の開発コミュニティが分裂してからだんだん API の互換性が低下してきています。また、バージョン依存性のある API もあるので、種類とバージョンを記載したほうがいいでしょう。フォーラムなどで自分の署名の部分にそういた情報が表示できるなら、そうしておくとよいでしょう。
問題やコードが複雑 
長々としたコードを書いたが、なんだかバグがある。しかし、よくわからないときにそのままのコードで質問しても、替りにデバッグしてくれる親切な人は滅多にいません。
まずは、コードを切り分けて問題がどこの部分にあるか見つけてください。
バグを含む最小のコードになったころには、大抵は自分で解決できます。無理ならそのコードで質問したりしてみてください。簡単なコードならすぐに返答をもらえるでしょう。
バグに遭遇するかも 
OpenOffice.org Basic には多数のバグがあることが知られています。また、API のバグに遭遇する可能性もあります。Basic のランタイム関数のバグが嫌になったら Python や Java などの言語でマクロを書くこともできます。
一般的にマクロはテキスト処理などが多くなりがちなので、Python などの配列や正規表現が簡単に利用できる言語の方が楽です。
バグ以外にも、API 関数からの操作には制限があります。内部の実装には API からアクセスできないので、なんでもできるわけではありません。
スタイルを利用する 
マクロで書式を設定していたとしても、スタイルを多用しましょう。生成される ODF ファイルもハードフォーマットより小さくなりがちです。また、ユーザーが後で手作業でちょっと変更したいときにも楽になります。
また、ページの書式設定などはスタイルを利用しなければどのみち変更できません。
表計算ドキュメントのデータ操作には配列で 
表計算ドキュメントの個々のセルにアクセスする必要がある場合、配列として取得、設定する方法があります。速度的にかなり有利なので多用してください。
オブジェクトインスペクタを使う 
このオブジェクトがよくわからない、と思ったらオブジェクトインスペクタを利用してください。オブジェクトのプロパティやメソッドなどを一覧で表示してくれます。以下などから拡張機能として入手できます。
http://extensions.services.openoffice.org/project/MRI