shadow88
Goto Top

Outlook Unterordner per VBA - MAPI definieren

Hallo zusammen,

stecke gerade ein einem Problem fest, dass ich selbst leider nicht lösen kann. Daher würde ich Euch mit Eurer Erfahrung bitten hier mal drüber zu schauen.

Und zwar möchte ich einen Unterordner in Outlook per VBA definieren um mit diesem dann später im Script weiter arbeiten zu können (e-mails werden aus dem Ordner auf das Laufwerk gespeichert usw.)

Zuerst habe ich als erstes die variablen definiert,

Dim myOlApp             As Outlook.Application
Dim ChosenFolder       As Outlook.MAPIFolder

danach Outlook initialisiert

Set myOlApp = Outlook.Application

und möchte dann den Outlook-Ordner setten:

Set ChosenFolder = myOlApp.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox).Folders(FCHOO1)  


Hier kommt die Besonderheit in das Spiel, dass ich den Ordnernamen über eine Variable (FCHOO1) steuern möchte. Das klappt bei Ordnern die direkt unter der Inbox angesiedelt sind auch einwandfrei z.B. Inbox\Test1. Mein Problem liegt darin, dass ein Unterordner eines Ordners in der Inbox nicht angenommen wird. D.h., dass z.B. Inbox\Test1\Unterordner1 klappt nicht. Hier setzt sich die Varibale "ChosenFolder" auf "Nothing".

Habt ihr hierzu eine Idee woran es liegen könnte?

Vielen Dank im Voraus!

Mit besten Grüße,
Shadow88

Content-Key: 216424

Url: https://administrator.de/contentid/216424

Printed on: April 19, 2024 at 00:04 o'clock

Mitglied: 106543
106543 Sep 09, 2013 at 12:45:29 (UTC)
Goto Top
Hi Shadow88,

wie/wo befüllst du die Variable FCH001 ?

Grüße
Exze
Member: Shadow88
Shadow88 Sep 09, 2013 updated at 13:05:33 (UTC)
Goto Top
Zitat von @106543:
Hi Shadow88,

wie/wo befüllst du die Variable FCH001 ?

Grüße
Exze


Hallo Exze,

FCHOO1 ist deklariert als String und wird an einer anderen Stelle mit dem gewünschten Ordnernamen von Outlook gefüllt:

FCHOO1 = "Test1"  

Wie gesagt, normale Ordner unter Inbox funktionieren einwandfrei, aber wenn ich versuche von Test1 den Unterordner XYZ zu definieren, dann geht das nicht.

Danke & Gruß,
Shadow88
Member: colinardo
colinardo Sep 09, 2013 updated at 19:29:28 (UTC)
Goto Top
Hallo Shadow88,
ich hoffe machst nicht so was hier:
FCHOO1 = "Test1\xyz"
weitere Unterordner des Ordners müssen so angegeben werden:
Set ChosenFolder = myOlApp.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox).Folders(FCHOO1).Folders(xyz)  
und wieder weitere Unterordner dann so usw.
Set ChosenFolder = myOlApp.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox).Folders(FCHOO1).Folders("xyz").Folders("abc")  

Um die Ordner trotzdem so zu definieren könntest du den Pfad zerlegen und mit einer Schleife arbeiten z.B so:
FCHOO1 = "Test\abc\xyz"  
set baseFolder = myOlApp.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)  
set choosenFolder = baseFolder
arrPath = Split(FCHOO1,"\")  
level = 0
While level <= Ubound(arrPath)
    set choosenFolder = choosenFolder.Folders(arrPath(level))
    level = level +1
Wend

Grüße Uwe
Member: Shadow88
Shadow88 Sep 11, 2013 at 07:36:17 (UTC)
Goto Top
Hallo Uwe,

doch genau so hab ich es probiert face-confused Wusste nicht, dass man die einzelnen Unterordner getrennt definieren muss.

Vielen Dank für Deine Hilfe! Funktioniert nun einwandfrei! face-smile

Beste Grüße