Выберите несколько диапазонов, используя сервер Matlab ActiveX - PullRequest
2 голосов
/ 16 апреля 2019

Я хочу записать результаты анализа данных с помощью MATLAB в электронную таблицу Excel.Чтобы сделать его более удобным и приятным, я также попытался отформатировать контент.

Поскольку форматирование каждой ячейки или диапазона выполняется очень медленно, я попытался отформатировать несколько диапазонов, но мне не удалось его запустить.

Я записал макрос напрямую с Excel , который в принципе показывает, что я хотел сделать:

    Range("B355:AG359,B365:AG369").Select
    Range("B365").Activate
    With Selection.Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .Color = -16776961
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideHorizontal)
        .LineStyle = xlContinuous
        .Color = -16776961
        .TintAndShade = 0
        .Weight = xlThin
    End With

Теперь я попытался перевести его на MATLAB код ...

    xls = actxserver('Excel.Application');         
    xlsDatei = xls.Workbooks.Open(xlsFileName);    
    myBook = xlsDatei.Sheets.Item(p);
    myBook.Activate; 
    myRange = myBook.Range('B355:AG359,B365:AG369');
    ...

И в этом суть - у меня всегда следующая ошибка MATLAB:

Ошибка при использовании Interface.000208D8_0000_0000_C000_000000000046 / Ошибка диапазона: Объект вернул код ошибки: 0x800A03EC

Возможно, кто-то уже делал это и может мне помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...