【问题标题】:Add Variable Hyperlink in Mail Merge in Word 2013在 Word 2013 的邮件合并中添加变量超链接
【发布时间】:2013-07-02 14:56:50
【问题描述】:

我正在尝试向邮件合并字段添加超链接。所以是这样的:

{HYPERLINK "{MERGEFIELD "Links" }"}

所以我创建了一个这样的字段。

{ MERGEFIELD Links }

并且上述工作(它为不同的收件人显示不同的链接)。

但是,当我转到编辑字段,然后尝试将 HYPERLINK 添加到 { MERGEFIELD Links} 时,Word 不允许我这样做。这意味着当我输入 HYPERLINK 后跟一个空格时,“变量”字段就消失了。而不是文字显示...

链接

它显示...

   {HYPERLINK "{MERGEFIELD "Links" }"}

即使在我按下“更新字段”之后。所以 Word 出于某种原因不允许我输入 HYPERLINK。

我该如何解决这个问题?

【问题讨论】:

    标签: ms-word mailmerge


    【解决方案1】:

    来自Microsoft Web Site

    1. Insert 菜单上,单击Field(在更高版本的 Office 中的 Quick Parts 下)。
    2. 在字段名称列表中,单击超链接, 然后单击确定。文字Error! Hyperlink reference not valid 出现在文档中。
    3. ALT+F9 打开{ HYPERLINK \* MERGEFORMAT } 域代码。
    4. 将插入点放在HYPERLINK 之后,然后添加一个空格。
    5. 在插入菜单上,单击Field。在Field names 列表中,单击MergeField。在字段名称文本框中,键入包含超链接的数据源字段的名称,然后单击确定。例如,如果数据源字段的名称为“Address1”,则字段代码如下所示:{ HYPERLINK { MERGEFIELD "Address1" } \* MERGEFORMAT }
    6. 按 ALT+F9 关闭域代码。您现在有 Error! Hyperlink reference not valid 文本。
    7. 将插入点放在Error! Hyperlink reference not valid 文本中间的任意位置,然后插入要显示的文本。如果您想要一个合并字段,请从菜单上的“插入合并字段”选项中插入。
    8. 删除Error!的剩余文本...在您要保留的文本之前和之后。

    注意:如果您的合并字段仅包含一个标识符,并且 URL 作为合并文档的静态部分提供,这也可以工作。在第 5 步中,您需要插入 URL 文本以及 MergeField,例如: { HYPERLINK "https://www.myurl.com/EditForm.aspx?ID={ MERGEFIELD ID }" \* MERGEFORMAT }

    【讨论】:

    • 那个也是 2003 年的,没有 insert > 字段了。
    • 我不确定你在说什么,我使用的是 Office 2013,这些步骤对我有用。
    • Word 2013 中的“插入 > 字段”步骤现在位于“插入功能区”>“文本面板”>然后是顶部中间按钮,您将在此处找到“字段”选项。
    【解决方案2】:

    我也一直在为此苦苦挣扎。我发现关键是从 SCRATCH 创建文档,而不是在执行邮件合并之前保存它。以下是我使用的步骤:

    1. 打开一个新文档并点击逐步邮件合并向导;添加您的通用文本。
    2. 要添加变量超链接,请转到插入>快速部件>字段
    3. 选择左侧的超链接并点击确定
    4. 使用 alt + F9 查看超链接字段代码
    5. 键入“” 并在它们之间插入您的合并字段,以便{HYPERLINK \* MERGEFORMAT} -> 变为{HYPERLINK"{MERGEFIELD"Constructed_URL"}"\*MERGEFORMAT}
    6. 按 ALT+F9 隐藏域代码
    7. 单击文本“错误!超链接引用无效”并替换为通用内容,例如单击此处。
    8. 在保存文档之前完成邮件合并。

    希望这会有所帮助,祝你好运!

    【讨论】:

    • 如果您遵循 LeniusC 的回答,则不需要最后一步 #8 -- 单击 MERGEFORMAT 并插入书签。
    【解决方案3】:

    从这里开始: http://support.microsoft.com/kb/912679 但是,就像 user1867326 指出的那样,当重新打开 Word 文件时,超链接(应该随着邮件合并而变化)被转换为静态链接。

    似乎可行的解决方案是在合并字段之后立即在超链接字段代码中添加书签。 { HYPERLINK { MERGEFIELD "Link" } \* MERGEFORMAT } 在 } 和 \ 之间单击,然后转到 INSERT > Bookmark,为其命名,这似乎可以防止 Word 用静态超链接替换合并字段。

    此答案已改编,并希望从此处描述的巧妙解决方案中得到澄清: Mailmerge dynamic hyperlink fields lost after save/reload of document - Word 2010

    【讨论】:

    • 如果您不参考外部流程,而是将相关部分拉到此处,将会很有帮助。
    • 那篇文章是针对 Office 2003 的,这是针对 2013 年的。那篇文章中的说明 7 没有意义,我认为现在的过程完全不同。
    • 说明 7 在那篇文章中没有意义,我认为现在的过程完全不同。我试图在上面写着 {HYPERLINK... 的地方插入该代码,但它似乎无法识别。
    • 当我尝试按照这些说明操作时,无法正确显示链接。我在 Windows 上使用 Word 2016。为了解决这个问题,我必须这样做:我必须使用插入菜单插入字段,而不是手动输入 {MERGEFIELD "Link"}。问题似乎是键入的花括号与使用“插入”命令时 Word 插入的花括号相同!
    【解决方案4】:

    这对我有用的电子邮件邮件合并可变超链接都显示相同的文本。我正在使用 Office 2016 Word。

    1. 将插入点放在文档中您希望链接显示文本出现的位置。
    2. 在插入菜单上,单击快速部件,然后选择字段。
    3. 在“字段名称”列表中,单击“超链接”,然后单击“确定”。文字错误!文档中出现超链接引用无效。
    4. 按 ALT+F9 打开 { HYPERLINK * MERGEFORMAT } 域代码。 5. 将插入点放在 HYPERLINK 之后。
    5. 在插入菜单上,单击快速部件,然后选择字段。在字段名称列表中,单击 MergeField。
    6. 在“字段名称”文本框中,键入包含超链接的数据源字段的名称,然后单击“确定”。例如,如果数据源字段的名称为“Address1”,则字段代码如下所示:{ HYPERLINK { MERGEFIELD Address1 } * MERGEFORMAT }
    7. 按 ALT+F9 关闭域代码。你现在有错误!超链接引用无效文本。
    8. 将插入点放在“错误!超链接引用无效文本。'并删除除句号外的所有文本。写入链接显示文本。确保不要删除句号(这很重要)。
    9. 要检查超链接是否映射,请右键单击链接显示文本,然后单击编辑超链接。您将在每条记录的地址字段中看到正确的链接。
    10. 我喜欢将句点文本颜色设置为白色,使其看起来不可见。

    【讨论】:

      【解决方案5】:

      我在其他建议方面的成功有限 - 基本上,Word 在这方面存在缺陷。有一个简单的替代方案 - 如果您希望超链接发生变化并且显示的文本也发生变化(这不是不合理的要求),那么确实是唯一的替代方案 AKAIK。

      请注意,这仅适用于 DOCUMENT MERGES,不适用于 EMAIL MERGES,因为它依赖于处理输出文档。

      诀窍是在需要超链接的任何位置添加位置标记(用作 ID 的文本)。通过常规合并字段插入此内容。在您的源数据表中,您需要列

      place marker, text_for_display, hyperlink
      

      然后,您需要将源数据放入 Excel(如果这不是您已经拥有的地方)并输入此公式

      ="Set Rng = ActiveDocument.Content: Rng.Find.Execute FindText:="""&[place marker]&""": ActiveDocument.Hyperlinks.Add Anchor:=Rng, Address:="""&[hyperlink]&""", TextToDisplay:="""&[text_for_display]&""""
      

      放入第一行的空白列,然后向下填写。

      您需要将 [place marker]、[hyperlink] 和 [text_for_display] 修改为相应的单元格引用。

      如果 [超链接] 包含查询字符串,您可能会发现您想使用公式构建它,基于源中的其他数据。

      然后可以将生成的公式粘贴到宏中并在输出文档上运行。

      然后您可能想要使用“Robbins/Mayor”宏 http://www.wordbanter.com/showthread.php?t=18346 来拆分生成的文档。

      【讨论】:

        【解决方案6】:

        感谢这个帖子,我得到了这个工作,但后来它停止工作,我想出了原因,所以我想通过在这里发布我发现的内容来表示感谢。

        问题是单词有一种特殊类型的花括号。由于这个原因,从这个线程复制代码文本可能不起作用。为了获得 Word 想要的花括号,我在运行 Catalina 和 Office 365 的 Mac 上使用了 Fn + Command + F9。显然,一些 Mac 用户可能会发现 Command + F9 有效——只需测试即可。我确定 Windows 也有类似的按键设置。我在this post找到了Mac解决方案。

        另外,适用于我的语法是: { HYPERLINK { MERGEFIELD "url" } * MERGEFORMAT } 其中 "url" 是我的 Excel 文件中带有链接的列的标签。注意引号的位置。这与此处的其他帖子不同(我尝试了其他组合),但如果语法可能因 Word 版本和操作系统而异,我不会感到惊讶。

        【讨论】:

          【解决方案7】:

          要让此方法在 Mac Office 365 (Big Sur) 中工作,您需要了解上下文菜单中的 Toggle Field Codes。上面复制 Alt-F9 行为的快捷方式将创建一个新字段,而不是允许您编辑存在的字段。

          在这些步骤中:

          按 ALT+F9 打开 { HYPERLINK * MERGEFORMAT } 域代码。

          按 ALT+F9 关闭域代码。你现在有错误!超链接引用无效的文本。

          右键单击错误消息,然后从上下文菜单中选择Toggle Field Codes,而不是键盘快捷键。

          Answer 对我来说非常适合这个调整!谢谢!

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-01-01
            • 1970-01-01
            • 2014-05-30
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多