Delphi XE2的Excel列自动调整

时间:2013-03-18 10:38:17

标签: excel delphi delphi-xe2 excel-2010

我正在将一些旧代码从Office 2000迁移到Office 2010,并且遇到了将Excel导入自动调整列的问题

正在运行的代码如下:

for x := 1 to LV.Columns.Count do
  XLApp.Columns[x].EntireColumn.AutoFit;

其中XLApp是TExcelApplication组件

当我查看VBA时,等效代码应为

 Columns("A:A").EntireColumn.AutoFit

我很容易更改代码以使范围与VBA匹配,但这似乎不是问题。编译器返回的错误是

Class does not have a default property

[x]突出显示。代码完成不提供任何我可以看到的选择单个列的方式,无论是整数还是范围。

有什么建议吗?

1 个答案:

答案 0 :(得分:6)

您拥有的代码适用于后期绑定的COM。但是你说你正在使用早期绑定的COM。

对于早期绑定的COM,您需要使用以下内容:

ExcelApp.Range['A1','A1'].EntireColumn.AutoFit;

我无法解释代码过去是如何运作的。也许从Excel类型库创建的导入单元有一些微妙的不同。