使用ActXServer
问题描述:
我工作在Matlab代码,将打开Excel电子表格在Matlab粘贴变调语法,复制一定范围内,然后将其粘贴在一个新的工作表调换我的范围的过程中。我完全停留在PasteSpecial方法和无法弄清楚如何使它转我的数据。我用尽了一切我能想到的:尝试VBA的语法(移调= TRUE),试图(移调,1),试图([],[],[],1),试图obj.Transpose(含各种括号内的变化)......以及其他各种各样的东西无济于事。如果有人曾经这样做过,请帮助我。下面是我的简化代码,以防万一需要。 预先感谢您!使用ActXServer
Excel = actxGetRunningServer('excel.application');
set(Excel, 'Visible', 1);
Workbooks = Excel.Workbooks;
Workbook = Excel.Workbooks.Open('C:\Users\...test.xlsx');
curr_sheet = get(Workbook,'ActiveSheet');
rngObj = ('A1:C3')
rngObj.Copy
Sheets = Excel.ActiveWorkBook.Sheets;
new_sheet = Sheets.Add;
new_sheet.PasteSpecial; %This is where I am stuck!
答
的文档PasteSpecial
具有四个输入参数,以指示粘贴操作的参数。如您所见,第四个选项指示是否转置数据。
new_sheet.PasteSpecial(NaN, NaN, NaN, true);
OMG这实际上工作!你真棒!我不知道你是如何计算出来的 - 我阅读了相同的文档,但是我找不到正确的语法。万分感谢'!!!!! – Polina