实现 LibreOffice Calc Macro 时未找到 setValue 方法或属性

实现 LibreOffice Calc Macro 时未找到 setValue 方法或属性

我使用 LibreOffice Calc 已有 3 年多,但最近开始使用 Basic 实现宏。我参考了与 Libreoffice Calc Macro 相关的在线资源,并尝试在特定单元格中获取绝对文件路径。

以下是我尝试运行的代码,它引发了错误:

错误:

BASIC 运行时错误。

未找到属性或方法:setValue。

代码

Sub selectFile

    Dim FileNames() as String
    Dim Doc         as Object
    Dim oSheet      as Object
    Dim oDestCell   as Object

    FileNames = fImportLocalFile()

    Doc = ThisComponent
    oSheet = Doc.Sheets(0)
    oDestCell = oSheet.getCellByPosition(1,1)
    oSheet.setValue(FileNames, False)
    Msgbox Join(FileNames, Chr(10))

End Sub

我可能缺少一些导入/包含,导致此错误。无法在线找到相关资源,因此在此发布我的问题。

提前感谢任何指点。

答案1

对于 LibreOffice/Apache OpenOffice 编程,请获取扩展MRI
以及文档(可在SDK安装包中找到)。

这是什么MRI为您的目标记录:

Sub Snippet
  Dim oSheets As Variant
  Dim oObj1 As Variant
  Dim oCellByPosition As Variant

  oSheets = ThisComponent.getSheets()
  oObj1 = oSheets.getByName("Tabelle1")
  oCellByPosition = oObj1.getCellByPosition(1, 1)
  oCellByPosition.setString("whatever")

End Sub 

解释

sheet.setValue- 正如错误消息所述:没有这样的属性。
cell.Value- 错误,因为.setValue设置了DOUBLE,而不是字符串。
cell.Text- 错误,因为单元格的Text对象需要一个CellTextCursor(包含格式指令)和一个String(包含文本字符)。

作为初学者Andrew Pitonyak 的宏文档,作为免费文档 - 或者购买他的书。
[我与他书的作者或著作无关]

相关内容