ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

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

[复制链接]

TA的精华主题

TA的得分主题

发表于 2005-12-9 19:34 | 显示全部楼层

试着学习守柔老师、konggs编一个:

Option Explicit
Sub delLink()
Dim shapeLoop As Shape
On Error Resume Next
For Each shapeLoop In ActiveDocument.Shapes
With shapeLoop
If .Type = msoLinkedOLEObject Then
'.LinkFormat.Update
.LinkFormat.BreakLink
End If
If .TextFrame.HasText Then
fieldUnlink aFields:=.TextFrame.TextRange.Fields
End If
End With
Next
fieldUnlink aFields:=ActiveDocument.Content.Fields
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

TA的精华主题

TA的得分主题

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

为什么在较短的文件中都运行得很好,长篇的文章就出现WORD没有足名够的内存,操作完成后无法撤消的提示

TA的精华主题

TA的得分主题

发表于 2005-12-10 10:12 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
以下是引用zhaoxh889在2005-12-10 10:07:03的发言:

为什么在较短的文件中都运行得很好,长篇的文章就出现WORD没有足名够的内存,操作完成后无法撤消的提示

传一个会出错的文档上来,调试一下看看是什么是原因

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-12-10 10:47 | 显示全部楼层

好的,我传一份上来,请用前面三位高手的程序都试一下,帮忙看看问题出在哪里

刚才传的可能有问题,我又传了一个

Gcrlu7uO.rar (159.9 KB, 下载次数: 14)
[此贴子已经被作者于2005-12-10 11:07:05编辑过]

prwRyYel.rar

151.03 KB, 下载次数: 8

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-12-10 11:14 | 显示全部楼层

[QUOTE][/QUOTE]我又换了一篇文章在14楼,如果用守柔和konggs的会报错,能不能帮我调试一下

守柔和konggs

TA的精华主题

TA的得分主题

发表于 2005-12-10 11:43 | 显示全部楼层

不用VBA照样搞定,信不?

信的话,告诉你。不比VBA慢!

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-12-10 11:52 | 显示全部楼层

快告诉我吧,可别是用编辑——断开链接做,其实我之所以想用VB实现断开链接是为了将这段VB嵌入到另外的宏中,这样只点击一按钮就可以完成所有这些事

TA的精华主题

TA的得分主题

发表于 2005-12-10 12:00 | 显示全部楼层

当然不是,是后台的操作。感谢七叶一支梅兄吧!

他的以前贴给了我的灵感:

步骤:

1.工具/宏/microsfot 脚本编辑器

2.双击右边“项目资源管理器”下你的文档,

3.查找:(如下图)。

”)

4.全部替换,再到Word中,点刷新。怎么样,还行吗?

再次感谢七兄带我们进入脚本的世界(虽然我没进,但关键时刻就会想到“她”)。

谢谢七兄!

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

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

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-12-10 12:23 | 显示全部楼层
这也是断开链接的一个途径,感谢大家为我的事出谋献策,但我还是想用VB语句写出来(就是我上面所说的目的)。因为一、我的机器上面WEB脚本创作的功能没有安装,二、我虽然没有这样操作过,但感觉过程和在编辑——链接——断开链接的操作好像一样麻烦,并非只点击一次按扭就能完成的[em17]

TA的精华主题

TA的得分主题

发表于 2005-12-10 21:04 | 显示全部楼层
以下是引用zhaoxh889在2005-12-10 12:23:44的发言:
这也是断开链接的一个途径,感谢大家为我的事出谋献策,但我还是想用VB语句写出来(就是我上面所说的目的)。因为一、我的机器上面WEB脚本创作的功能没有安装,二、我虽然没有这样操作过,但感觉过程和在编辑——链接——断开链接的操作好像一样麻烦,并非只点击一次按扭就能完成的[em17]

下载并测试了会出错的文档。

因守柔版主提供的代码,就是微软帮助文件中提供的标准代码,但这段代码感觉很奇怪?用它断开链接时,即使把自动更新链接的语句屏蔽掉,但好像在断开之前仍然会自动更新链接的文件,导致删除链接非常之慢。

编写了新的代码,共有2个程序可以删除链接,其中一个因涉及到用户窗体,因此把代码连同文档一起上传。

原来的方法(程序之一),现在不会出错了,但删除链接很慢。

新的方法(程序之二),是模拟手工删除链接,速度很快。

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

本版积分规则

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

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

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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