Guest User

Untitled

a guest
Aug 21st, 2018
831
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.20 KB | None | 0 0
  1. Sub TestOutlook()
  2. Dim olApp As Outlook.Application, olNs As Outlook.Namespace
  3. Dim olFolder As Outlook.MAPIFolder, Item As Outlook.MailItem
  4. Dim eFolder As Outlook.Folder '~~> additional declaration
  5. Dim i As Long
  6. Dim x As Date, ws As Worksheet '~~> declare WS variable instead
  7. Dim lrow As Long '~~> additional declaration
  8. Dim MessageInfo
  9. Dim Result
  10. Set ws = ActiveSheet '~~> or you can be more explicit using the next line
  11. 'Set ws = Thisworkbook.Sheets("YourTargetSheet")
  12. Set olApp = New Outlook.Application
  13. Set olNs = olApp.GetNamespace("MAPI")
  14. x = Date
  15.  
  16. For Each eFolder In olNs.GetDefaultFolder(olFolderInbox).Folders
  17. 'Debug.Print eFolder.Name
  18. Set olFolder = olNs.GetDefaultFolder(olFolderInbox).Folders(eFolder.Name)
  19. For i = olFolder.Items.Count To 1 Step -1
  20. If TypeOf olFolder.Items(i) Is MailItem Then
  21. Set Item = olFolder.Items(i)
  22. 'MsgBox Item.Body
  23. 'filter (Item)
  24. 'If InStr(Item.Subject, "Test download") > 0 Then
  25. ' MsgBox "Here"
  26. ' MessageInfo = "" & _
  27. ' "Sender : " & Item.SenderEmailAddress & vbCrLf & _
  28. ' "Sent : " & Item.SentOn & vbCrLf & _
  29. ' "Received : " & Item.ReceivedTime & vbCrLf & _
  30. ' "Subject : " & Item.Subject & vbCrLf & _
  31. ' "Size : " & Item.Size & vbCrLf & _
  32. ' "Message Body : " & vbCrLf & Item.Body
  33. ' Result = MsgBox(MessageInfo, vbOKOnly, "New Message Received")
  34. ' End If
  35. End If
  36. Next i
  37. Set olFolder = Nothing
  38. Next eFolder
  39. End Sub
  40.  
  41. Sub filter(Item As Outlook.MailItem)
  42. Dim ns As Outlook.Namespace
  43. Dim MailDest As Outlook.Folder
  44. Set ns = Application.GetNamespace("MAPI")
  45. Set Reg1 = CreateObject("VBScript.RegExp")
  46. Reg1.Global = True
  47. Reg1.Pattern = "(.*Test download.*)"
  48. If Reg1.test(Item.Subject) Then
  49. 'Set MailDest = ns.Folders("Personal Folders").Folders("one").Folders("a")
  50. 'Item.Move MailDest
  51. MsgBox Item.Body
  52. End If
  53. End Sub
Add Comment
Please, Sign In to add comment