2008-10-12 18 views

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

Bu kod, Outlook Redemption kullanmak zorunda kalmadan çalışır. – Vic

+1

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. –

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] .