OutlookのHTMLメールをコードで作成する

OutlookでHTMLメールを作成するときに
コードを直接書いて作りたいときがありました
今後こういうことがあるかわかりませんが一応メモ

VBAマクロの設定を行いHTMLメールを作成

1.Outlookの「開発」タブを出す

初期設定では「開発」タブは出てないので
ファイル

オプション

リボンのユーザー設定から「開発」にチェックを入れます

2.HTMLソースを編集するためのマクロを実行するコードを入れる

表示された「開発」タブからVisual Basicをクリック
ThisOutlookSessionを開き 以下のコードを入れます

Sub HTMLEdit()
Dim objShell As Object
Dim objFso As Object
Dim strFileName As String
Dim stmFile As Object

Set objShell = CreateObject("WScript.Shell")
Set objFso = CreateObject("Scripting.FileSystemObject")
strFileName = objShell.ExpandEnvironmentStrings("%temp%\") & objFso.GetTempName()
Set stmFile = objFso.CreateTextFile(strFileName, True)
stmFile.WriteLine ActiveInspector.CurrentItem.HTMLBody
stmFile.Close
objShell.Run "%windir%\notepad " & strFileName, , True
Set stmFile = objFso.OpenTextFile(strFileName, 1)
ActiveInspector.CurrentItem.HTMLBody = stmFile.ReadAll
stmFile.Close
objFso.DeleteFile strFileName
End Sub

このコード ググっていろいろなところで紹介されているものから使わせてもらったのですが
おおもとはこちらではないかと思われます
ありがとうございますm(_ _)m

Outlook で HTML ソースの編集を行うマクロ
Outlook Express では HTML メールのソースを編集することができるのですが、Outlook …

3.新規メールでHTMLコードを使って作成

上記内容を保存して閉じたら、新規メールを立ち上げます
開発タブをクリックし「マクロ」から

先程の ThisOutlookSessionを選択するといろいろコードが書かれたウィンドウが開く

始めに入っているコードを書きたい内容のコードと入れ替えて保存すると新規メールの内容として表示されます
もちろんcssも使えます

しかし、編集用のウインドウが出てこない場合があります
その場合はマクロが使えなくなっています
新規メールの「マクロのセキュリティ」で設定を確認すると

デジタル署名されたマクロに対しては警告を発し、その他のマクロはすべて無効にする
にチェックが入っているかと思います
ここで

すべてのマクロを有効にする
にすると使えるようになりますが( Outlook 再起動が必要)
推奨しませんと書いてあるくらいなのでやめておきます
というわけでデジタル署名の設定

デジタル署名の設定

署名の設定方法(Office2016の場合)

Cドライブ/Program Files/Microsoft Office/root/Office16/内にある
SELFCERT.EXE
をクリックして好きな名前を付けOK

Outlook本体の開発タブでVisual Basicを開く

「ツール」から「デジタル署名を開く」

先程の署名が選択されていることを確認しOK
ここでOutlook再起動

再び新規メールから
マクロ→ThisOutlookSession を開くと今度は警告が出ます

ここで

この発行者のドキュメントをすべて信頼する
にすると今後警告なしにマクロが使えるようになります

マクロがエラーになってしまうときのやり直し方法

何かいろいろ間違ってしまい
マクロのエラーが出てしまうとき…(;・∀・)
Cドライブ/ユーザー名/App Data/Roaming/Microsoft/Outlook/内にある
VbaProject.OTM
を削除すると
始めからマクロの設定をやり直すことができます(全部消えるので注意)
※App Dataが見当たらないときは隠しフォルダを表示しない設定になっていると思われるので
エクスプローラを開く→表示→オプション→表示タブで「隠しファイル、隠しフォルダー、および隠しドライブを表示する」にチェックを入れると出てきます

こんな流れです
HTMLで自由に内容を書けるのは良いのですが
一度作ったものを編集しようとすると 元の通りではなく、
オリジナルのソースになってしまってます
見づらいのでまた上書き→見た目チェック→別の場所で修正したものでまた上書き
の流れになります (;・∀・)
(よい方法があるのかもしれません)
めったにない作業ですが次にやろうとすると忘れていることは間違いないので
備忘録ということで…

コメント