【问题标题】:Edit the style of all hyperlinks in a Word document编辑 Word 文档中所有超链接的样式
【发布时间】:2020-07-05 20:13:02
【问题描述】:

我有一个充满超链接的 word 文档。链接本身工作正常,但由于某种原因,它们中的大多数不再是蓝色的了!我真正想做的就是尝试找到一种方法来使用宏或其他东西来浏览文档并将“超链接”样式格式添加到每个超链接。

我尝试自己编辑一些宏代码(一个会更改所有链接 URL 的代码),但我一直让问题变得更糟!我曾经擅长 VBScript,但从那时起已经很久了。

任何不涉及手动更改每种样式的简单解决方案?

顺便说一句,出于某种原因,它们目前都是“普通”样式。

【问题讨论】:

  • 欢迎来到 SO,罗伯特!如果不是您期望的蓝色,现在链接是什么颜色?它们是紫色的(表示它们之前被点击过)吗?
  • 谢谢!不,它们像纯文本一样是黑色的。其中有些有蓝色下划线,有些没有。我不相信这是以前点击过的东西。

标签: vba ms-word


【解决方案1】:

尝试执行此 VBA 脚本(最好在调试模式下使用 F8 键 - 并排放置 VBA 和 Word 窗口,以便您查看发生了什么):

Sub FormatLinks()
Dim H As Hyperlink

    For Each H In ActiveDocument.Hyperlinks
        H.Range.Select                                      ' (A)
        Selection.ClearFormatting                           ' (B)

        H.Range.Style = ActiveDocument.Styles("Hyperlink")  ' (C)
    Next H
End Sub

这会

  • 循环浏览文档中的所有超链接 (A),
  • 删除基础文本 (B) 上的所有格式并
  • 将不依赖的文本指定为样式“超链接”(C)

(C) 不是绝对必要的,因为 (B) 应该已经清理了您的文档,但是将超链接真正分配给样式“超链接”可能会更好,因为您以后可能想更改样式。

【讨论】:

  • 嘿,没有Run-time error '4198': Command failed,我无法运行此代码,当我点击调试按钮时,Selection.ClearFormatting 行被突出显示。我试图将代码简化为:Dim H As Hyperlink For Each H In ActiveDocument.Hyperlinks H.Range.Select Selection.ClearFormatting Next H 抱歉,在这些 cmets 中格式化代码块非常困难。简而言之,我无法让代码工作。
  • 你把代码放在哪里了?最好把它放在 ThisDocument 中......当然你不能删除 Sub / End Sub 行。然后通过将光标放置在 Sub / End Sub 之间的任意位置来启动 Sub,然后按 F8
  • 亲爱的@MikeD,如果我只想让它们看起来是蓝色并只加下划线怎么办?我有一些粗体链接,我不想取消粗体。
  • 根据您的喜好创建样式,为其命名(例如 HL_Unbold)并在 (C) 中应用它
猜你喜欢
  • 1970-01-01
  • 2013-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多