メインコンテンツへスキップ

Excelからメールを送信し、本文にハイパーリンクを含めるにはどうすればよいですか?

Author: Siluvia Last Modified: 2025-08-06

ExcelでVBAコードを使用してメールを送信しようとしたことはありますか?また、メール送信時に本文にハイパーリンクを追加するにはどうすればよいですか?この記事では、この問題を解決する方法を紹介します。

VBAコードを使用してメール本文にハイパーリンクを挿入する


VBAコードを使用してメール本文にハイパーリンクを挿入する

以下のVBAコードを使用すると、Excelからメールを送信し、メール本文に特定のハイパーリンクを挿入できます。次の手順に従ってください。

1. ワークブックを開き、Alt + F11キーを押してMicrosoft Visual Basic for Applicationsウィンドウを開きます。

2. Microsoft Visual Basic for Applicationsウィンドウで、挿入 > モジュールをクリックし、以下のVBAコードをモジュールエディターにコピーします。

VBAコード: メール本文にハイパーリンクを挿入する

Sub EmailHyperlink()
'updated by Extendoffice 20190815
Dim xOtl As Object
Dim xOtlMail As Object
Dim xStrBody As String
    xStrBody = "Hi there:" & "<br>" _
              & "Please click " & "<a href="/ & "http://www.extendoffice.com"">Here</a> to open the page" & "<br>" _
              & "Thank you."
    On Error Resume Next
    Set xOtl = CreateObject("Outlook.Application")
    Set xOtlMail = xOtl.CreateItem(olMailItem)
    With xOtlMail
        .To = "Email Address"
        .CC = "Email Address "
        .BCC = " Email Address "
        .Subject = "Subject line"
        .HTMLBody = .HTMLBody & xStrBody
        .Display
    End With
    Set xOtl = Nothing
    Set xOtlMail = Nothing
End Sub

注意:

  • xStrBody行の本文とハイパーリンクを変更してください。
  • メールアドレス”を、実際にメールを送信するメールアドレスに置き換えてください。.To.CC、および.BCC行の「メールアドレス」を、実際にメールを送信するメールアドレスに置き換えてください。CCやBCCが必要ない場合は、それらの行をコード全体から削除するか、行の前にシングルクォートを追加して無効化します(例: 'CC =”メールアドレス”)。
  • 件名」を自分のメール件名に置き換えてください。

copy and paste the code into the module

3. F5キーを押してコードを実行します。その後、指定されたフィールドとハイパーリンク付きの本文を持つメールが作成されますので、送信ボタンをクリックしてメールを送信します。

the email is created with specified fields and body with hyperlink listed inside

a screenshot of kutools for excel ai

Kutools AIでExcelの魔法を解き放つ

  • スマート実行: セル操作、データ分析、グラフ作成を簡単なコマンドで行います。
  • カスタム数式: ワークフローを合理化するための独自の数式を生成します。
  • VBAコーディング: 簡単にVBAコードを作成し実装します。
  • 数式の解釈: 複雑な数式を簡単に理解できます。
  • テキスト翻訳: スプレッドシート内の言語障壁を取り除きます。
AI搭載ツールでExcelの機能を強化しましょう。今すぐダウンロードして、かつてないほどの効率を体験してください!

関連記事

Excelでのセル値に基づいて自動的にメールを送信する
Excelの特定のセル値に基づいてOutlook経由で特定の受信者にメールを送信したいとします。例えば、ワークシート内のセルD7の値が200より大きい場合、メールが自動的に作成されるようにしたい場合です。この記事では、この問題を迅速に解決するためのVBA方法を紹介します。

Excelでボタンがクリックされたときにメールを送信する
Excelワークシート内のボタンをクリックしてOutlook経由でメールを送信する必要がある場合、どのようにすればよいでしょうか?この記事では、それを実現するためのVBA方法を詳しく紹介します。

Excelで期日が到来した場合にメールを送信する
列Cの期日が7日以内(現在の日付が2017/9/13の場合)である場合、列Aに記載された特定の受信者に、列Bに記載された内容でリマインダーメールを送信します。これを実現するにはどうすればよいですか?この記事の方法がお役に立ちます。

最高のオフィス生産性ツール

🤖 Kutools AI Aide:データ分析を革新:インテリジェント実行   |  コード生成  |  カスタム数式の作成  |  データを分析してグラフを生成  |  Kutools Functions を呼び出す
人気機能重複の検索・ハイライト・マーキング   |  空白行を削除   |  データを失わず列やセルを統合   |   丸める ...
スーパーLOOKUP複数条件VLOOKUP   複数値VLOOKUP  |  複数シートの検索  |  ファジーマッチ ....
高度なドロップダウンリストすばやくドロップダウンリストを作成   |  依存型ドロップダウンリスト   |  複数選択ドロップダウンリスト ....
列の管理:特定数の列を追加  | 列を移動  | 非表示列の表示状態を切り替え |  範囲と列の比較 ...
注目機能グリッドフォーカス   |  デザインビュー  |  強化された数式バー   ワークブック&ワークシートの管理   |  オートテキスト ライブラリ (Auto Text)   |  日付ピッカー   |  データの統合   |  セルの暗号化/復号化    リスト送信で電子メールを送信   |  スーパーフィルター   |   特殊フィルタ(太字/斜体/取り消し線でフィルタ...)
トップ15ツールセット12 種類のテキストツールテキストの追加特定の文字を削除など)  |  50 種以上のグラフ タイプガントチャートなど)  |  40を超える実用的な 数式誕生日に基づいて年齢を計算する、など)  |  19種の 挿入ツールQRコードの挿入パスから画像の挿入など)  |  12種類の 変換ツール単語に変換する通貨変換など)  |  7つの 結合&分割ツール高度な行のマージセルの分割など)  |  ...さらに多数
お好きな言語でKutoolsを使用できます ― 英語、スペイン語、ドイツ語、フランス語、中国語など40以上に対応!

Kutools for ExcelでExcelスキルを強化し、かつてない効率を体験しましょう。 Kutools for Excelは300以上の高度な機能で生産性向上と時間短縮を実現します。最も必要な機能を今すぐ取得...


Office TabはOfficeにタブ表示を追加し、作業効率を大幅に向上させます

  • Word、Excel、PowerPointでタブ編集とタブ閲覧を有効にします
  • 同じウィンドウ内の新しいタブで複数のドキュメントを開いたり作成したりできます。新しいウィンドウを開く必要はありません。
  • 生産性が50%向上し、1日に何百回ものマウスクリックも削減できます!