LibreOffice Calc宏打开xlsx文件触发运行错误如何解决
问题原因与修复方案
报错原因说明
- 运行时错误382:
Empty是LibreOffice Basic内置保留关键字,属于只读属性,禁止用户赋值,因此Empty() = Array()为非法写法。 - 类型检测失败错误:
ConvertToURL函数原生支持Windows标准单斜杠路径格式,传入双反斜杠转义后的路径会导致生成的URL出现多余斜杠,系统无法识别文件路径与格式。
可运行代码
Dim docURL As String Dim doc As Object Dim loadOptions() As Variant ' 直接传入Windows原生路径,无需额外转义反斜杠 docURL = ConvertToURL("C:\Users\RKerrigan\Documents\Scripts\Mailerreportgenerator\Miller Radiology Mailers Template.xlsx") doc = StarDesktop.LoadComponentFromURL(docURL, "_blank", 0, loadOptions)
异常排查补充
如果运行后仍有问题,请按以下步骤验证:
- 确认目标文件实际存在,没有被其他程序占用,后缀名未被系统隐藏
- 检查LibreOffice安全设置,确认宏运行权限、文件访问权限已放开
- 如果目标Excel文件设置了打开密码,需要在
loadOptions数组中补充密码参数
内容的提问来源于stack exchange,提问作者user16953756
相关产品推荐
相关产品推荐

