GetSharedDefaultFolder Method

Microsoft Outlook Visual Basic

Returns a MAPIFolder object that represents the specified default folder for the specified user. This method is used in a delegation scenario, where one user has delegated access to another user for one or more of their default folders (for example, their shared Calendar folder).

expression.GetSharedDefaultFolder(Recipient, FolderType)

expression    Required. An expression that returns a NameSpace object.

Recipient    Required Recipient object. The owner of the folder. The Recipient object must be resolved.

FolderType    Required OlDefaultFolders object. The type of folder.

OlDefaultFolders can be one of these OlDefaultFolders constants.
olFolderCalendar
olFolderContacts
olFolderDrafts
olFolderInbox
olFolderJournal
olFolderNotes
olFolderSharedRoot
olFolderTasks
olFolderJunk

Remarks

Microsoft Outlook does not allow you to open the following folders using the GetSharedDefaultFolder method. Therefore, the following constants cannot be used with this method:

  • Deleted Items - olFolderDeletedItems
  • OutBox - olFolderOutbox
  • Sent Items - olFolderSentMail
  • All Public Folders - olPublicFoldersAllPublicFolders

Example

This Visual Basic for Applications (VBA) example uses the GetSharedDefaultFolder method to resolve the Recipient object representing Dan Wilson, and then returns Dan's shared default Calendar folder.

Sub ResolveName()
	Dim myOlApp As Outlook.Application
	Dim myNamespace As Outlook.NameSpace
	Dim myRecipient As Outlook.Recipient
	Dim CalendarFolder As Outlook.MAPIFolder
	Set myOlApp = CreateObject("Outlook.Application")
	Set myNamespace = myOlApp.GetNamespace("MAPI")
	Set myRecipient = myNamespace.CreateRecipient("Dan Wilson")
	myRecipient.Resolve
	If myRecipient.Resolved Then
		Call ShowCalendar(myNamespace, myRecipient)
	End If
End Sub

Sub ShowCalendar(myNamespace, myRecipient)
	Dim CalendarFolder As Outlook.MAPIFolder
	Set CalendarFolder = _
        myNamespace.GetSharedDefaultFolder _
        (myRecipient, olFolderCalendar)
	CalendarFolder.Display
End Sub
		

If you use Microsoft Visual Basic Scripting Edition (VBScript) in an Outlook form, you do not create the Application object, and you cannot use named constants. This example shows how to perform the same task using VBScript code.

Set myNameSpace = Application.GetNameSpace("MAPI")
Set myRecipient = myNameSpace.CreateRecipient("Dan Wilson")
myRecipient.Resolve
If myRecipient.Resolved Then
    Set CalendarFolder = _
        myNameSpace.GetSharedDefaultFolder _
        (myRecipient, 9)
    CalendarFolder.Display
End If