4

我正在将一些较旧的代码从 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]突出显示。代码完成不提供任何我可以看到的选择单个列的方式,无论是整数还是范围。

有什么建议么?

4

1 回答 1

7

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

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

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

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

于 2013-03-18T10:53:22.113 回答