这是我清除我打开的excel文件的代码。
% get running excel file
Excel = actxGetRunningServer('Excel.Application');
ExcelFile = Excel.get('Workbooks','usbTC0832.xls');
ExcelSheet = ExcelFile.Sheets.Item('Sheet1');
ExcelFile.Worksheets.Item('Sheet1').Range('A2:C520').ClearContents
% ExcelFile.Save;
非常简单,它在另一个系统中完美运行。然而,在我的新系统中,它会引发错误
>>Error using COM.Excel_Application/get
>>Invoke Error, Dispatch Exception: Invalid index.
我重新启动系统后第一次正常工作。每个实例后都会引发错误。我尝试重启matlab但它并没有消失。我似乎需要重启我的系统。我无法理解问题所在。任何帮助将不胜感激。
答案 0 :(得分:0)
可能是get on Workbooks尝试打开该文件。 但如果它已经打开,则会引发错误。 首先尝试使用Excel.Workbooks.Item('usbTC0832.xls')查找它。 如果它没有打开也会出错,你应该捕获它,如果没有打开,请使用get。