使用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); 
+0

OMG这实际上工作!你真棒!我不知道你是如何计算出来的 - 我阅读了相同的文档,但是我找不到正确的语法。万分感谢'!!!!! – Polina