[英]run libreoffice local macro from python?
在 python 腳本中,我知道我可以通過抓取調度程序並執行以下操作在 My Macros 庫容器中執行自定義 libreoffice 宏:
dispatcher.executeDispatch(frame, "macro:///Standard.Module1.mymacro", "", 0, ())
但是如何調用本地文檔特定的宏呢? 我認為“宏///”有一個替代術語,例如“文檔///”,可以使上述調用起作用,但我在任何地方都找不到任何文檔。 宏調用字符串的正確格式是什么?
從文檔中獲取腳本提供程序並使用它來調用宏。
desktop = XSCRIPTCONTEXT.getDesktop()
file_url = uno.systemPathToFileUrl("C:/path/to/file.odt")
doc = desktop.loadComponentFromURL(file_url, "_blank", 0, ())
oScriptProvider = doc.getScriptProvider()
oScript = oScriptProvider.getScript(
"vnd.sun.star.script:Standard.Module1.mymacro?"
"language=Basic&location=document")
oScript.invoke((), (), ())
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.