我需要在Matlab中生成一个代码来编辑然后保存一个Excel文件。该代码具有执行以下操作:编辑并保存来自Matlab的Excel文件
打开Excel文件
转到第二片材(Sheet 2中)
更改单元的值A2
转到第一张(sheet1)
将sheet1保存为制表符分隔文本文件(.txt)
工作表1包含依赖sheet2中单元格A2的单元格(我需要对sheet2-A2的不同值进行多次这样的操作,这就是为什么我需要编写它的原因)。
浏览网页,我已经能够编码步骤1-4(见代码波纹管)。但是,我一直无法找到办法。我非常感谢你的帮助。谢谢!!
% Open Excel Server:
Excel = actxserver('Excel.Application');
% Makes Excel visible in the screen:
set(Excel, 'Visible', 1);
% Open Excel file:
Workbooks = Excel.Workbooks.Open('E:\TEST.xlsx');
% Make the second sheet active:
Sheets = Excel.ActiveWorkBook.Sheets;
sheet2 = get(Sheets, 'Item', 2);
invoke(sheet2, 'Activate');
% Get a handle in the active sheet:
Activesheet = Excel.Activesheet;
% Edit cell A2:
A = 2;
ActivesheetRange = get(Activesheet,'Range','A2');
set(ActivesheetRange, 'Value', A);
pause(5) %Pauses the code for 5 seconds (so sheet 1 updates the formulas)
% Going to Sheet1 where the focal data is:
Sheets = Excel.ActiveWorkBook.Sheets;
sheet1 = get(Sheets, 'Item', 1);
invoke(sheet1, 'Activate');
那里不会有'sheet2 == Activesheet'吗?如果您要使其可见,则可能需要对工作簿的句柄进行硬编码,而不是使用“Excel.ActiveWorkBook”,因为一旦用户在尚未完成时打开另一个工作簿,该句柄就会失败。 – scenia