如何使用Excel2000.pas在Delphi 6中更改Excel工作表TabColor?

我有一个创buildExcelWorkbook的应用程序。 在工作簿中有一些工作表,我想改变每个工作表的标签颜色。 示例代码如下:

ExcelApplication.WorkBooks[1].WorkSheets[1].Name := 'Sheet1'; ExcelApplication.WorkBooks[1].WorkSheets[1].Name.ColorIndex := 3; // Raise in here 

有什么build议吗?

我想你试图设置一个不存在的属性,即一个WorkSheet的选项卡的Name属性没有ColorIndex(或Color)子属性。

以下代码将选项卡的颜色设置为红色:

  WorkBook.WorkSheets[1].Select; WorkBook.WorkSheets[1].Tab.Color := 255; WorkBook.WorkSheets[1].Tab.TintAndShade := 0; 

顺便说一句,在Delphi IDE中的代码完成应该工作,如果你的单位使用Excel的接口单元,你正在对Excel对象进行“早期绑定”。 Excel7中带有D7的称为Excel2000.Pas。 然而,一个奇怪的事情是,在那里的WorkSheet接口定义包括Tab属性。 我不知道为什么。 但是,如果进入Excel的Visual Basic部分(通过Excel2007及更高版本中的“function区”上的“开发人员”选项卡),则Excel对象有OLH,并且包含WorkSheet Tab属性。 这意味着你可以访问它,但使用“后期绑定”,即使用变体,而不是早期绑定。