AlmostThere
AlmostThere

Reputation: 647

Reference Outlook's Public folder in VBA

The VBA code below maps to the "test" folder in my inbox in Outlook. I need it to map to the "TAT Monitor" folder which is a sub folder in the public folder in my Outlook(Public Folder>ABC Folder>123 Folder>Tat Monitor Folder). I tried plugging in "olPublicFoldersAllPublicFolders" in place of "olFolderInbox" but it does not recognize it.

Public Sub GetAttachments()
Dim Inbox As MAPIFolder
Dim Item As MailItem
Dim Atmt As Attachment
Dim FileName As String
Dim firstDate As Date
Dim secondDate As Date


Dim i As Integer


Set Inbox = GetNamespace("MAPI").GetDefaultFolder(olFolderInbox).Parent.Folders.Item("Test")
firstDate = Date - 1 + TimeValue("8:00:00am")
secondDate = Date - 1 + TimeValue("8:30:00am")

For Each Item In Inbox.Items
For Each Atmt In Item.Attachments
If Item.SentOn > firstDate And Item.SentOn < secondDate Then

FileName = "C:\Users\user1\Desktop\TEST2\" & Atmt & ".xlsx"
Atmt.SaveAsFile FileName
Else
End If
Next

Next

Set Inbox = Nothing
End Sub

Upvotes: 0

Views: 3349

Answers (1)

niton
niton

Reputation: 9179

See https://msdn.microsoft.com/en-us/library/office/ff867877.aspx

Set Inbox = GetNamespace("MAPI").GetDefaultFolder(olPublicFoldersAllPublicFolders).Folders.("ABC Folder").Folders.("123 Folder").Folders.("Tat Monitor Folder")

Typo when dropping the default "item"

Set Inbox = GetNamespace("MAPI").GetDefaultFolder(olPublicFoldersAllPublicFolders).Folders("ABC Folder").Folders("123 Folder").Folders("Tat Monitor Folder")

Same as

Set Inbox = GetNamespace("MAPI").GetDefaultFolder(olPublicFoldersAllPublicFolders).Folders.Item("ABC Folder").Folders.Item("123 Folder").Folders.Item("Tat Monitor Folder")

Upvotes: 0

Related Questions