我需要在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