メイン画像

VBScript - Outlook メールの本文をテキストファイルに書き出す

VBScript - Outlook メールの本文をテキストファイルに書き出す


Outlook メッセージファイルを HTML 形式で生成するスクリプトを書いている。
メール本文にどのような HTML を設定するのが適切なのか Outlook で作ったメッセージファイルのソースを参考にしようと思ったが、どうしたら見られるのか分からなかった。
仕方がないので、スクリプトからファイルを開き、メール本文(HTML)をテキストファイルに書き出すことにした。

スクリプト

前提:Outlook を起動しておくこと。

あとは定数 MSG_FILE_PATH にファイルパスを設定し、スクリプトを実行するだけで良い。

Temp フォルダにランダムなファイル名でテキストファイルが作られる。

Option Explicit

'Outlook メッセージファイルのパス
Const MSG_FILE_PATH = "〈Outlook メッセージファイルのパス〉"

'------------------------------
'本文を取得
'------------------------------
Dim mailBody
mailBody = ""

With GetObject(, "Outlook.Application")
  With .GetNamespace("MAPI")
    With .OpenSharedItem(MSG_FILE_PATH)
      mailBody = .HTMLBody
      .Close 1
    End With
  End With
End With

'------------------------------
'テキストファイルに保存(UTF-8)
'------------------------------
'書き込み先のファイルパスを生成
Dim path
With CreateObject("Scripting.FileSystemObject")
  path = .BuildPath(.GetSpecialFolder(2), .GetTempName())
End With

'ファイルに書き込む
With CreateObject("ADODB.Stream")
  .Type = 2
  .Charset = "UTF-8"
  .Open
  .WriteText mailBody
  .SaveToFile path
  .Close
End With

WScript.Echo "書き込み完了" & vbLf & path

入力チェックやエラー処理は入っていないが、自分で使う分にはこれで十分だろう。


アカウントを作成 して、もっと沢山の記事を読みませんか?


この記事が気に入ったら ことりと さんを応援しませんか?
メッセージを添えてチップを送ることができます。


この記事にコメントをしてみませんか?


酒とアクアリウムが最近の楽しみ。

おすすめの記事