エクセルの「メール送信」というセルをクリックすると、メールの宛先・件名・本文が自動入力された状態でメールソフトが立ち上がる方法です。
リストを準備する
まずは、「自分の名前」が入ったセルと、「文頭の1行」を自動入力するセルを準備します。(文頭の1行は無くてもOK)
下記のような「名前」「メール」「メール送信」「件名」「本文」列を作ります。
C列の「メール送信」セル(C5)に以下のような計算式を入力します。
=HYPERLINK("mailto:"&A5&" 様"&"<"&B5&">""?subject="&D5&"&body="&A5&" 様 "&"%0D%0A"&E2&"%0D%0A"&$A$2&"です。%0D%0A%0D%0A"&E5&"","メール送信")
この状態で、C5セルをクリックすると、宛先・件名・本文が自動入力された状態でメールソフトが起動します。
関数をひとつずつ解説していきます!
ハイパーリンク関数
HYPERLINK(リンク先, [別名])
リンク先 必ず指定します。開くドキュメントのパスとファイル名を指定します。リンク先には、ドキュメント内の特定の位置 (Excel のワークシートまたはブックの特定のセルや名前付き範囲など) や、Microsoft Word 文書のブックマークを指定することができます。パスには、ハード ディスク ドライブに格納されているファイルのパス、サーバー上の UNC (汎用名前付け規則) パス (Windows 版 Microsoft Excel を使用している場合)、またはインターネットやイントラネットの URL (Uniform Resource Locator) パスを指定することができます。
[別名] 省略可能です。セルに表示する文字列または数値を指定します。別名は、青色で下線が付けられて表示されます。別名を省略すると、セルにはリンク先で指定した文字列が表示されます。
=HYPERLINK("mailto:","")
リンク先に「mailto:」を設定すると、メールソフト起動+宛先が自動入力された状態になります。上の空白の状態であれば、宛先が空白の状態でメールソフトが起動します。
=HYPERLINK("mailto:info@exmple.com","")
メールアドレスが固定値であれば、入力されたメールアドレスが宛先に挿入された状態になります。(このままでは別名が空白ですので関数が入ったセルは空白の状態になります。)
=HYPERLINK("mailto:info@exmple.com?subject=test","テスト")
「?subject=」を繋げると、件名に入れるテキストを設定できます。
=HYPERLINK("mailto:info@exmple.com?subject=test&body=i send you message","テスト")
「&body=」を繋げると、件名に入れるテキストを設定できます。
改行をする時は「%0D%0A」という文字列を入れると、入れた部分でメール本文が改行されます。
※0D 0A・・・Windowsの 16進表記の改行コード。
CRLF(しーあーるえるえふ)とも言われます。
CR:Carriage Returnの略。 URLエンコード文字『%0D』、FLASH『\r』。
LF:Line Feedの略。URLエンコード文字『%0A』、FLASH『\n』
CR/LF:CR+LF。『%0D%0A』『\r\n』
=HYPERLINK("mailto:info@exmple.com?subject=test&body=All your dreams can come true if you have the courage to pursue them.","テスト")
=HYPERLINK("mailto:info@exmple.com?subject=test&body=All your dreams%0D%0A can come true%0D%0A if you have the courage%0D%0A to pursue them.","テスト")
=HYPERLINK("mailto:info@exmple.com?subject=test&body=連日厳しい暑さが%0D%0A続いておりますが、%0D%0Aいかがお過ごしですか。","テスト")
宛先や件名、本文を直接入力する場合はこれで完成です!
HYPERLINK関数を使う
冒頭のように他のセルを参照する場合は少し仕掛けが必要です。
[rml_read_more]
=HYPERLINK("mailto:"&A5&" 様"&"<"&B5&">""?subject=
このように&と参照セルを””で囲んで繋ぐ必要があります。
(セル番号を直接入力すると「A5様」のように直接文字が入ってしまいます)
=HYPERLINK("mailto:"&A5&" 様"&"<"&B5&">""?subject="&D5&"&body="&A5&" 様 "&"%0D%0A"&E2&"%0D%0A"&$A$2&"です。%0D%0A%0D%0A"&E5&"","メール送信")
これで、オートフィルを使えば、それぞれの行のお名前やメールアドレスを参照することができるようになります!(自分の名前や自分の文頭部分は絶対参照にすることを忘れないように注意が必要です)
まとめ
エクセルのリストからメール送信を多用する場合、このような設定をしてみると時短になるかもしれません。
お試し下さい。(^ ^)