Microsoft Word で HTML 形式で電子メール メッセージに差し込み印刷を実行すると、データ ソース フィールドのハイパーリンクはプレーン テキストとして表示され、非アクティブになります。 この記事では、この問題を回避するための 2 つの方法について説明します。
方法 1: 差し込み印刷フィールドの周囲にハイパーリンク フィールドを追加する
差し込み印刷フィールドの周囲にハイパーリンク フィールドを追加して、差し込まれた電子メール メッセージにハイパーリンクを生成します。 これらの手順を実行すると、ハイパーリンクはすべての電子メール メッセージに同じテキストを表示します。 さらに、ハイパーリンクは正しいデータ ソース URL に接続します。
この場合、次の手順を実行します。
-
Word を起動し、電子メールに差し込む文書を開きます。
-
リボンの [差し込み印刷] タブで、[差し込み印刷の開始] を選択します。 [ ステップ バイ ステップ差し込み印刷ウィザード...] を選択します。 差し込み印刷ウィザードが右側に表示されます。
-
[ ドキュメントの種類の選択] で、[電子メール メッセージ] を選択し、[次へ] を選択します。
-
[ 開始ドキュメントの選択] で、[現在のドキュメントを使用する] を選択し、[次へ] を選択します。
-
[ 受信者の選択] で、使用する受信者を選択し、[次へ] を選択します。
-
ハイパーリンクを電子メール メッセージに表示する挿入ポイントを配置します。
-
[リボンの挿入] タブの [テキスト] セクションの [クイック パーツ] メニューで、[フィールド] を選択します。
-
[ フィールド名 ] の一覧で [ハイパーリンク] を選択し、[OK] を選択します。 "Error! ハイパーリンク参照が無効です" がドキュメントに表示されます。
-
Alt キーを押しながら F9 キーを押して、{ HYPERLINK \* MERGEFORMAT } フィールド コードを開きます。
-
ハイパーリンクの後にカーソルを置き、スペースを追加します。
-
[リボンの挿入] タブの [テキスト] セクションの [クイック パーツ] メニューで、[差し込み印刷フィールドの挿入] を選択します。
-
[ フィールド名 ] ボックスの一覧で [MergeField] を選択します。
-
[ フィールド名 ] テキスト ボックスに、ハイパーリンクを含むデータ ソース フィールドの名前を入力し、[OK] を選択します。 たとえば、データ ソース フィールドの名前が "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のプログラミング リソースの一覧