コマンドラインから.odtファイルでLibreOfficeマクロを実行したい。これをスケールアップしてマクロを複数のファイルに適用したいので、マクロの実行ごとにGUIがポップアップすることは望ましくありません。
私は現在動作中のマクロを持っており(これも最後にファイルを閉じます)、私が見つけることができる限り、次のように呼び出すことができるはずです:
soffice --invisible --nofirststartwizard --headless --norestore "D:\myFolder\my file.odt" "macro:///Standard.Module1.myMacro"
または
swriter --invisible --nofirststartwizard --headless --norestore "D:\myFolder\my file.odt" "macro:///Standard.Module1.myMacro"
どちらのコマンドもマクロを正しく実行しますが、実行中にGUIが開閉します。これを防ぐにはどうすればよいですか?
私はWindows10コンピューターで作業していて、ヘルプ> LibreOfficeについて次の情報を提供しました:
バージョン:5.2.1.2
ビルドID:31dd62db80d4e60af04904455ec9c9219178d620
CPUスレッド:4; OSバージョン:Windows 6.2; UIレンダリング:デフォルト。
ロケール:en-US(en_US);計算:CL
問題は、LibreOfficeを起動すると表示されなくても、ドキュメントを開いた後に表示されることです。 https://forum.openoffice.org/en/forum/viewtopic.php?f=5&t=22548 に解決策があります:
LibreOfficeをヘッドレスで実行して、マクロを呼び出します。コマンドライン呼び出しでは、 not 開くドキュメントを指定する必要があります。マクロのみを指定する必要があります。例(新しいマクロ構文を使用):
soffice -headless -invisible "vnd.Sun.star.script:Standard.Module1.MySubroutine?language=Basic&location=application"
マクロは、Hidden
プロパティをtrueに設定して loadComponentFromUrl を呼び出します。これにより、ドキュメントが表示されなくなります。
[〜#〜]編集[〜#〜]:
さまざまなファイルで機能させるには、古いマクロ構文を使用してファイル名をパラメーターとして渡します。 https://forum.openoffice.org/en/forum/viewtopic.php?f=20&t=8232 の例:
soffice "macro:///Library3.Module1.test_Args(arg1,123,4.567,2000-12-31)"