|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
本帖最后由 xiaoyouxi01 于 2018-1-22 16:47 编辑
【需求】
我希望用一段vba代码,运行一次,即可清空当前Word文档中的所有超链接。
在网上搜了好久,一直没找到完美的解决方案。
比如下面的思路1(Ctrl+Shift+F9),无法清除图片或形状的超链接。
而思路2,则碰到修订中有已删除的超链接时,会报错。
【思路1】
- Sub M1()
- Selection.WholeStory
- Selection.Fields.Unlink
- End Sub
复制代码 全选后,用Selection.Fields.Unlink,也就是先Ctrl+A,再Ctrl+Shift+F9。
这个方法无法清除图片或是形状的超链接。
【思路2】
- Sub M2()
- With ActiveDocument.Hyperlinks
- Do While .Count > 0
- .Item(1).Delete
- Loop
- End With
- End Sub
复制代码 这个思路是,只要超链接计数大于0,就一直删除编号为1的超链接,直到超链接计数为0。
但如果修订内容中存在被删除的超链接,此时运行代码会报错。
有没有什么方法可以绕过修订中被删的超链接?
放上Word测试文档(已开启修订模式,修订内容中包含已删除的超链接,不要关闭修订,也不要接受修订):
测试文档.rar
(18.33 KB, 下载次数: 13)
|
|