【发布时间】:2021-05-20 19:45:59
【问题描述】:
在 Octave 中,此代码:
excel.server = actxserver('excel.application');
excel.workbooks = excel.server.workbooks;
excel.workbook = excel.workbooks.add;
% excel.workbook.activate;
excel.workbook.SaveAs("a.xls");
导致在以下位置创建文件:C:/Users/kando/Documents/a.xls,而:
excel.server = actxserver('excel.application');
excel.workbooks = excel.server.workbooks;
excel.workbook = excel.workbooks.add;
% excel.workbook.activate;
excel.workbook.SaveAs('C:/Users/kando/Documents/a.xls');
导致以下错误:
error: com_invoke: property/method invocation on the COM object failed with error `0x800a03ec' - lZ
因此,当指定绝对或相对路径时,我无法保存任何位置。
(我从一个完全不同的目录运行代码,但 COM 服务器似乎只在用户的文档文件夹中运行。)
如何指定路径,(以及如何在使用 COM 服务器函数时获得更详细的错误信息)?
【问题讨论】:
-
这是什么包?我不认识命令。此外,Windows 通常使用反斜杠作为文件分隔符,而不是斜杠。试试
C:\Users\kando\Documents\a.xls,也许就这么简单。或者更好的是,使用fullfile。 -
另外,你得到的错误似乎是一个特定的 excel 错误,因为缺少东西:stackoverflow.com/a/11016110/4183191
-
是反斜杠。 .. 杀我。你不知道我做了多少挖掘和阅读。请把它写成答案,我会标记是这样有人可能会找到该错误代码并看到答案也可以是反斜杠。
-
哈哈哈,会的,很高兴听到它对 xD 有帮助