将简单的VB脚本转换为MATLAB

我有一些问题将简单的VB脚本(格式化)转换为MATLAB:

VB脚本:

Range("A1").Select Selection.Font.Italic = True With Selection.Borders(xlEdgeBottom) .LineStyle = xlContinuous End With 

我试过了:

 xlswrite('test.xls',1,'A1'); Excel = actxserver('Excel.Application'); Excel.Workbooks.Open('test.xls'); Range = Excel.Range('A1'); Range.Font.Italic = True; % Doesnt work Range.Border.Item('xlEdgeRight').LineStyle = 1; % Doesnt work Excel.Visible = 1; 

任何解决方法? 谢谢

问题可能是这一行:

 Range = Excel.Range('A1'); 

您的Excel对象是一个应用程序对象,它没有Range属性。 您遵循的VBA示例使用(恕我直言)穷人做法使用全局默认对象,只有在应用程序本身的上下文中可用。 您需要获取对此调用返回的工作簿的引用:

 Excel.Workbooks.Open('test.xls'); 

之后,您需要从索引的Worksheets属性中获取工作表, 然后从中获取Range。 此外,“xlEdgeRight”是一个枚举成员,因此外部调用必须使用整数值而不是string。 您可以用10replacexlEdgeRight。

我完全不了解Matlab,但这是VBA中更明确的代码:

 Dim book As Workbook, sheet As Worksheet, rng As Range Set book = Application.Workbooks.Open("test.xls") Set sheet = book.Worksheets("Sheet1") Set rng = sheet.Range("A1") rng.Font.Italic = True rng.Borders.Item(10).LineStyle = 1 

你应该可以从那里得到它。