这更像是一个概念问题,而不是代码问题。使用VBA为形状着色时,我总是使用ForeColor
属性作为习惯的力量,但现在我很好奇BackColor
如何运作。 documentation对于这种区别并没有提供太多的特异性。我能看到的唯一相关信息是:
如果在表单对象或 PictureBox 控件上设置 BackColor 属性,则所有文本和图形(包括持久图形)都是擦除。设置 ForeColor 属性不会影响已绘制的图形或打印输出。
它似乎并没有充分解释它们之间的区别。
我做了一些实验,在代码中设置不同顺序的形状的Back和Fore颜色以及包含的不同文本和其他项目,但我不能为我的生活找到任何一致的差异。坦率地说,似乎BackColor
属性完全没用,因为ForeColor
似乎只是在写任何颜色。
有没有人知道解释它们之间差异的好方法(或者是我可以阅读差异的更好文档的来源)?
答案 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,您将看到更改。