はじめに
こんにちは、水野です。
自分の現場ではメールテンプレートを多用するのですが、
運用が頻繁に変わるため、その都度テンプレートの変更を求められます。
マクロをつかうので、必要なテンプレートを比較的簡単に引っ張ってこれるのですが、
普段の業務にちょこちょこ修正作業をしないといけないというのがとても面倒くさいので、
簡単に修正できる方法がないか調べてみました。
簡単な仕様の紹介
1.使っているツールはシートにてどのテンプレートを引っ張ってくるかを選択
2.1で選択した内容から、テンプレート名,テンプレート格納先のパス,
,件名,宛先,CCがまとめられているシートの情報を引用
3.エクスプローラーに格納したテンプレート(.oftファイル)に、情報を張り付ける。
難点
特定のパスにテンプレートファイル(.oft)を格納しているので、
テンプレートを修正するために以下の手順を踏まないといけない。
【修正方法】
・.oft ファイルをOutlookで開く。
・メールを .msg ファイルとして保存する。
・.msg ファイルを修正する。
・修正したメールを再び .oft ファイルとして保存する。
つまり面倒くさいのです。
改善方法
件名,宛先,CCの情報等がまとめられているシートに並べて、本文情報もセルに記載する。
【Excelのシートからデータを取得】
Set ws = ThisWorkbook.Sheets("メールデータ")
ToAddress = ws.Range("A2").Value ' 宛先
CCAddress = ws.Range("B2").Value ' CC
Subject = ws.Range("C2").Value ' 件名
Body = ws.Range("D2").Value ' 本文
【新規メールを作成】
Set MailItem = OutlookApp.CreateItem(0)
' メールの情報をセット
With MailItem
.To = ToAddress ' 宛先
.CC = CCAddress ' CC
.Subject = Subject ' 件名
.Body = Body ' 本文
.Display ' メールを表示 (送信するには .Send に変更)
End With
※メールデータがまとまっているシートのセルD2から本文を引っ張って
新規メールにセットする内容だけを記載したものになり、詳細は割愛しています。
・長所
上記の例でいるとD2に本文をそのまま入力していきます。
Excelでのセル内の複数行入力は、Outlookでの改行と同様に扱われるため
修正箇所を直接書き換えるだけでテンプレートの修正が可能
・短所
本文の改行等はOutlookにも反映されますが、.oftファイルとは異なり、
特定の単語だけ色を変える、フォントを変えるなどのフォーマットに制限かかる。
最後に
今回改善方法を調べた中で、.oftファイルを使った方法、シートのセルに直接記入する方法
なんだかんだで一長一短なんだなということを改めて痛感しました。
自分の業務内容的には注意点等をわかりやすく先方に伝える必要があるため
.oftファイルでテンプレートを利用する今現在の運用のほうがいいのかなと納得させられる結果となってしまいました…
以上、水野でした。