當您在 Microsoft Word 中以 HTML 格式對電子郵件執行合併列印時,資料來源欄位中的超連結會顯示為純文字且非作用中。 本文說明解決此問題的兩種方法。
方法 1:在合併列印功能變數周圍新增超連結欄位
在合併列印欄位周圍新增超連結欄位,以在合併的電子郵件訊息中產生超連結。 遵循這些步驟之後,超連結會在所有電子郵件訊息中顯示相同的文字。 此外,超連結會連線到正確的資料來源 URL。
如果要執行這項操作,請依照下列步驟執行:
-
啟動 Word 並開啟您要合併到電子郵件的檔。
-
在功能區的 [郵 寄] 索引標籤上,選 取 [啟動 合併列印]。 選 取逐步合併列印精靈... 合併列印精靈會顯示在右側。
-
在 [選取檔案類型]底下,選取[電子郵件訊息],然後選取 [下一步]。
-
在 [選取起始檔] 底下,選取[使用目前的檔],然後選取 [下一步]。
-
在 [ 選取收件者] 底下,選取您要使用的收件者,然後選取 [下一步]。
-
將插入點置於您要在電子郵件訊息中顯示超連結的位置。
-
從 [插入功能區] 索引標籤 [文字] 區段的[快速元件] 功能表中,選取 [功能變數]。
-
在 [ 功能變數名稱] 清單中,選取[超連結],然後選取 [確定]。 文字「錯誤! 超連結參照無效」會出現在檔中。
-
按 ALT+F9 以開啟 { HYPERLINK \* MERGEFORMAT } 功能變數代碼。
-
將插入點放在 HYPERLINK 之後,然後新增一個空格。
-
從 [插入功能區] 索引標籤 [文字] 區段的[快速元件] 功能表中,選取[插入合併功能變數]。
-
在 [ 功能變數名稱] 清單中,選取[MergeField]。
-
在 [ 功能變數名稱 ] 文字方塊中,輸入包含超連結的資料來源欄位名稱,然後選取 [確定]。 例如,如果資料來源域的名稱是 「Address1」,功能變數代碼會如下所示:
{ HYPERLINK { MERGEFIELD 「Address1」 } \* MERGEFORMAT }
-
按 ALT+F9 以關閉 { HYPERLINK { MERGEFIELD 「<功能變數名稱>」 } \* MERGEFORMAT } 功能變數代碼。
-
將插入點放在「錯誤! 超連結參照不正確文字,並以您要顯示的超連結文字覆寫文字。 例如,使用按一下 [這裡] 等文字覆寫文字。
重要: 請確定您不會刪除整個欄位。
-
選取您在步驟 15 中輸入的文字。 選取功能區 [常用] 索引標籤 [樣式] 區段右下角的 [洩漏] 按鈕,然後選取[超連結]。
-
在 [合併列印精靈] 中,選取 [下一步],然後依照合併列印精靈中的其餘步驟完成合併列印程式。
方法 2:建立可動態修改超連結文字的宏
Microsoft 僅提供圖例的程式設計範例,不包含表達或暗示的保固。 這包括但不限於適售性或適合某特定用途的默示擔保。 本文假設您熟悉示範的程式設計語言,以及用來建立和偵錯程式的工具。
Microsoft 支援工程師可以協助說明特定程式的功能,但不會修改這些範例以提供符合您特定需求的新增功能或建構程式。 如果您想要動態修改合併電子郵件訊息中的超連結文字,請建立宏。
遵循這些步驟之後,超連結會顯示以資料來源中的 URL 為基礎的文字。 如果要執行這項操作,請依照下列步驟執行:
-
請依照「方法 1:在合併列印欄位周圍新增超連結欄位」中的步驟進行。
-
在 [ 工具] 功能表上,指向 [ 宏],然後選取 [Visual Basic 編輯器]。
-
按 F7。 代碼視窗隨即出現。
-
將下列程式碼複製並貼到程式碼視窗中:
Sub MergeToEmail() Dim bDone As Boolean bDone = False Do While bDone = False ActiveDocument.Fields.Update For Each oHyperlink In ActiveDocument.Hyperlinks oHyperlink.TextToDisplay = oHyperlink.Address oHyperlink.Range.Font.Color = wdColorBlue oHyperlink.Range.Font.Underline = wdUnderlineSingle oHyperlink.Range.Font.UnderlineColor = wdColorBlue Next oHyperlink With ActiveDocument.MailMerge .Destination = wdSendToEmail .SuppressBlankLines = True ' You can modify the text "Enter Your Subject Here" or ' remove the following line if you do not want a subject ActiveDocument.MailMerge.MailSubject = "Enter Your Subject Here" With .DataSource .FirstRecord = ActiveDocument.MailMerge.DataSource.ActiveRecord .LastRecord = ActiveDocument.MailMerge.DataSource.ActiveRecord End With .Execute Pause:=False End With If ActiveDocument.MailMerge.DataSource.ActiveRecord = _ ActiveDocument.MailMerge.DataSource.RecordCount Then bDone = True End If ActiveDocument.MailMerge.DataSource.ActiveRecord = wdNextRecord Loop End Sub
-
在 [ 工具] 功能表上,指向 [ 宏],然後選取 [宏]。
-
選取[MergeToEmail],然後選取 [執行]。
附註: 針對您使用此宏傳送的每封電子郵件訊息,會出現一則來自 Microsoft Outlook 的警告訊息。
警告: Microsoft 已確認這是「適用專案」一節中所列的 Microsoft 產品中的錯誤。
其他相關資訊
如需如何使用合併列印功能來建立電子郵件訊息的詳細資訊,請移至:如何使用合併列印在 Word 2002 中建立電子郵件訊息。
如需如何取得 Visual Basic for Applications 說明的詳細資訊,請移至:
305326 Visual Basic for Applications 的程式設計資源清單