none
Access 2013 abfrage zum Pfad der Outlook pst

    Frage

  • Hallo

    ich versuche mit folgendem Code den oder die Pfade zur Outlook PST aufzulisten

    nur bekomme ich diesen nicht ausgegeben - anstelle dessen ""

    Dim objOutl As Object
    Dim oNameSpace As Object
    Dim oStore As Object
    Dim oStores As Object
    
    Set objOutl = CreateObject("outlook.application")
    Set oNameSpace = objOutl.GetNamespace("MAPI")
    
    Set oStores = oNameSpace.Stores
    
    For Each oStore In oStores
        Debug.Print "Pfad :" & oStore.FilePath & vbCrLf
    Next oStore
    

    Freitag, 11. Dezember 2015 13:41

Antworten

  • Die OST's liegen nicht in Deinem Filesystem.

    Das sind Container z.B. auf dem Exchange Server.

    Ich liste meine Ordner so auf:

    Set oNameSpace = objOutl.GetNamespace("MAPI")
    
    For Each myFolder In oNameSpace.Folders
        Debug.Print myFolder.Name
        If myFolder.Store.IsDataFileStore Then
            Debug.Print "   " + myFolder.Store.FilePath
        Else
            Debug.Print "   ***Ordner ist ein Exchange Ordner***"
        End If
    Next myFolder

    Anhand von der Eigenschaft "IsDataFileStore" erkenne ich, ob der Container des Ordners im Filesystem liegt.

    Grüße

    Roland


    • Bearbeitet Roland Franz Montag, 14. Dezember 2015 10:13
    • Als Antwort markiert MCDPone Montag, 14. Dezember 2015 13:11
    Montag, 14. Dezember 2015 10:11

Alle Antworten

  • Bei mir listet das die PSTs richtig, nicht aber OSTs. Versuchs mal mit

    Debug.Print oStore.DisplayName & ": " & "Pfad: " & oStore.FilePath
    Matthias Kläy, Kläy Computing AG

    Sonntag, 13. Dezember 2015 13:19
  • Hmm - Stimmt das sind OSTs

    wie komme ich den da ran?

    Sonntag, 13. Dezember 2015 19:05
  • Die OST's liegen nicht in Deinem Filesystem.

    Das sind Container z.B. auf dem Exchange Server.

    Ich liste meine Ordner so auf:

    Set oNameSpace = objOutl.GetNamespace("MAPI")
    
    For Each myFolder In oNameSpace.Folders
        Debug.Print myFolder.Name
        If myFolder.Store.IsDataFileStore Then
            Debug.Print "   " + myFolder.Store.FilePath
        Else
            Debug.Print "   ***Ordner ist ein Exchange Ordner***"
        End If
    Next myFolder

    Anhand von der Eigenschaft "IsDataFileStore" erkenne ich, ob der Container des Ordners im Filesystem liegt.

    Grüße

    Roland


    • Bearbeitet Roland Franz Montag, 14. Dezember 2015 10:13
    • Als Antwort markiert MCDPone Montag, 14. Dezember 2015 13:11
    Montag, 14. Dezember 2015 10:11
  • Falls Du bestimmte Ordner im Filesystem benötigst, kannst Du Dir ja zunächst unter:

    "Neue Elemente" -> "Weitere Elemente" -> "Outlook-datendatei.."  eine neue Outlook-Datendatei anlegen, und anschliesend die gewünschten Ordner in Diese datendatei kopieren, oder verschieben.

    Grüße

    Roland

    Montag, 14. Dezember 2015 10:20
  • Danke erst einmal

    Outlook 13 legt bei mir OSTs auf dem System an - ich verstehe aber das es auch -das diese "extern" liegen können

    ich bin eh ganz falsch an die Sache heran gegangen

    ich muss über ein Connection String (.SetDataProvider "Provider=MAPI;")

    eine Verbindung zu Outlook aufbauen und wollte über die PST den richtigen Kalender zuweisen

    was aber so überhaupt nicht geht

    finde nicht wie dieser Connection String sich zusammensetzt - wenn ich diesen so übergebe greift er immer auf den Standard Kalender zu was ich heraus gefunden habe das ich noch das Profil mitgeben kann

    .SetDataProvider "Provider=MAPI;mapiProfileName = Outlook;"

    aber wie gesagt Danke erst mal - ich suche erst mal weiter

    Montag, 14. Dezember 2015 13:26