0

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

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

有什么建议吗?

4

1 回答 1

3

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

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

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

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

于 2015-08-07T09:40:39.837 回答