gpt4 book ai didi

excel - Octave:无法通过 COM 函数保存 excel 文件(COM 错误 0x800a03ec)

转载 作者:行者123 更新时间:2023-12-04 08:05:03 25 4
gpt4 key购买 nike

在 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 服务器功能时如何获得更详细的错误信息)?

最佳答案

您正在使用 unix 样式的路径分隔符(即正斜杠: / )。
与 unix 系统相反,正式的 windows 路径分隔符是反斜杠,即 \ .因此,除非您确定将其传递给的应用程序经过灵活编程以便解释两者,否则您可能应该专门使用反斜杠以确保在传递给 Windows 应用程序时不会将其视为“格式错误”的路径字符串。
换句话说,您应该使用 'C:\Users\kando\Documents\a.xls'而不是 'C:/Users/kando/Documents/a.xls'作为您的路径字符串。
更好的是,你应该使用 octave 的 fullfile工具,它为您检测正确的文件分隔符(通过 filesep 函数),并从提供的部分构建操作系统兼容的路径字符串,即

SaveFile = fullfile( 'C:', 'Users', 'kando', 'Documents', 'a.xls' );
excel.workbook.SaveAs( SaveFile );

关于excel - Octave:无法通过 COM 函数保存 excel 文件(COM 错误 0x800a03ec),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66250108/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com