Excel 到 Libreoffice 宏的转换 - RefreshTable

问题描述

我正在尝试从 LibreOffice 7.1 运行 Excel VBA 宏,该宏在此处中断:

Dim pt As PivotTable
    For Each pt In ActiveSheet.PivotTables
        pt.RefreshTable 
    Next pt    
    ActiveSheet.Range("C3").Select

End Sub

函数 pt.RefreshTable 显然不存在于 calc 上,有谁知道我该如何替换它?

解决方法

您应该使用 Refresh 方法而不是 RefreshTable。还要注意 .getDataPilotTables().PivotTables

之间的区别
Sub updatePivotData
Dim oActiveSheet As Variant
Dim oDataPilotTables As Variant
Dim oTable As Variant
    oActiveSheet = ThisComponent.getCurrentController().getActiveSheet()
    oDataPilotTables = oActiveSheet.getDataPilotTables()
    For Each oTable in oDataPilotTables
        oTable.refresh()
    Next oTable
End Sub

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...