프로그래밍 방식으로 API 호출 또는 레지스트리 항목을 통해 현재 사용자의 Outlook .pst 파일의 위치를 찾을 수 있습니까?Outlook .pst 파일의 전체 경로를 찾는 방법은 무엇입니까?
5
A
답변
5
Outlook Redemption을 사용하면 RDOSession.Stores
속성을 통해 액세스 할 수있는 RDOStores
컬렉션을 사용하여 VBA에서 메시지 저장소를 반복 할 수 있습니다.
물론, PST의 경로는 STOREID 문자열 인코딩 :
나는
편집 ... 아웃 - 오브 - 박스 VBA에서 비슷한 일을의 가능성을 찾고 있습니다. 구글은 최대 this 설정 : 설계로
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
그냥 테스트가 작동합니다.
0
경로가 있어야합니다 어딘가에서 :
어쩌면이 조금 도움이
[HKEY_CURRENT_USER \ SOFTWARE \ 마이크로 소프트 \ 윈도우 NT \ CurrentVersion을 \ Windows 메시징 서브 시스템 \ 프로필 \ 전망] .
이 코드는 Outlook Redemption을 사용할 필요없이 작동합니다. – Vic
Redemption의 편리함은 저장소 항목 ID를 해킹 할 필요없이 명시 적으로 RDOPstStore.PstPath 속성 (http://www.dimastr.com/redemption/rdostore.htm#RDOPstStore)을 노출한다는 것입니다. –