Dan*_*lly 4 delphi excel excel-2010 delphi-xe2
我正在将一些旧代码从Office 2000迁移到Office 2010,并且遇到了将Excel转换为Autofit Columns的问题
正在运行的代码如下:
for x := 1 to LV.Columns.Count do
XLApp.Columns[x].EntireColumn.AutoFit;
Run Code Online (Sandbox Code Playgroud)
其中XLApp是TExcelApplication组件
当我查看VBA时,等效代码应该是
Columns("A:A").EntireColumn.AutoFit
Run Code Online (Sandbox Code Playgroud)
我很容易更改我的代码以使范围与VBA匹配,但这似乎不是问题.编译器返回的错误是
Class does not have a default property
Run Code Online (Sandbox Code Playgroud)
并且[x]突出显示.代码完成不提供任何我可以看到的选择单个列的方式,无论是整数还是范围.
有什么建议?
您拥有的代码将适用于后期绑定的COM.但是你说你正在使用早期绑定的COM.
对于早期绑定的COM,您需要使用以下内容:
ExcelApp.Range['A1','A1'].EntireColumn.AutoFit;
Run Code Online (Sandbox Code Playgroud)
我无法解释代码过去是如何运作的.也许从Excel类型库创建的导入单元以某种微妙的方式不同.