2016-12-14 13 views
0

Я работаю над кодом в Matlab, который откроет таблицу Excel, скопирует определенный диапазон и вставляет ее в новый лист, переносящий мой диапазон в процессе. Я полностью застрял в методе PasteSpecial и не могу понять, как заставить его переносить мои данные. Я пробовал все, что мог придумать: пробовал синтаксис VBA-типа (Transpose = True), попытался (Transpose, 1), попытался ([], [], [], 1), попытался obj.Transpose (со всеми видами вариаций в скобках) ... и всевозможные другие вещи безрезультатно. Пожалуйста, помогите мне, если кто-то сделал это раньше. Ниже, если мой упрощенный код в случае необходимости. Спасибо заранее!Вставить специальный синтаксис 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 имеет четыре входных аргументов, чтобы указать параметры операции вставки. Как вы можете видеть, четвертый параметр указывает, следует ли транспонировать данные или нет.

+0

OMG Это действительно работает! Ты такой потрясающий !!! Я понятия не имею, как вы это поняли - я прочитал ту же документацию, но не смог найти правильный синтаксис. Миллион спасибо '!!!!! – Polina

 Смежные вопросы

  • Нет связанных вопросов^_^