Hallo liebe Community,
das ist jetzt das erste mal, dass ich bzgl. eines VBA Wehwehchen ein Forum konsultiere, aber da ich das Internet schon gefühlt zweimal durchgewälzt hab ( und zugegebner Maßen auch einiges dazu gefunden habe, habs nurnicht umgesetzt bekommen hab) komme ich nicht mehr weiter.
Mein Ziel ist es eine *PST Datei des EmailOrdners zu erstellen, der gerade angeklickt ist, mit Name des entsprechenden Ordners.
Zb. schiebe ich alle Emails aus Posteingang in den Ordner 2016 und Anfang 2017 möchte ich per Makro den 2016 Ordner (dern aktuell ausgewählten : currentFolder) in einer PST datei speichen.
Vorerst reicht es mir wenn der Pfad hardgecoded ist.
ich weiß bisher dass ich a)
mit .addstore (path) eine PST erzeugen kann wenn sie nicht bereits besteht.
mit .removestore kann ich sie wieder entfernen.
Ich kann den Namen des aktuell Ausgewählten Ordner auslesen und somit den Zielpfad konstruieren.
Aber wie kann ich jetzt den Inhalt des ausgewählten Ordners in ein Ordnerobjekt schieben welches wiederum mit addstore als PST gespeichert wird,
anscheinend mit copy oder moveto oder copyto.... bekomme das aber leider nicht hin.
Ich bin derzeit soweit:
Sub pst_erstellen2()
Dim olNs As Outlook.NameSpace
Set olNs = Application.GetNamespace("MAPI")
Dim foldername As String
foldername = Outlook.ActiveExplorer.CurrentFolder.Name
destfolderpath = "C:\Konstantin Nille-Hauf\" & foldername & ".pst"
'Debug.Print FolderPath & "; " & foldername
Dim myNS As NameSpace
Dim mfInBox As MAPIFolder, mfStore As MAPIFolder
Set myNS = GetNamespace("MAPI")
myNS.AddStore destfolderpath
Set mfStore = myNS.Folders(foldername)
Set mfInBox = myNS.ActiveExplorer.CurrentFolder
mfInBox.CopyTo mfStore
myNS.RemoveStore mfStore
End Sub
derzeit kommt eine Fehlermeldung bei Set mfStore = myNS.Folders(foldername) | Laufzeitfehler 440 "Array-Index ausserhalb des gültigen Bereichs"
Kann mir jmd. weiterhelfen?
Viele liebe Grüße
Konstantin Nille-Hauf
|