dub*_*uga 2 macros libreoffice libreoffice-basic
如何确定OpenOffice或LibreOffice文档中当前打开的文档的路径?我想将路径转发到外部应用程序.
更具体地说,我希望在全屏模式下通过视频文件启动外部播放器:
Shell("/usr/bin/mplayer", 2, """ -fs"" some-file-in-same-dir-as-document.mp4")
对于最后一个参数,我需要到当前打开的文档的路径才能追加它.不指定路径导致引用当前路径(由CurDir()函数给出),这是不同的.
LibreOffice宏实际上有一个很好的参考吗?我发现的唯一相对较好(但难以搜索)的文档是Andrew Pitonyak的" OpenOffice Macros Explained ".
要获取当前文档路径,请使用以下简单命令:
ThisComponent.getURL()
CurDir() 对所有操作系统都不可靠 顺便说一句,我在您引用的 Pitonyak 书中发现了我不知道并且发现非常宝贵的信息,因此感谢分享。
与此同时,我找到了一个可行的解决方案.看这里:
Sub RunSomeMovie
    GlobalScope.BasicLibraries.loadLibrary("Tools")
    Shell("/usr/bin/mplayer -fs ", 2, "" & Tools.Strings.DirectoryNameoutofPath(ThisComponent.getURL(),"/") & "/media/somemovie.mp4")
End Sub