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.