このサイトの記事内では「アフィリエイト広告」などの広告を掲載している場合があります。
消費者庁が問題としている「誇大な宣伝や表現」とならないよう配慮しコンテンツを制作しておりますのでご安心ください。
問題のある表現が見つかりましたらお問い合わせよりご一報いただけますと幸いです。

【Outlook VBA】リンク付きメールを作成する方法(HTML)

今回はVBAでリンク付きメールを作成する方法を紹介します。

OutlookではメールでHTML形式を選ぶと、本文内にリンク付きテキストを入れることができます。

今回はこのリンク付きテキストをVBAから挿入する方法を紹介します。

VBAが難しいと感じたら
プロにお任せして代わりに作ってもらってはいかがでしょう?
おすすめの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)については↓の記事をご覧ください。

VBAが難しいと感じたら
プロにお任せして代わりに作ってもらってはいかがでしょう?
おすすめのプログラマーを紹介しています

《VBA中級者向けの本》
VBA上級者を目指したい人にはパーフェクトExcel VBA一択です。

created by Rinker
技術評論社
¥3,608 (2024/02/29 15:48:28時点 Amazon調べ-詳細)

VBA

Posted by やろまい