Prüfen ob Öffentlicher Ordner exisitiert

27/02/2008 - 09:33 von Patrick Pohlmann | Report spam
Hallo Zusammen,

ich möchte gerne vor dem Anlagen eines öffentlichen Ordners prüfen ob diese
bereits exisitiert.

Ich versuche das zru Zeit so:

Dim myOlApp As New Outlook.Application
Dim myNamespace As Outlook.NameSpace
Dim myFolderParent As Outlook.MAPIFolder
Dim myNewFolder As Outlook.MAPIFolder
Dim myExplorer As Outlook.Explorer

Set myOlApp = CreateObject("Outlook.Application")
Set myNamespace = myOlApp.GetNamespace("MAPI")
Set myFolderParent = myNamespace.Folders("Öffentliche Ordner")
Set myFolderParent = myFolderParent.Folders("Alle Öffentlichen Ordner")

If Not IsNull(strUnterordner) Then
Set myFolderParent = myFolderParent.Folders(strUnterordner)
End If

Set myNewFolder = myFolderParent.Folders(strOrdner)

If Not myNewFolder Is Nothing Then
MsgBox "gibt"
Else
MsgBox "gibts nicht"
End If

Das bringt aber schon bei

Set myNewFolder = myFolderParent.Folders(strOrdner)
wenn es den Ordner nicht gibt.

Hat jemand eine Idee wie ich vorgehen muss?

Danke für Eure Hilfe.

Grüße

Patrick!
 

Lesen sie die antworten

#1 Patrick Pohlmann
27/02/2008 - 15:54 | Warnen spam
Okay, scheint keiner zu wissen. Ich habs jetzt mal selbst rausbekommen und
will Euch natürlich teilhaben lassen.

Hier der Code (Ich hab das Ganze mit dem erstellen eines Ordners verbunden,
sollte es ihn nicht geben. Aber das kann man ja auch weglassen:

Function CreateFolder(FolderPath)
' folder path needs to be something like
' "Public Folders\All Public Folders\Company\Sales"
Dim aFolders
Dim i
Dim objNS As Outlook.NameSpace
Dim objOutlApp As Outlook.Application
Dim objPubFolder As Outlook.MAPIFolder
Dim objParentFolder As Outlook.MAPIFolder

Dim intAntwort As String

Set objOutlApp = CreateObject("Outlook.Application")
Set objNS = objOutlApp.GetNamespace("MAPI")

On Error Resume Next
strFolderPath = Replace(FolderPath, "/", "\")
aFolders = Split(FolderPath, "\")

'get the Outlook objects
' use intrinsic Application object in form script
'Set objNS = Application.GetNamespace("MAPI")


'set the root folder
Set objPubFolder = objNS.Folders(aFolders(0))

On Error Resume Next

'loop through the array to get the subfolder
'loop is skipped when there is only one element in the array
For i = 1 To UBound(aFolders)

Set objParentFolder = objPubFolder

Set objPubFolder = objPubFolder.Folders(aFolders(i))

If objPubFolder Is Nothing Or Err.Number <> 0 Then

intAntwort = MsgBox("Der Ordner " & aFolders(i) & " existiert nicht, möchten
Sie ihn erstellen?", vbYesNo, "Ordner nicht vorhanden")

If intAntwort = vbYes Then

Set objPubFolder = objParentFolder.Folders.Add(aFolders(i))

Else
MsgBox "Der Vorgang wurde abgebrochen.", vbOKOnly
End If
End If

Next
' dereference objects
Set objNS = Nothing
End Function

Grüße

Patrick!




"Patrick Pohlmann" schrieb im Newsbeitrag
news:
Hallo Zusammen,

ich möchte gerne vor dem Anlagen eines öffentlichen Ordners prüfen ob
diese bereits exisitiert.

Ähnliche fragen