如何使用 Excel2000.pas 更改 Delphi 6 中的 Excel WorkSheet TabColor?

How to Change an Excel WorkSheet TabColor in Delphi 6 with using Excel2000.pas?

我有一个创建 ExcelWorkbook 的应用程序。在工作簿中有一些工作表,我想更改每张工作表的选项卡颜色。 下面的示例代码:

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

有什么建议吗?

我认为您正在尝试设置一个不存在的 属性,即 WorkSheet 选项卡的名称 属性 没有 ColorIndex(或 Color)子属性.

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

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

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