【发布时间】:2020-02-26 13:48:42
【问题描述】:
我创建了以下子例程(并使用了 VBA Express 中的函数)来为 Word 样式分配阴影和键盘快捷键。此代码适用于段落样式或链接样式,它适用于为字符样式分配键盘快捷键,但如果样式是字符样式(任何字符样式 - 我'在这里使用了“强调”)。
是否需要进行一些调整才能通过 VBA 将阴影应用于字符样式?提前致谢!
我尝试过多种风格,人物风格似乎是关键问题。
Sub Format_Style()
Dim sStyle As String
sStyle = "Emphasis"
If StyleExists(sStyle) Then
CustomizationContext = ActiveDocument
KeyBindings.add wdKeyCategoryStyle, sStyle, BuildKeyCode(wdKeyControl, wdKeyAlt, wdKeyH)
ActiveDocument.Styles(sStyle).Shading.BackgroundPatternColor = RGB(128, 128, 128)
ActiveDocument.UpdateStyles
Else
MsgBox ("There is no style '" & sStyle & "' in this document.")
End If
End Sub
Function StyleExists(StyleName As String) As Boolean
'from: http://www.vbaexpress.com/forum/showthread.php?15259-Solved-How-to-check-if-a-Word-Style-exists
Dim MyStyle As Word.Style
On Error Resume Next
Set MyStyle = ActiveDocument.Styles(StyleName)
' Set MyStyle = ActiveDocument.AttachedTemplate.Styles(StyleName)
StyleExists = Not MyStyle Is Nothing
End Function
【问题讨论】: