Working with current open email

前端 未结 3 938
日久生厌
日久生厌 2020-12-03 17:47

I would like to get the active opened MailItem (whether it\'s a new mail or a received mail). I need to add some content to that mail when the user runs my macro. I\'m using

3条回答
  •  青春惊慌失措
    2020-12-03 18:05

                '
                Dim myOlExp As Outlook.Explorer
                Dim myOlSel As Outlook.Selection
    
                Set myOlExp = Application.ActiveExplorer
                Set myOlSel = myOlExp.Selection
                'MsgBox myOlSel.item(1)
    
    
                Dim selectedFolder As Outlook.MAPIFolder
                  Set selectedFolder = myOlExp.CurrentFolder
                Dim itemMessage As String
                  itemMessage = "Item is unknown."
    
    
                 Dim expMessage As String
                 expMessage = "Your current folder is " & selectedFolder.Name & "." & vbCrLf
    
                 If myOlSel.Count > 0 Then
    
                                 Dim selObject As Object
                                Set selObject = myOlSel.item(1)
    
                                If (TypeOf selObject Is Outlook.mailItem) Then
                                    Dim mailItem As Outlook.mailItem
                                    Set mailItem = selObject
                                    itemMessage = "The item is an e-mail message." & " The subject is " & mailItem.Subject & "."
                                    mailItem.Display (False)
    
                                ElseIf (TypeOf selObject Is Outlook.contactItem) Then
                                    Dim contactItem As Outlook.contactItem
                                    Set contactItem = selObject
                                    itemMessage = "The item is a contact." & " The full name is " & contactItem.Subject & "."
                                    contactItem.Display (False)
    
                                ElseIf (TypeOf selObject Is Outlook.AppointmentItem) Then
                                    Dim apptItem As Outlook.AppointmentItem
                                    Set apptItem = selObject
                                    itemMessage = "The item is an appointment." & apptItem.Subject & "."
    
                                ElseIf (TypeOf selObject Is Outlook.taskItem) Then
                                    Dim taskItem As Outlook.taskItem
                                    Set taskItem = selObject
                                    itemMessage = "The item is a task." & " The body is " & taskItem.Body & "."
                                ElseIf (TypeOf selObject Is Outlook.meetingItem) Then
                                    Dim meetingItem As Outlook.meetingItem
                                    Set meetingItem = selObject
                                    itemMessage = "The item is a meeting item. " & "The subject is " & meetingItem.Subject & "."
                                End If
                            End If
                            expMessage = expMessage & itemMessage
                        MsgBox (expMessage)
                End Sub
    

提交回复
热议问题