2016-04-23 29 views
0

次のコードでは、.msgファイルをExcelにインポートできます。 Outlookでマクロを作成して、インポートするのではなくエクセルファイルにメッセージを送ることができるかどうかは疑問でした。次のようにoutlook msgファイルをExcelに送信する方法

私はファイルを.msgのインポートに使用されるコードは次のとおりです。

Sub IMPORTMSG() 
    Application.ScreenUpdating = False 
    Application.EnableEvents = False 
    Application.DisplayAlerts = False 

    Dim i As Long 
    Dim inPath As String 
    Dim thisFile As String 
' Dim Msg As MailItem 
    Dim ws As Worksheet 
' Dim myOlApp As Outlook.Application 
' Dim MyItem As Outlook.MailItem 

    Set myOlApp = CreateObject("Outlook.Application") 
    Set ws = ThisWorkbook.Worksheets("A") 

    With Application.FileDialog(msoFileDialogFolderPicker) 
     .AllowMultiSelect = False 
      If .Show = False Then 
       Exit Sub 
      End If 
     On Error Resume Next 
     inPath = .SelectedItems(1) & "\" 
    End With 
    thisFile = Dir(inPath & "*.msg") 
    i = 4 
    Do While thisFile <> "" 
      Set MyItem = myOlApp.CreateItemFromTemplate(inPath & thisFile) 
     If MyItem.Subject = "testheader" Then 
      ws.Cells(i, 1) = MyItem.Body 
      i = i + 1 
     End If 
      thisFile = Dir() 
    Loop 

    Set MyItem = Nothing 
    Set myOlApp = Nothing 

    Application.ScreenUpdating = True 
    Application.EnableEvents = True 
    Application.DisplayAlerts = True 
End Sub 
+0

「送信」はどのような意味ですか?どのようにMSGファイルが作成されますか? –

+0

@DmitryStreblechenko |異なるdepartmensのユーザーは、問題について特定の形式でメールを送信します。これらのメールをフォルダに保存し、Excelにインポートします。 Outlookのボタンを押してこのメ​​ッセージを "reportsA"というExcelファイルにエクスポート/エクスポートすることが可能かどうか疑問に思っていました。 – Ethannn

答えて

0

あなたがOutlookのCOMアドインを作成することができ、それは上記のコードを実行しました。または、OutlookでApplication.ActiveExplorer.Selectionコレクションを使用して、スタンドアロンのMSGファイルを処理する代わりにOutlookで選択したメッセージをループすることができます。

関連する問題