2016-07-07 50 views
1

這是一個概念性問題而不是代碼問題。使用VBA着色時,我總是使用ForeColor屬性作爲習慣的力量,但現在我很好奇BackColor的功能。 documentation實際上沒有提供關於區別的特定性。唯一的相關信息,我可以看到有:BackColor和ForeColor之間的區別

如果設置了對象的背景色財產或圖片框控制,所有的文本和圖形,包括持續性的圖形,將被刪除。設置ForeColor屬性不會影響已繪製的圖形或打印輸出。

這實際上似乎沒有充分解釋它們之間的差異。

我做了一些實驗,在代碼和不同的文本和其他項目中設置不同順序的形狀的Back和Fore顏色,但我不能爲我的生活找到任何一致的差異。坦率地說,看起來BackColor屬性完全沒用,因爲ForeColor似乎只是寫在任何顏色上。

有沒有人知道一個很好的方式來解釋他們之間的差異(或更好的文檔來源,我可以閱讀的差異)?

回答

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 

,然後改變背景色,您」我會看到一個變化。

+0

你,先生,是一位聖人。爲了澄清,'TwoColorGradient'屬性是使用BackColor的_only_,還是隻是主要用途? – RGA

+0

圖案填充也使用BackColor。事實上,如果您給圖案填充一個形狀,您可以選擇前景色和背景色。 –