Geçerli kullanıcının Outlook .pst dosyalarının konumunu bir API çağrısı veya kayıt defteri girdisi aracılığıyla programlı olarak bulmanın bir yolu var mı?Outlook .pst dosyasının tam yolunu nasıl bulabilirim?
5
A
cevap
5
Outlook Redemption ile, RDOStores
koleksiyonu aracılığıyla VBA'daki ileti depolarını yineleyebilir, RDOSession.Stores
özelliği aracılığıyla erişilebilir.
Açıkçası, PST yolu StoreID dizesinde kodlanmış:
Ben
DÜZENLEME ... out-of-the-box VBA benzer bir şey yapma olasılığı inceliyorum. Google kadar this çevirdi: tasarlandığı gibi
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
Sadece test, çalışır.
0
yolu olmalıdır yerde altında:
Belki bu biraz yardımcı olur
[HKEY_CURRENT_USER \ Software \ Microsoft \ Windows NT \ CurrentVersion \ Windows Messaging Subsystem \ Profiles \ Outlook] .
Bu kod, Outlook Redemption kullanmak zorunda kalmadan çalışır. – Vic
Redemption kolaylık, mağaza giriş kimliğini kesmek zorunda kalmadan RDOPstStore.PstPath özelliğini (http://www.dimastr.com/redemption/rdostore.htm#RDOPstStore) açıkça ortaya çıkarmasıdır. –