前提・実現したいこと
初めまして。
VBA初心者です。
ExcelのVBAで、OUTLOOL2013のメッセージファイル(.msg)から送信元アドレスを取得しようとしています。
今回は受信トレイのメールからではなく、ローカルの任意の場所にコピーしたメッセージファイル(.msg)からデータを取り出したいです。
該当のソースコード
VBA
1Sub get_msg() 2 3 4Dim OL As Object 5Dim msg As Object 6Dim intNo As Integer 7Dim strFileName As String 8Dim strOutFileName As String 9Dim SaveFolderPath As String 10Dim AttFile_excel As String 11Dim AttFile_text As String 12 13' テキストを出力するファイルを設定(※要変更) 14strFileName = "C:\Temp\明日の予定について.msg" 15' テキストを出力するファイルを設定(※要変更) 16strOutFileName = "C:\Temp\sample.txt" 17' 添付ファイルの保存先フォルダ(※要変更) 18SaveFolderPath = "C:\Temp\" 19'メールに添付されているエクセルファイル 20AttFile_excel = "C:\Temp\サンプルエクセル.xlsx" 21'メールに添付されているテキストファイル 22AttFile_text = "C:\Temp\サンプルテキスト.txt" 23 24'Outlookのアプリケーションオブジェクトを作成する 25Set OL = CreateObject("Outlook.Application") 26Set msg = OL.CreateItemFromTemplate(strFileName) 27 28 29intNo = FileSystem.FreeFile() ' フリーファイルNoを取得 30Open strOutFileName For Output As #intNo ' 上書きモードでファイルをオープン 31 32 33 Print #intNo, "SentOnBehalfOfName: " & msg.SentOnBehalfOfName 34 Print #intNo, "SenderName: " & msg.SenderName 35 Print #intNo, "ReceivedOnBehalfOfName: " & msg.ReceivedOnBehalfOfName 36 Print #intNo, "ReplyRecipientNames: " & msg.ReplyRecipientNames 37 Print #intNo, "To: " & msg.To 38 Print #intNo, "CC: " & msg.CC 39 Print #intNo, "BCC: " & msg.Bcc 40 Print #intNo, "Subject: " & msg.Subject 41 Print #intNo, "Body: " & msg.Body 42 43Close #intNo ' ファイルをクローズ 44 45Set msg = Nothing 46Set OL = Nothing 47 48End Sub
試したこと
[実行結果]
SentOnBehalfOfName
: Yamada, Taro/山田 太郎 ←★ここをメールアドレスとして取得したい
SenderName
: Yamada, Taro/山田 太郎
ReceivedOnBehalfOfName
: Suzuki, Hanako/鈴木 花子
ReplyRecipientNames
:
To
: Suzuki, Hanako/鈴木 花子
CC
:
BCC
:
Subject
: 明日の予定について
Body
:
担当者様
お世話になっております。
明日の出発時間は何時でしょうか。
以下のようなプロパティを利用しても、メールアドレスではなく名前に変換されてしまいます。
SentOnBehalfOfName
Sender
SenderEmailAddress
を使用しても、以下のように組織にあるExchangeサーバの情報しか取れません。
/O=xxxx EXCHANGE ORGANIZATION/OU=EXCHANGE ADMINISTRATIVE GROUP (FYDIBOHF23SPDLT)/CN=RECIPIENTS/CN=YAMADA.TARO018
どうすれば、名前として変換されているメールアドレスを取得できるでしょうか。
プロパティについては、以下MSDNを参考にしています。
MailItem メンバー (Outlook)
補足情報(FW/ツールのバージョンなど)
回答1件
あなたの回答
tips
プレビュー