【问题标题】:Paste Special Transpose Syntax in Matlab using ActXServer使用 ActXServer 在 Matlab 中粘贴特殊转置语法
【发布时间】:2017-04-29 23:21:15
【问题描述】:

我正在使用 Matlab 编写代码,该代码将打开 Excel 电子表格,复制特定范围,然后将其粘贴到新工作表中,在此过程中转换我的范围。我完全停留在 PasteSpecial 方法上,无法弄清楚如何让它转置我的数据。我已经尝试了所有我能想到的东西:尝试过类似 VBA 的语法 (Transpose=True),尝试过 (Transpose, 1),尝试过 ([],[],[],1),尝试过 obj.Transpose(with all kind括号中的变化)......和各种其他的东西都无济于事。如果有人以前这样做过,请帮助我。下面是我的简化代码以防万一。 提前致谢!

   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!

【问题讨论】:

    标签: excel vba matlab com activex


    【解决方案1】:

    PasteSpecial 的文档有四个输入参数来指示粘贴操作的参数。可以看到,第四个选项表示是否转置数据。

    new_sheet.PasteSpecial(NaN, NaN, NaN, true);
    

    【讨论】:

    • 天哪,这确实有效!你太棒了!!!我不知道你是怎么想出来的——我阅读了相同的文档,但找不到正确的语法。百万谢谢'!!!!!!
    猜你喜欢
    • 1970-01-01
    • 2018-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-13
    • 1970-01-01
    • 1970-01-01
    • 2012-12-05
    相关资源
    最近更新 更多