ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: zhaoxh889

如何宏语句实现断开文件中的所有链接(非超级链接)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2005-12-11 16:19 | 显示全部楼层
谢谢,第一次听说。

TA的精华主题

TA的得分主题

发表于 2005-12-11 16:47 | 显示全部楼层

因为运行时间比较长,因此设计了用户窗体,以便知道当前运行的进度。不想要用户窗体的话,代码如下:

Sub delFieldLink()
Dim shapeLoop As Shape
Dim i As Integer

Application.ScreenUpdating = False

fieldUnlink aFields:=ActiveDocument.Content.Fields
On Error Resume Next
For Each shapeLoop In ActiveDocument.Shapes
If shapeLoop.TextFrame.HasText Then fieldUnlink aFields:=shapeLoop.TextFrame.TextRange.Fields
Next
On Error GoTo 0

For Each shapeLoop In ActiveDocument.Shapes
If shapeLoop.Type = msoLinkedOLEObject Then
shapeLoop.LinkFormat.Update
shapeLoop.LinkFormat.BreakLink
End If
Next shapeLoop

Application.ScreenUpdating = True
End Sub
Sub fieldUnlink(aFields As Fields)
Dim myField As Field
For Each myField In aFields
If myField.Type = wdFieldLink Then myField.Unlink '只删除文件链接
Next myField
End Sub


我这里测试的结果是这样的,打开文档的时候,好像要先更新链接,不然代码运行的时候会提示找不到链接的文件。但我在另一台机器运行的时候,却可以不需要更新链接。真是奇怪。总觉得这里似乎有个选项,可以在删除图形链接ole的时候,不检查链接的文件,从而大大加快删除图形链接的速度。

测试代码的时候,打开任务管理器,可以看到在删除图形链接时,不断有Excel的进程被打开、关闭,正是这些进程的不断开、关造成了运行很慢。

守柔老师有空请帮忙查一查,是否有某个选项,可以让vba执行shapeLoop.LinkFormat.BreakLink时,不去检查链接文件是否存在。我对word比刚来论坛的时候稍微熟悉一点了,但查找相关帮助资料还是很不得要领。

TA的精华主题

TA的得分主题

发表于 2005-12-11 16:55 | 显示全部楼层
以下是引用konggs在2005-12-11 16:19:59的发言:
谢谢,第一次听说。

konggs兄,是向守柔老师“汉字拼音解决方案”中学来的。

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-12-11 18:29 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

两种方法我都试了,都可以断掉所有链接。

那个运行用户窗体的程序是因为我原来不会操作[em04],而第二个程序修改后更快捷一些!(其实我就是想要用宏模拟那个选择断开链接的操作,可能是我提问时没有表达清楚吧)[em17]

再次感谢守柔,konggs,gues1688对我的帮助,让我感受到EXCLEHOME的温暖][em20][em21][em24]

以前我只上来看贴提问,以后对于我力所能及能够帮助别人解决的问题,我也会积极响应。

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-16 01:36 , Processed in 0.035477 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表