今日、たまたま[20 メール関連] - [01 Outlook操作] - [Outlook 条件を指定して対象メール保存.ums6]を使う機会があって、msg形式でメール保存されたはいいものの、そこからmsgファイルを読み込むライブラリが見つけられなくて、ぬぉーーーーーっ!!ってなったのでスクリプト書いてみた。
ライブラリにも登録しておきましたー、寄ってってね?
1.設定イメージはこんな感じ。
2.スクリプトはこんな感じ。
GetMailBody(!msgファイルパス!) Function GetMailBody(MailFilePath) Dim oApp Set oApp = Nothing Dim oOlns 'As Outlook.NameSpace Dim oMItem 'As Object On Error Resume Next '起動済みのOutlookをクラス名を指定して取得 Set oApp = GetObject(, "Outlook.Application") On Error GoTo 0 'oAppがNothingなら If oApp Is Nothing Then Err.Raise 1, "", "Outlookが起動されていません。" 'WScript.Quit() Else Dim myOlExp Set myOlExp = oApp.ActiveExplorer If myOlExp Is Nothing Then Err.Raise 1, "", "Outlookが起動されていません。" WScript.Quit() End If End If Set oOlns = oApp.GetNamespace("MAPI") Set oMItem = oOlns.OpenSharedItem(MailFilePath) With oMItem SetUMSVariable $件名$, .Subject SetUMSVariable $受信日時$, .ReceivedTime SetUMSVariable $本文$, .Body .Close olDiscard End With GetMailBody = RsltStr End Function
3.備考はこんな感じ。
ファイル保存されたメール(.msg)を読み込みます。
一応、取り込むメールの本文が引用文含めてすんごく長くなりそうなら、「フローチャート画面」のシナリオ情報から「変数値の文字数を制限する」のチェックを外しとくことをおすすめします?