我正在尝试使用函数xlswritefig打开位于网络路径上的工作簿。即路径不以C:\
等传统字母开头。相反,它看起来如下:
\\networkmain\folder\to
当我尝试在Matlab中打开此文件夹上的excel文件时,我注意到Excel在路径前面添加了当前路径。即如果我目前在文件夹中 C:\ Matlab \然后Excel尝试打开:
C:\Matlab\networkmain\folder\to
如何防止这种情况发生并重定向到网络路径?
答案 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 use
。 net 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');
您可以使用一些简单的循环来查找下一个可用的驱动器号,因为系统调用不会覆盖现有的驱动器号。