【问题标题】:cannot get value from a cell in libreoffice 6.4.3.2 basic无法从 libreoffice 6.4.3.2 basic 中的单元格获取值
【发布时间】:2023-03-09 23:30:01
【问题描述】:

我是 libreoffice basic 的新手,我有使用 VBA 的经验,但是这个 libreoffice 是不同的。

我只想获取单元格值,但它总是返回零值给我,而实际单元格可以是文本或数字。

这是我简单代码的一部分。

子 test_moved()

Dim Doc As Object
'worksheet
Dim sh_village As Object
Dim sh_cbc As Object

sh_village = ThisComponent.CurrentController.getActiveSheet()
'sh_village = Doc.Sheets.getByName("VillageFinal")
'sh_village = Doc.Sheets(1)

Msgbox(sh_village.getCellrangeByName("B2").getValue())
Msgbox(sh_village.getCellrangeByName("B2").Value)   
Msgbox(sh_village.getCellByPosition(1,1).Value)

msgbox("The process is completed.")

结束子

在开始编码之前我们需要先完成任务吗?

【问题讨论】:

    标签: libreoffice-basic


    【解决方案1】:

    该代码适用于数值。但是,对于字符串,包括看起来像数字的字符串,它将显示0,因为没有数值。

    您可能想要的是:

    MsgBox(sh_village.getCellRangeByName("B2").getString())
    

    还可以查看 格式 -> 单元格 -> 数字 以查看数据在单元格中的显示方式。并注意公式栏中值前面的单引号(例如'42),因为这意味着它是一个字符串。删除引号使其成为数字。

    我有使用 VBA 的经验,但这个 libreoffice 不同。

    是的,LibreOffice Basic 是与 VBA 不同的语言,LibreOffice API 与 MS Office API 有很大不同。知道这将帮助您更有效地使用它。如果可能,请避免使用Option Compatible,因为它不能解决大多数问题,只会弄得一团糟。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多