从MATLAB中检查Microsoft Excel的打开状态

我用这个代码从MATLAB打开一个文件:

winopen('myFile.xlsx') 

我希望MATLAB在用户在Microsoft Excel中closures此文件后删除此文件。 我该怎么办?

要检查一个可执行文件是否正在运行(即使在后台),使用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将不允许您删除它。

这段代码将会这样做:

  while exist([File_Path '~$File_name'], 'file')==2 end delete([File_Path 'File_name']); 

感谢您@Yvon的帮助和您的意见。