2016-12-14 30 views
0

Excelのスプレッドシートを開き、特定の範囲をコピーし、その範囲内で新しい範囲に転記するMatlabのコードを作成しています。私は完全にPasteSpecialメソッドに固執していて、データの転置方法を理解できません。 VBAのような構文(Transpose = True)を試してみました(Transpose、1)、試してみました([]、[]、[]、1)、試みたobj.Transpose(すべての種類括弧内のバリエーション)...そしてあらゆる種類の他のものは役に立たない。以前誰かがこれをしてくれたら助けてください。私の単純化されたコードが必要な場合は、以下のようにしてください。 ありがとうございます!Matlabに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! 

答えて

1

PasteSpecialのドキュメントがペースト操作のパラメータを示すために、4つの入力引数があります。ご覧のように、4番目のオプションは、データを転置するかどうかを示します。

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

OMGこれは実際に動作します。あなたはとても素晴らしいです!!!どのようにあなたがそれを理解したのか分かりません - 私は同じドキュメントを読むが、私は正しい構文を見つけることができませんでした。百万の感謝 '!!!!! – Polina

関連する問題