在Matlab中使用actxcontrol清除打开的Excel文件中的内容时出错。

时间:2015-05-07 10:25:53

标签: excel matlab com export-to-excel

这是我清除我打开的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但它并没有消失。我似乎需要重启我的系统。我无法理解问题所在。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

可能是get on Workbooks尝试打开该文件。 但如果它已经打开,则会引发错误。 首先尝试使用Excel.Workbooks.Item('usbTC0832.xls')查找它。 如果它没有打开也会出错,你应该捕获它,如果没有打开,请使用get。