在 LibreOffice 宏的 Basic 中获取文档路径

Posted

技术标签:

【中文标题】在 LibreOffice 宏的 Basic 中获取文档路径【英文标题】:Getting document path in Basic in LibreOffice macro 【发布时间】:2014-09-16 02:51:45 【问题描述】:

我知道这个问题已经得到解答,但给定的解决方案对我不起作用。给定的解决方案是:

Dim oDoc As Object
Dim Path$
oDoc = ThisComponent
Path$ = oDoc.getURL()

实际上,这会为我返回一个空字符串 ("")。有什么我错过的吗?

我在 Kubuntu 12.04 上使用 LibreOffice 4.3.1.2。

感谢您的帮助!

【问题讨论】:

【参考方案1】:

如果你运行它会发生什么?

If oDoc.HasLocation() Then
  Print "The Document URL is " & oDoc.getURL()
Else
  Print "The document has not yet been stored"
End If

【讨论】:

【参考方案2】:

如果我编译宏,它工作得很好,如果我调试未编译的宏,它就不起作用。

【讨论】:

【参考方案3】:

当然,因为调试环境 Parent 和你的 Document Parent 不一样。

【讨论】:

以上是关于在 LibreOffice 宏的 Basic 中获取文档路径的主要内容,如果未能解决你的问题,请参考以下文章

创建带有嵌入宏的 LibreOffice 文档

Ubuntu中的LibreOffice是不是有类似于Microsoft office(word,excel等)的vba宏的东西? [关闭]

如何在 Basic 中使用 LibreOffice 功能?

使用 LibreOffice Basic 迭代控件

在 Basic 中计算自己的对数(LibreOffice Calc Macro)

使用 BASIC 在 LibreOffice 中复制表格的最后一行