我使用以下代码从MATLAB打开一个文件:
winopen('myFile.xlsx')
我希望MATLAB在用户在Microsoft Excel中关闭此文件后删除此文件。我该怎么办?
答案 0 :(得分:1)
要检查可执行文件是否正在运行(即使在后台),请使用Window" tasklist.exe"
要知道Excel是否从Matlab运行,请尝试
ExeName = 'EXCEL.EXE';
[~,msg] = system(['tasklist /fi "ImageName eq ' ExeName '"']);
IsOpen = ~isempty(strfind(msg,upper(ExeName)));
IsOpen是一个布尔值,如果打开Excel,则为true。如果您在while循环或计时器功能中使用它,请检查文件是否打开。
我认为只是尝试删除文件更简单。如果它正在使用中,Matlab将不允许您删除它。
答案 1 :(得分:0)
此代码将执行此操作:
while exist([File_Path '~$File_name'], 'file')==2
end
delete([File_Path 'File_name']);
谢谢你@Yvon的帮助和你的评论。