网络路径不适用于Matlab中的xlswritefig

时间:2017-07-28 08:17:28

标签: excel vba matlab excel-vba

我正在尝试使用函数xlswritefig打开位于网络路径上的工作簿。即路径不以C:\等传统字母开头。相反,它看起来如下:

\\networkmain\folder\to

当我尝试在Matlab中打开此文件夹上的excel文件时,我注意到Excel在路径前面添加了当前路径。即如果我目前在文件夹中 C:\ Matlab \然后Excel尝试打开:

C:\Matlab\networkmain\folder\to

如何防止这种情况发生并重定向到网络路径?

3 个答案:

答案 0 :(得分:2)

问题出在函数xlswritefig上。要解决此问题,请进入该函数并更改以下代码行(第86行):

%**op = invoke(Excel.Workbooks, 'open', [pwd filesep filename]);
op = invoke(Excel.Workbooks, 'open', filename);

因此删除[pwd filesep]部分。

答案 1 :(得分:1)

我不认为Matlab支持UNC路径(至少没有使用)。简单的方法是将文件夹映射到一个字母驱动器。可以在Windows资源管理器中执行此操作,但我倾向于在命令提示符中使用net usenet help use会显示语法

答案 2 :(得分:1)

MATLAB不支持UNC(网络)路径。但是,这是一个使用system命令设置(和取消设置)网络驱动器号的解决方法。

% Execute system command to assign drive letter 
system('net use Z: \\networkmain\folder\to');
% Perform actions under this drive
cd(Z:\);
% ...
% Unmount the drive
system('net use Z: /delete');

您可以使用一些简单的循环来查找下一个可用的驱动器号,因为系统调用不会覆盖现有的驱动器号。