Sub DemoThemecolors()
Dim rng As Range
Dim n As Integer, m As Integer
Dim arrNames
Dim arrDescriptions
Dim arrValues
arrNames = Array("xlThemeColorAccent1", "xlThemeColorAccent2", "xlThemeColorAccent3", "xlThemeColorAccent4", "xlThemeColorAccent5", "xlThemeColorAccent6", _
"xlThemeColorDark1", "xlThemeColorDark2", "xlThemeColorFollowedHyperlink", "xlThemeColorHyperlink", "xlThemeColorLight1", "xlThemeColorLight2")
arrDescriptions = Array("Accent1", "Accent2", "Accent3", "Accent4", "Accent5", "Accent6", "Dark1", "Dark2", "Followed hyperlink", "Hyperlink", "Light1", "Light2")
arrValues = Array(5, 6, 7, 8, 9, 10, 1, 3, 12, 11, 2, 4)
ActiveWorkbook.Worksheets.Add
Set rng = Cells(2, 7)
rng(0, 4).Value = "TintAndShade"
rng(1, 4).Value = 0
For m = 1 To 9
rng(1, m + 4).Value = 0.1 * m
Next m
rng(1, 1) = "ThemeColor Name"
rng(1, 2).Value = "Value"
rng(1, 3).Value = "Description"
For n = 1 To 12
rng(n + 1, 1).Value = arrNames(n)
rng(n + 1, 2).Value = arrValues(n)
rng(n + 1, 3).Value = arrDescriptions(n)
rng(n + 1, 4).Interior.ThemeColor = arrValues(n)
For m = 1 To 9
With rng(n + 1, m + 4).Interior
.ThemeColor = arrValues(n)
.TintAndShade = 0.1 * m
End With
Next m
Next n
Range("G1:S2").Font.Bold = True
Columns("G:I").EntireColumn.AutoFit
End Sub
如果你想知道为什么所有内置主题在Light1/2上显示深色,而在Dark1/2上显示浅色 - 这可能是Excel和Word中的一个“特性”,或者像微软所说的那样;这是一个“功能”。在Powerpoint中则相反-更符合您的预期。
?selection.interior.color
- 它返回一个数字,来自于R
G
B
的值,但它不是RGB
。 - Vityata0
到256^3-1
之间。 - Vityataselection.interior.colorindex = ThisWorkbook.Styles("40 % - Akzent3").Interior.ColorIndex
- Vityata