Question

Existe-t-il un moyen de rechercher par programme l'emplacement du ou des fichiers Outlook .pst de l'utilisateur actuel par le biais d'un appel d'API ou d'une entrée de registre?

Était-ce utile?

La solution

Avec Redemption Outlook , vous pouvez effectuer une itération des banques de messages dans VBA à l'aide de RDOStores collection, accessible via la propriété RDOSession.Stores .

J'examine la possibilité de faire quelque chose de similaire dans la VBA prête à l'emploi ...

EDIT:

Évidemment, le chemin d'accès au fichier PST est codé dans la chaîne StoreId. Google a découvert ceci :

Sub PstFiles()
  Dim f As MAPIFolder

  For Each f In Session.Folders
    Debug.Print f.StoreID
    Debug.Print GetPathFromStoreID(f.StoreID)
  Next f
End Sub

Public Function GetPathFromStoreID(sStoreID As String) As String
  On Error Resume Next
  Dim i As Long
  Dim lPos As Long
  Dim sRes As String

  For i = 1 To Len(sStoreID) Step 2
    sRes = sRes & Chr("&h" & Mid$(sStoreID, i, 2))
  Next

  sRes = Replace(sRes, Chr(0), vbNullString)
  lPos = InStr(sRes, ":\")

  If lPos Then
    GetPathFromStoreID = Right$(sRes, (Len(sRes)) - (lPos - 2))
  End If
End Function

Vient de tester, fonctionne comme prévu.

Autres conseils

Le chemin doit être quelque part sous:

  

[HKEY_CURRENT_USER \ Software \ Microsoft \ Windows   Messagerie NT \ CurrentVersion \ Windows   Sous-système \ Profils \ Outlook]

Peut-être que cela aide un peu.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top