ハイパーリンクのリンク先にメールアドレスを指定する
宛先入りメール作成画面を開くリンクをA1に作ります。
実行前に確認
- A1の値・数式を表示文字で上書きします。メールの例は作成画面を開くだけで送信はしません。
- メールアプリの関連付けが必要です。件名の空白は%20で表しています。
1サンプルコード
Sub Example1129()
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("Sheet1")
If MsgBox("A1の内容とリンクを書き換えます。続けますか?", vbYesNo + vbExclamation) <> vbYes Then Exit Sub
ws.Hyperlinks.Add Anchor:=ws.Range("A1"), Address:="mailto:someone@example.com", _
SubAddress:="", ScreenTip:="", TextToDisplay:="リンクを開く"
End Sub図で見る操作の流れ
イメージ図概念図:マクロはリンクを作り、メール画面は後で手動で開きます。
手動:確認
実行後、A1の上書き確認で[はい]
マクロ:リンク作成
Sheet1!A1を「リンクを開く」に変更
手動:リンクを開く
A1をクリックし、someone@example.com宛てのメール作成画面を開く
[いいえ]なら変更なし。メールアプリの関連付けが必要で、メール送信は行いません。
コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。
使い方・実行手順を確認する4つの手順で、コードの使い方を確認できます
- 1
練習用のブックを.xlsm形式で保存し、Sheet1という名前のシートを用意します。A1をリンク用に空けます。
- 2
Alt+F11でVBEを開き、[挿入]→[標準モジュール]へコードを貼り付けます。
- 3
AddressがURLやメール宛先、SubAddressがブック内の移動先です。TextToDisplayで表示文字を変えます。
- 4
マクロ内にカーソルを置いてF5で実行します。A1にリンクができます。クリックして動作を確認します。