使用Matlab ActiveX服务器选择多个范围

时间:2019-04-16 05:22:44

标签: excel matlab activex

我想将使用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 / Range错误:对象返回错误代码:0x800A03EC

也许有谁曾经做过这件事并且可以帮助我。

0 个答案:

没有答案