ツールバー割り当て用のマクロ

メニューのツール - マクロ - マクロの実行から実行するマクロには引数はありません。(Java のマクロでは関数の引数として css.script.provider.XScriptContext が渡されますがそれ以外の引数はありません。)メニューにマクロを実行する項目を作成してそこからマクロを実行したときにも同様です。

一方でツールバーのボタンからマクロを実行すると引数があります。引数の数が異なるとエラーの原因となるので割り当ての可能性があるマクロには注意が必要です。

その他、ダイアログやフォームのボタンに割り当てるマクロは該当するイベントのメソッドの引数と同じものがイベントでのマクロ実行時に渡されます。

引数が関係ないマクロであれば python では次のようにまとめてオプション引数として受けとるようにします。

def test_macro(*args):
    doc = XSCRIPTCONTEXT.getDocument()
    print(doc.getURL())