Как найти полный путь Outlook .pst файлом?

Да.

Из отрывка тега из :

Подпрограмма считается повторно входящей, если ее можно безопасно вызвать до завершения предыдущего вызова.

blockquote>

В вашем случае, поскольку функция возвращает адрес только глобальной (статической) переменной, которая должна оставаться постоянной после запуска программы, функция хорошо возвращается.

IMO, реентерабельная функция может получать доступ к глобальным и статическим данным, без изменения , поэтому получение адреса глобальной переменной неплохо для реентерабельной функции.

5
задан Tomalak 14 October 2008 в 13:30
поделиться

2 ответа

С Освобождением Outlook можно выполнить итерации банков сообщений в использовании VBA RDOStoresнабор, доступный через RDOSession.Stores свойство.

Я изучаю возможность выполнения чего-то подобного в out-of-the-box VBA...

Править:

Очевидно, путь к PST кодируется в строке StoreId. Google поднял это:

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

Просто протестированный, работы, как разработано.

5
ответ дан 14 December 2019 в 19:30
поделиться

Путь должен быть где-нибудь под:

[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows, передающий Subsystem\Profiles\Outlook]

Возможно, это помогает немного.

0
ответ дан 14 December 2019 в 19:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: