使用 ActXServer 在 Matlab 中粘贴特殊转置语法

Paste Special Transpose Syntax in Matlab using ActXServer

我正在 Matlab 中编写一个代码,它将打开 excel spreadsheet,复制某个范围,并将其粘贴到一个新的 sheet 过程中调换我的范围.我完全坚持使用 PasteSpecial 方法,无法弄清楚如何让它转置我的数据。我已经尝试了我能想到的一切:尝试了 VBA 类语法 (Transpose=True),尝试了 (Transpose, 1),尝试了 ([],[],[],1),尝试了 obj.Transpose(括号中有各种变化)......以及各种其他无济于事的东西。如果有人以前这样做过,请帮助我。下面是我的简化代码,以备不时之需。 提前致谢!

   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);