【问题标题】:How to use VBA to convert text in Microsoft Word如何使用 VBA 转换 Microsoft Word 中的文本
【发布时间】: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


    【解决方案1】:

    您正在寻找文本属性 Font="Arial 11pt",然后想要应用段落样式。可能应用于段落文本的属性比段落样式的属性具有更高的优先级。

    当您说“另外,如果我将标题样式应用于文档,然后手动将该样式编辑为 Arial 11pt 则...”您不是在手动编辑 样式,而是在编辑具有样式的段落的文本。 (编辑样式就意味着编辑样式的定义,并且该样式可以应用于许多段落)。

    你可以做两件事:

    • 用文本级新字体替换文本级字体,或
    • 删除文本级字体属性并应用段落样式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-04
      相关资源
      最近更新 更多