los localizar guardan existe dónde donde datos crear como archivos archivo abrir winapi vba outlook registry pst

winapi - localizar - ¿Cómo encontrar la ruta completa del archivo.pst de Outlook?



outlook.pst no existe (2)

El camino debe estar en algún lugar debajo de:

[HKEY_CURRENT_USER / Software / Microsoft / Windows NT / CurrentVersion / Windows Messaging Subsystem / Profiles / Outlook]

Tal vez esto ayude un poco.

¿Hay alguna manera de encontrar mediante programación la ubicación de los archivos .pst de Outlook del usuario actual a través de una llamada API o una entrada de registro?


Con el canje de Outlook , puede iterar los almacenes de mensajes en VBA utilizando la colección RDOStores , accesible a través de la propiedad RDOSession.Stores .

Estoy buscando la posibilidad de hacer algo similar en VBA listo para usar ...

EDITAR:

Obviamente, la ruta al PST está codificada en la cadena StoreId. Google apareció esto :

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

Recién probado, funciona según lo diseñado.