You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Libre Calc跨库实例化类报错:Object not accessible/无效对象引用

解决Libre Calc中跨库实例化类时的“Object not accessible”错误

问题原因

LibreOffice Basic的自定义类默认是库内私有可见性,哪怕外部库已经引用了目标库,也无法直接实例化该类,但可以调用库内的公共模块方法(比如你能正常调用的test1)。

解决步骤

1. 修改类的可见性为公共

打开ClassLib库的TestClass类编辑器,在类声明开头添加Public关键字,确保类能被外部库访问:

Public Class TestClass
    ' 类的成员变量、方法等内容
    Public Sub New()
        ' 如果有构造方法,也要确保是Public
    End Sub
End Class

修改完成后保存ClassLib库,关闭并重新打开Libre Calc。

2. 确认目标库已被正确引用

在Standard库的宏编辑器中:

  • 点击顶部菜单栏「工具」→「库」→「库管理」
  • 在列表中找到ClassLib,勾选「引用」选项,点击「确定」
  • 重启Libre Calc使引用生效

3. 验证实例化代码

使用以下两种方式之一尝试实例化,确保代码格式正确:
方式一:直接指定库名实例化

Dim testObj As Object
testObj = New ClassLib.TestClass

方式二:先加载库再实例化

GlobalScope.BasicLibraries.LoadLibrary("ClassLib")
Dim testObj As Object
testObj = New TestClass

额外注意事项

  • 检查ClassLib库是否被设置为「隐藏」或「只读」,右键库选择「属性」确认权限
  • 如果类的构造方法是Private Sub New(),外部无法实例化,必须改为Public

内容的提问来源于stack exchange,提问作者Ibraheem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 15:57:00