Outlook/VBAで「いいね!」ボタンを作ってみた
2021/06/08
以前からメールで返信するまでもなく軽く相槌を打つ程度の表現ができればなって思っていました。ちょうどSNSの「いいね!」ボタンみたいなやつ。
特に会社のメールで「ありがとうございました。」の返信メール打つ人いますが、あれっていちいちメール打つの面倒くさいんですよね。僕は最近は社内の人だったら単純な「ありがとうございました。」メールは打たないことにしているんですが、なしのつぶてみたいになっちゃっていないかなって時折り思ってます。
なので、いっそのことOutlookに「いいね!」ボタン作ることにしました
完成形はこれです。アイコンは用意されているものしか選択できないので、それらしいアイコンを選びました。※ソースコードはこの記事の最後に載せています。
送られてきたメールを開いてこのボタンを押すと、勝手に「いいね!」と返信してくれます。なんてことはない、単なる自動返信です。
これが相手が受け取った。「いいね!」メールの例。ちなみに受け手はGmailです。
受け手がOutlookの場合は若干見た目が変わりますがこんな感じ。
ソースコード
こちらがソースコードです。
Sub pressLike() Dim mItem As MailItem If TypeName(Application.ActiveWindow) = "Inspector" Then Set obj = ActiveInspector.CurrentItem Else Set obj = ActiveExplorer.Selection(1) End If Set mItem = obj.Reply sname = getName(mItem.Body) mItem.HTMLBody = "<div style=""text-align:center;border:1px solid #000099;padding:10px;background:#eef;"">" & _ sname & "さんがあなたのメールを「いいね」と言っています。</div>" & vbCrLf & mItem.HTMLBody 'mItem.Display mItem.Send 'メール送信 End Sub Function getName(t) If InStr(t, "To:") > 0 Then result1 = Split(t, "To:") result2 = Split(result1(1), vbCrLf) getName = result2(0) Else getName = "このメール送信者" End If End Function
リボンにボタンを設置
気軽に「いいね」できるように、リボンにこのマクロを実行するボタンを設置しました。冒頭で紹介したやつですね。これを押せばバックグラウンドで「いいね!」メールが送信されます。
リボンにマクロ実行ボタンを設置する方法は以下を参照ください。
送る前にメールの内容を確認したい場合
あまりにもサクッと返信してしまうので、送る前に一度内容を確認したい人は、15行目のコメントを外し、代わりに16行目をコメントアウトするとOKです。
mItem.Display 'こちらを有効に。 'mItem.Send 'こちらをコメントアウト
送信されず、メールが作成された状態で止まります。確認後、自分で送信ボタンをおす必要あります。
まあ、今回のような「いいね!」メールじゃなくても、会社では「ご連絡ありがとうございました。」しか書かないメールがよく飛び交います。このプログラムをうまく流用すれば、テンプレ返信メールが作れますね。
スポンサーリンク