vba to create a shared mailbox folder

Status
Not open for further replies.

Mark White

Member
Outlook version
Outlook 2013 64 bit
Email Account
Exchange Server
Hi
I'm using Outlook 2013 and need to move emails into an archive subdirectory which is fine as per code listed here, but if that subdirectory doesn't exist then my code falls over.
My account has all permissions necessary but in this snippet from code found on this site:
FoldersArray = Split(pstrFolderPath, "\")
Set oFolder = Application.Session.Folders.Item(FoldersArray(0))
If Not oFolder Is Nothing Then
For intI = 1 To UBound(FoldersArray, 1)
Dim SubFolders As Outlook.Folders
Set SubFolders = oFolder.Folders
Set oFolder = SubFolders.Item(FoldersArray(intI))
If oFolder Is Nothing Then
Application.Session.Folders.Add strNew, olFolder
End If
Next
End If
The line SubFolders.Item(FoldersArray(intI)) falls over if the folder doesn't exist and I can't see how to add something like Application.Session.Folders.Add "NewFolderName"

Any ideas gratefully accepted
Cheers
Mark
 

Diane Poremsky

Senior Member
Outlook version
Outlook 2016 32 bit
Email Account
Office 365 Exchange
It could be related to the array - where are you getting the folder name from? It looks like the split function is splitting an existing folder path, not creating a new folder. (It looks like that code is from the getfolderpath function, which is used to get the folder path of secondary data files).

The arrary finds the folder in the path but if the folder you want to use doesn't exist, you need to pass a string variable to the code to create the folder.


This is how i create folders from a list of names (in an excel sheet) - newfoldername is a string variable that is the new folder name. (in the example at Macro to file Outlook email by sender's display name, i use the sender's name. )

On Error Resume Next
Dim objNewFolder As Outlook.Folder
Set objNewFolder = objParentFolder.Folders(newFolderName)

If objNewFolder Is Nothing Then
Set objNewFolder = objParentFolder.Folders.Add(newFolderName)
End If
 

Mark White

Member
Outlook version
Outlook 2013 64 bit
Email Account
Exchange Server
Thanks for that, Diane,
however the sub directory to save the email to is contained within the email... I pick that up earlier and then use the GetFolderPath () function found here http://www.slipstick.com/developer/working-vba-nondefault-outlook-folders/ to then Move the email to the folder...

I've ascertained that it raises error -2147221233 and so wrote some code like this in the error handler:
If Err.Number = -2147221233 Then
Set oFolder = Application.Session.Folders.Item(FoldersArray(0))
For intI = 1 To UBound(FoldersArray, 1) - 1 '*** go back to the Directory above the error
Set SubFolders = oFolder.Folders
Set oFolder = SubFolders.Item(FoldersArray(intI))
If oFolder Is Nothing Then
Set GetFolderPath = Nothing
End If
Next
oFolder.Folders.Add strNew '*** this is found earlier by using InStrRev etc
End If
but it all seems a bit cluncky and not terribly generic ...
 

Diane Poremsky

Senior Member
Outlook version
Outlook 2016 32 bit
Email Account
Office 365 Exchange
I'm not sure why it's triggering an error (posting your full code might help) - are you doing it this way:

use getfolderpath to set the parent folder first -
objParentFolder = getfolderpath ("parent folder\path")

You could work the getfolderpath function into the code so you only need one macro - but regardless of how you do it, get the parent folder first.

if you get the parent path from the message too, pass it to getfolderpath using a string variable:
objParentFolder = getfolderpath (strPathfromMessage)

since you are getting it from the mail, i would use
newFoldername = however you got it from the message

On Error Resume Next
Dim objNewFolder As Outlook.Folder
Set objNewFolder = objParentFolder.Folders(newFolderName)

If objNewFolder Is Nothing Then
Set objNewFolder = objParentFolder.Folders.Add(newFolderName)
End If
 
Status
Not open for further replies.
Thread starter Similar threads Forum Replies Date
I shared mailbox - can i create a rule (vba) for every user? Outlook VBA and Custom Forms 1
K VBA BeforeItemMove event create rule to always move to its folder. Outlook VBA and Custom Forms 4
D create an html table in outlook custom form 2010 using vba in MsAccess Outlook VBA and Custom Forms 7
Diane Poremsky Create a Series of Tasks using VBA New Slipstick.com Articles 0
A VBA to create meeting from template from a time slot selected in someone's calendar Outlook VBA and Custom Forms 5
Diane Poremsky Use VBA to create an Outlook Search Folder for Sender New Slipstick.com Articles 0
B VBA Code to create appointment from email Outlook VBA and Custom Forms 1
Diane Poremsky Create a list of color categories and merge or restore the list using VBA New Slipstick.com Articles 0
P VBA create mail with attachment and voting buttons Using Outlook 6
J Create new outlook task into task subfolder using vba Using Outlook 6
C Outlook VBA - Create Macro Move Contact field Item to Another Using Outlook 1
B Adding signature to bottom of VBA reply email Outlook VBA and Custom Forms 1
B Change Font and Font size using VBA Outlook VBA and Custom Forms 9
M Outlook 2013 reminder email by using Outlook vba Outlook VBA and Custom Forms 2
D.Moore VBA script fail after Office 365 update Using Outlook 8
R Limiting length of saved attachment in VBA Outlook VBA and Custom Forms 2
S Skype for business meeting vba code Outlook VBA and Custom Forms 1
C How to use VBA to show only items x days old or more Outlook VBA and Custom Forms 1
B VBA to convert email to task, insert text of email in task notes, and attach copy of original email Outlook VBA and Custom Forms 4
D Outlook VBA error extracting property data from GetRules collection Outlook VBA and Custom Forms 10
S Reference Custom Fields with VBA Outlook VBA and Custom Forms 2
PGSystemTester VBA To Change AppointmentItem.BusyStatus From MeetingItem Before Send Using Outlook 0
A VBA macro for 15 second loop in send and received just for 1 specific mailbox Outlook VBA and Custom Forms 1
O Email not leaving Outbox when using Excel VBA to sync Outlook account Outlook VBA and Custom Forms 4
G VBA Macro Calendar Printing Assistant 3
R Help Revising VBA macro to delete email over different time span Outlook VBA and Custom Forms 0
B VBA to Collapse Task Folder Groups Outlook VBA and Custom Forms 1
R Expand VBA Permanent Delete Code Outlook VBA and Custom Forms 6
shrydvd vba to secure zip attachments Outlook VBA and Custom Forms 3
M Adding Subject to this Link-Saving VBA Outlook VBA and Custom Forms 5
N VBA to delete duplicates by message-id on common pst for 2 or more emails Outlook VBA and Custom Forms 0
S Change VBA script to send HTML email instead of text Outlook VBA and Custom Forms 3
M VBA to auto forward message with new subject and body text Outlook VBA and Custom Forms 8
A Custom VBA to sort emails into folders Outlook VBA and Custom Forms 0
L Moving emails with similar subject and find the timings between the emails using outlook VBA macro Outlook VBA and Custom Forms 1
B Outlook Business Contact Manager with SQL to Excel, User Defined Fields in BCM don't sync in SQL. Can I use VBA code to copy 1 field to another? BCM (Business Contact Manager) 0
R VBA for copying sent email to current folder under a shared mailbox Outlook VBA and Custom Forms 17
A Edit subject - and change conversationTopic - using VBA and redemption Outlook VBA and Custom Forms 2
N How can I increase/faster outlook VBA Macro Speed ? Using Outlook 2
N Outlook Email Rule execution through shortcut keys (VBA codes) Using Outlook 1
A VBA Code in Outlook disappears after first use Outlook VBA and Custom Forms 1
B Clear Offline Items (Mail Folder) via VBA Outlook VBA and Custom Forms 1
dweller Outlook 2010 Rule Ignores VBA Script Outlook VBA and Custom Forms 2
D.Moore Folder view settings by VBA macro Outlook VBA and Custom Forms 57
F VBA to ensure a code is entered in Subject title Outlook VBA and Custom Forms 1
B Vba to monitor time to respond to emails using a shared mailbox Outlook VBA and Custom Forms 5
N VBA Script to Open highlighted e-mail and Edit Message Outlook VBA and Custom Forms 5
G Outlook VBA and Google Calendar ("Events") Outlook VBA and Custom Forms 1
B Looking to get the Recipient email address (or even the "friendly name") from an email I am replying to using VBA Outlook VBA and Custom Forms 4
J VBA Outlook : Subject line : Cut and Paste name to heading , number to very end of the body of Email Outlook VBA and Custom Forms 1
Similar threads


















































Top