1: 'myLoop method
2: Sub myLoop()
3:
4: 'Declaration
5: Dim olApp As Outlook.Application
6: Dim olNs As Outlook.NameSpace
7: Dim olFldr As Outlook.MAPIFolder
8: Dim olItms As Outlook.Items
9: Dim olMail As Object
10:
11: Set olApp = New Outlook.Application
12: Set olNs = olApp.GetNamespace("MAPI")
13: Set olFldr = olNs.GetDefaultFolder(olFolderInbox)
14: Set olItms = olFldr.Items
15:
16: 'Loop the items
17: For Each olMail In olItms
18: 'Here you need to use olMail Object to inspect individual mails inside the Inbox
19: Next olMail
20:
21: 'Release the objects appropriately
22: Set olFldr = Nothing
23: Set olNs = Nothing
24: Set olApp = Nothing
25: End Sub
Comments
Anonymous
December 02, 2008
Deva, If this code is being used natively in Outlook, why would you need to create a new Application object? Set olApp = New Outlook.Application Also, if there are other items in the Inbox besides MailItems, the code might fail. I would add a test inside the For Each Loop to make sure it's an email (not an appointment, task, etc) before proceeding.Anonymous
December 03, 2008
Deva, If this code is being used natively in Outlook, why would you need to create a new Application object? Set olApp = New Outlook.Application Also, if there are other items in the Inbox besides MailItems, the code might fail. I would add a test inside the For Each Loop to make sure it's an email (not an appointment, task, etc) before proceeding.Anonymous
January 07, 2009
Hi JP, Thanks for your update. Sorry to providing the comments late!!
- First this is not a VBA code snippet, it's VB.Net snippet (please refer tag ".Net"). If you use in VBA, certainly the NEW keyword shouldn't be used.
- Second, this is a basic code snippet as i mentioned earlier (please refer disclaimer), which won't suit for direct production ready usage. Hope this helps.