是否可以在Excel 2010中管理新的样式类别,即重命名,删除和创建新类别?
我可以为类别添加样式但没有选项: ActiveWorkbook.Styles.Add名称:="样式1"
我可以删除一个样式但没有类别选项: ActiveWorkbook.Styles("样式1")。删除
答案 0 :(得分:0)
样式属于Workbook对象。在屏幕上,您将看到它们分组为"主题单元格样式","好,坏,中立"等等。通过Excel对象模型,我们无法访问这些"组名字",所以我们无法读或写它们。
最佳近似值是阅读.BuiltIn
属性,例如。
Sub StyleTest()
Dim MyStyle As Style
Set MyStyle = Range("A1").Style
If MyStyle.BuiltIn Then
' built in style
Else
' custom style
End If
End Sub
即使复制内置样式,也会在类别"自定义"下创建复制的样式。
通过其.Name
或.Value
属性获取样式的名称。但是这是一个只读属性,因此重命名样式相当意味着复制一个不同名称的样式然后删除原始
复制风格真的意味着"创建"一个新的风格,并从源样式复制所有属性......一块一块......不幸!
修改样式,例如
Sub CreateStyle()
Dim MyStyle As Style
Set MyStyle = ActiveWorkbook.Styles.Add("Test") ' Note this will fail if style "Test" already exists
With MyStyle
.IncludeNumber = True
.IncludeFont = True
.IncludeAlignment = True
.IncludeBorder = True
.IncludePatterns = True
.IncludeProtection = False
End With
MyStyle.NumberFormat = "#.##0"
With MyStyle.Font
.Name = "Calibri"
.Size = 11
.Bold = False
.Italic = False
.Underline = xlUnderlineStyleNone
.Strikethrough = False
.ThemeColor = 6
.TintAndShade = -0.249946592608417
.ThemeFont = xlThemeFontMinor
End With
With MyStyle.Interior
.Pattern = xlSolid
.PatternColorIndex = 0
.ThemeColor = xlThemeColorAccent2
.TintAndShade = 0.599963377788629
.PatternTintAndShade = 0
End With
End Sub