我正在将一些旧代码从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]
突出显示。代码完成不提供任何我可以看到的选择单个列的方式,无论是整数还是范围。
有什么建议吗?
答案 0 :(得分:6)
您拥有的代码适用于后期绑定的COM。但是你说你正在使用早期绑定的COM。
对于早期绑定的COM,您需要使用以下内容:
ExcelApp.Range['A1','A1'].EntireColumn.AutoFit;
我无法解释代码过去是如何运作的。也许从Excel类型库创建的导入单元有一些微妙的不同。