【Outlook VBA】リンク付きメールを作成する方法(HTML)
今回はVBAでリンク付きメールを作成する方法を紹介します。
OutlookではメールでHTML形式を選ぶと、本文内にリンク付きテキストを入れることができます。
今回はこのリンク付きテキストをVBAから挿入する方法を紹介します。
VBAでリンク付きメールを作成する方法
- メールをHTML形式にする
- HTMLBodyプロパティに本文を書き込む
- <a>タグの形式でリンク付きテキストを埋め込む
リンク付きメールを作成するポイントはこの3つになります。
上2つがVBAでの簡単な設定で、3つ目はリンクを作るために本文にaタグ(HTMLにおけるリンクを示すタグ)を埋め込む必要があります。
Sub MailWithLink()
'''リンク付きメールを作成
Dim oItem As MailItem
Set oItem = CreateItem(olMailItem)
With oItem
.BodyFormat = olFormatHTML 'html形式
.HTMLBody = GetUrlLink("リンク付きテキスト", "URL")
.Display
End With
End Sub
Function GetUrlLink(strDisp As String, strUrl As String) As String
'''urlをaタグ形式で返す
GetUrlLink = "<a href=" & Chr(34) & strUrl & Chr(34) & ">" & strDisp & "</a>"
End Function
実際にリンク付きメールを作成するコードはこのようになります。
.BodyFormat = olFormatHTML 'html形式
.HTMLBody = GetUrlLink("リンク付きテキスト", "URL")
まず、「メールをHTML形式にする」と「HTMLBodyプロパティに本文を書き込む」はこの部分で行っています。
HTMLBodyプロパティには、リンクを作る関数しか入れていませんが、この他に記載したいメール本文を追加してみてください。
<a>タグの形式でリンク付きテキストを埋め込む
Function GetUrlLink(strDisp As String, strUrl As String) As String
'''urlをaタグ形式で返す
GetUrlLink = "<a href=" & Chr(34) & strUrl & Chr(34) & ">" & strDisp & "</a>"
End Function
リンク付きテキストは、この簡易的なFunctionプロシージャを使って作成しています。
<a href="URL">表示するテキスト</a>
HTMLのaタグはこのように書くのですが、これを毎回エディタで書くのは手間なため簡易的な関数を用意しておいて、aタグを書くのをラクにしています。
GetUrlLink(“リンク付きテキスト", “URL")とすると、簡単にaタグを作ることができます。
この関数と他のテキストを組み合わせて、メール本文を作成してみてください。
※コード内のChr(34)はダブルクォーテーションです。
Chr(34)については↓の記事をご覧ください。