2017-09-14 49 views
-1

私は現在、次の問題で苦労しています:Excelの.msgファイルからデータを抽出する方法は?

フォルダに保存された大量のプロジェクト電子メール(.msg)を整理する作業を進めています。ファイルは 'Message.msg'から 'DateSent-from Sender-Message.msg'に名前を変更する必要があります。

名前の変更はExcelマクロでは簡単ですが、私は本当に必要なデータを.msgから取得するのに苦労しています。

.msgファイルから情報を読み取るための方法はありますか?これまでに試したことはすべて失敗しました。私はSenderとDate Sentに興味があります。

ありがとうございます。ここ

+0

オープンそれで、送信者と送信日時の両方が生のテキストから読めるはずです。 – CLR

+0

@clr、私はちょうどテキストエディタを使って保存されたoutlook msgファイルを開いた。ファイルはバイナリです。私はクリアテキストを見つけられませんでした。 – jsotola

+0

@jsotola - どれくらい奇妙ですか。私が見たメールの大部分は不器用で、SenderとDateなどがはっきりと見えるように、これが保存される方法が異なる必要があります。私はあなたの答えは、とにかく、これを解決する以下の賞を参照してください! – CLR

答えて

1

は、テキストストリームなどの一部の開始コード

Option Explicit 

Sub getMsgData() 

    ' add reference to microsoft outlook object library 

    Dim olApp As Outlook.Application 
    Set olApp = CreateObject("Outlook.Application") 

    Dim mailDoc As Outlook.MailItem 
    Dim i As Long 
    i = 1 

    Dim nam As Variant 
    For Each nam In Array("test.msg", "test2.msg") 
     Set mailDoc = olApp.Session.OpenSharedItem(ActiveWorkbook.Path & "\" & nam) 
     Sheets("sheet1").Range("a1").Offset(i) = mailDoc.SentOn 
     Sheets("sheet1").Range("a1").Offset(i, 1) = mailDoc.Sender 
     mailDoc.Close False 
     i = i + 1 
    Next nam 

    olApp.Quit 

    Set mailDoc = Nothing 
    Set olApp = Nothing 

End Sub 
関連する問題