delphiXE2的Excel列自动调整

我将一些较旧的代码从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]突出显示。 代码完成不提供任何方式,我可以看到select一个单独的列,作为一个整数或范围。

有什么build议么?

您拥有的代码将用于迟到的COM。 但是你声明你正在使用早期绑定的COM。

对于早期绑定的COM,你需要使用这样的东西:

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

我无法解释过去的代码是如何工作的。 也许从Exceltypes库创build的导入单元在某种微妙的方面有所不同。