我正在用MS Access VBA执行一个Word邮件合并。文档中包含图片和超链接,这些图片和超链接都是基于邮件合并源表的动态链接。
为了转换图片,我在执行邮件合并后使用objWord.Fields.Unlink,但我最近添加了一个动态超链接,代码也删除了这些链接。
为了插入图片,我使用{ INCLUDEPICTURE { IF TRUE "{PicturePathFromMailmerge}" } \d }
要插入超链接,我有{ HYPERLINK { MERGEFIELD LinkFieldFromMailmerge } * MERGEFORMAT }。
我的代码是。
objWORD.MailMerge.Execute
Set objNEW = objWORD.Application.ActiveDocument
objNEW.Fields.Unlink
所以,很不严谨,但我对Word文档的VBA使用经验不多。
如何删除图片链接而不删除超链接链接?图片是包含在一个表格中的,如果你能运行选中每个表格并取消链接内容的代码,可能会有帮助?
简单的回答是,用字段编码是做不到的。需要用宏来实现。比如,作为一个独立的Word宏,截取'编辑单个文档'的过程。
Sub MailMergeToDoc()
Application.ScreenUpdating = False
Dim i As Long
ActiveDocument.MailMerge.Execute
With ActiveDocument
For i = .Fields.Count To 1 Step -1
If .Fields(i).Type <> wdFieldHyperlink Then .Fields(i).Unlink
Next
End With
Application.ScreenUpdating = True
End Sub