Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
倍频程:无法通过COM函数保存excel文件(COM错误0x800a03ec)_Excel_Com_Octave - Fatal编程技术网

倍频程:无法通过COM函数保存excel文件(COM错误0x800a03ec)

倍频程:无法通过COM函数保存excel文件(COM错误0x800a03ec),excel,com,octave,Excel,Com,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/

在倍频程中,此代码:

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:com对象上的属性/方法调用失败,错误为'0x800a03ec'-lZ

因此,在指定绝对或相对路径时,我无法保存任何位置

(我从一个完全不同的目录运行代码,但COM服务器似乎只在用户的documents文件夹中运行。)


如何指定路径(以及如何在使用COM服务器功能时获取更详细的错误信息)?

您使用的是unix风格的路径分隔符(即正斜杠:
/

与unix系统相反,windows路径分隔符形式上是反斜杠,即
\
。因此,除非您确定要将其传递到的应用程序是灵活编程的,以便对两者进行解释,否则您可能应该专门使用反斜杠,以确保在传递到windows应用程序时不会将其视为“格式错误”的路径字符串

换句话说,您应该使用
'C:\Users\kando\Documents\a.xls'
而不是
'C:/Users/kando/Documents/a.xls'
作为路径字符串

更好的是,您应该使用octave的
fullfile
功能,它可以为您检测正确的文件分隔符(通过
filesep
函数),并从提供的部分构建与OS兼容的pathstring,即

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

这是什么包裹?我不认识这些命令。此外,windows通常使用反斜杠作为文件分隔符,而不是斜杠。试试
C:\Users\kando\Documents\a.xls
,也许就这么简单。或者更好的方法是使用
fullfile
。此外,当缺少内容时,您得到的错误似乎是一个特定的excel错误:是反斜杠。。杀了我。你不知道我做了多少挖掘和阅读。请把它写下来作为一个答案,我会把它标记出来,这样有人可能会发现错误代码,并看到答案也可以是反斜杠。哈哈哈,会的,很高兴听到它对xD有帮助