per Makro Name des Postfachs ermitteln

Moderator: ModerationP

per Makro Name des Postfachs ermitteln

Beitragvon RTausD » 08. Aug 2021, 14:54

Hallo allerseits,

ich habe ein Makro, das ich auf mehreren Rechnern einsetzen will.
In dem Makro muss das Verzeichnis gewechselt werden.
Der Befehl ist grundsätzlich klar.

Code: Alles auswählen
    Set olNsp = Application.Application.GetNamespace("MAPI")
    Set Ordner1 = Application.ActiveExplorer.CurrentFolder
    Set Ordner2 = olNsp.Folders.Item("user@domain.de").Folders.Item("Posteingang").Folders.Item("Test")


Da man aber als ersten Ordner das Postfach hat, ist das bei jedem User anders.
Ich muss daher das Makro für jeden User anpassen.
Da die Ordner relativ häufig gewechselt werden, ist das anstrengend.

Gibt es eine Möglichkeit, den Postfachordner zu bestimmen, so dass man aus einem beliebigen anderen Ordner den Hauptordner des Postfachs ansteuern kann?

Vielen Dank für Hinweise...

Rolf
RTausD
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 280
Registriert: 24. Feb 2007, 10:51

Re: per Makro Name des Postfachs ermitteln

Beitragvon Fennek » 09. Aug 2021, 07:46

Hallo,

solange man bei der selben Email-Adresse bleibt könnte es so gehen:

(aus dem Gedächtnis, also Pseudocode)

Code: Alles auswählen
dim FLD as Folder
set NSp = getnamespace("MAPI")
set FLD = NSp.getDefaultFolder("Posteingang").Parent.folders("Test")


Das geht auch für mehrere Ebenen, für Unterordner von "Test" wird ein
.Folders("naechste Ebene")
angehängt.

mfg
Benutzeravatar
Fennek
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 827
Registriert: 12. Feb 2016, 18:56

Re: per Makro Name des Postfachs ermitteln

Beitragvon RTausD » 16. Aug 2021, 15:55

Hallo Fennek,

VIELEN DANK für den Tipp.

Mit folgendem Code kann ich jetzt den Ordner der ersten Ebene ermitteln:

Code: Alles auswählen
Sub Postfachinformation()
    Dim Ordner As Folder
    Set olNsp = Application.Application.GetNamespace("MAPI")
    Set Ordner = Application.ActiveExplorer.CurrentFolder
    While InStr(Ordner, "@") = 0
        Set Ordner = Ordner.Parent
    Wend
    MsgBox (Ordner)
    If Left(Ordner, 21) = "Öffentliche Ordner - " Then Ordner = Right(Ordner, Len(Ordner) - 21)
    MsgBox (Ordner)
    Call Outlook.ActiveExplorer.SelectFolder(Ordner)
End Sub


Aus irgendeinem Grund heißt der den öffentlichen Ordnern übergeordnete Ordner jetzt allerdings nicht mehr "Öffentliche Ordner - User@Domain.de", sondern jetzt auch "User@Domain.de". Ich habe schon Outlook neu gestartet. Das hat aber nichts gebracht.
Grundsätzlich hätte ich damit kein Problem. Aber wie kann ich jetzt zwischen Ordnern des Postfachs und der öffentlichen Ordner unterscheiden bzw. von einem Ordner der öffentlichen Ordner zu einem Ordner des eigenen Postfachs wechseln?

Hat jemand eine Idee?

Vielen Dank im Voraus

Rolf
RTausD
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 280
Registriert: 24. Feb 2007, 10:51


Zurück zu Outlook Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste