BackColor和ForeColor之间的区别

时间:2016-07-07 07:49:43

标签: vba excel-vba colors powerpoint-vba excel

这更像是一个概念问题,而不是代码问题。使用VBA为形状着色时,我总是使用ForeColor属性作为习惯的力量,但现在我很好奇BackColor如何运作。 documentation对于这种区别并没有提供太多的特异性。我能看到的唯一相关信息是:

  

如果在表单对象或 PictureBox 控件上设置 BackColor 属性,则所有文本和图形(包括持久图形)都是擦除。设置 ForeColor 属性不会影响已绘制的图形或打印输出。

它似乎并没有充分解释它们之间的区别。

我做了一些实验,在代码中设置不同顺序的形状的Back和Fore颜色以及包含的不同文本和其他项目,但我不能为我的生活找到任何一致的差异。坦率地说,似乎BackColor属性完全没用,因为ForeColor似乎只是在写任何颜色。

有没有人知道解释它们之间差异的好方法(或者是我可以阅读差异的更好文档的来源)?

1 个答案:

答案 0 :(得分:1)

应用TwoColorGradient方法时使用BackColour。

例如,如果您在PowerPoint中选择一个形状并输入:

?ActiveWindow.Selection.ShapeRange(1).Fill.BackColor

您可能会看到16777215(白色)返回,如果您将其更改为红色,您将看不到任何更改:

ActiveWindow.Selection.ShapeRange(1).Fill.BackColor.RGB = RGB(255,0,0)

但是如果你应用渐变方法:

ActiveWindow.Selection.ShapeRange(1).Fill.TwoColorGradient _
  msoGradientDiagonalUp, 1

然后更改BackColor,您将看到更改。