【发布时间】:2015-05-01 12:49:31
【问题描述】:
我希望 Uni 的所有旧 Word 文档都开始应用可访问的样式。对于这个测试,我想设置一个宏来搜索 Word 文档,并且在它找到 11pt Arial 的任何地方,我希望它应用一个可访问的样式,即 Verdana 11pt。这样做,这意味着学术人员可以更轻松地将不可访问的文档转换为更易于访问的文档。
我已经开始学习宏,并且可以创建一个将 Word 文件保存为 PDF 的宏,这是一个有用的快捷方式,但我正在苦苦挣扎。
我尝试创建一个宏来打开 Replace,查找 Arial 11pt 的任何实例,然后将它们全部替换为另一种样式,但是当我运行它时,它似乎应用了我的替代样式,但也添加了奇怪的框到文件。
另外,如果我将标题样式应用于文档,然后手动将该样式编辑为 Arial 11pt,那么当我运行宏时,文本似乎应用了新样式,但我看到的仍然是 Arial,而且我得到奇怪的盒子!
我很想自己解决这个问题,但这不是我熟悉的领域,所以社区的任何帮助都会很棒。
这是我使用记录器创建的宏代码:
Sub Style()
'
' Style Macro
'
Selection.Find.ClearFormatting
With Selection.Find.Font
.Size = 11
.Bold = False
.Italic = False
End With
Selection.Find.Replacement.ClearFormatting
Selection.Find.Replacement.Style = ActiveDocument.Styles("Written Stuff")
With Selection.Find.Replacement.ParagraphFormat
With .Shading
.Texture = wdTextureNone
.ForegroundPatternColor = wdColorBlack
.BackgroundPatternColor = wdColorBlack
End With
.Borders.Shadow = False
End With
With Selection.Find
.Text = ""
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
在此示例中,我使用的是 Algeria 而不是 Verdana,因此我可以更轻松地查看字体更改。
【问题讨论】:
标签: vba ms-word styles accessibility