Using VBA to read new Outlook Email?

后端 未结 1 962
情话喂你
情话喂你 2020-12-10 14:04

I have the following code which tells when new message has arrived!

Private Sub Application_NewMail()
    MsgBox \"New Mail Has Arrived\"
End Sub


        
相关标签:
1条回答
  • 2020-12-10 14:18

    You'll need something like this:

    Private WithEvents myOlItems  As Outlook.Items
    
    Private Sub Application_Startup()
        Dim olApp As Outlook.Application
        Dim objNS As Outlook.NameSpace
          Set olApp = Outlook.Application
          Set objNS = olApp.GetNamespace("MAPI")
          Set myOlItems = objNS.GetDefaultFolder(olFolderInbox).Items
    End Sub
    
    Private Sub myOlItems_ItemAdd(ByVal item As Object)
    
    On Error GoTo ErrorHandler
    
      Dim Msg As Outlook.MailItem
    
      If TypeName(item) = "MailItem" Then
        Set Msg = item
    
        MsgBox Msg.Subject
        MsgBox Msg.Body
    
      End If
    
    ProgramExit:
      Exit Sub
    ErrorHandler:
      MsgBox Err.Number & " - " & Err.Description
      Resume ProgramExit
    End Sub
    

    Paste the code into ThisOutlookSession and restart Outlook. When a message enters your default local Inbox you'll see the popup with subject and body.

    0 讨论(0)
提交回复
热议问题