2008-10-12 10 views
5

क्या किसी उपयोगकर्ता कॉल या रजिस्ट्री प्रविष्टि के माध्यम से वर्तमान उपयोगकर्ता की Outlook .pst फ़ाइल का प्रोग्राम प्रोग्रामिक रूप से ढूंढने का कोई तरीका है?Outlook .pst फ़ाइल का पूरा पथ कैसे खोजें?

उत्तर

5

Outlook Redemption के साथ, आप RDOStores संग्रह का उपयोग कर वीबीए में संदेश स्टोर को पुन: सक्रिय कर सकते हैं, RDOSession.Stores संपत्ति के माध्यम से सुलभ।

मैं बाहर के बॉक्स VBA में कुछ इसी तरह करने की संभावना में देख रहा हूँ ...

संपादित करें:

जाहिर है, पीएसटी के लिए पथ StoreId स्ट्रिंग में एन्कोड किया गया है। गूगल 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

यह कोड Outlook रिडेम्प्शन का उपयोग किए बिना काम करता है। – Vic

+1

रिडेम्प्शन की सुविधा यह है कि यह स्टोर एंट्री आईडी को हैक किए बिना RDOPstStore.PstPath प्रॉपर्टी (http://www.dimastr.com/redemption/rdostore.htm#RDOPstStore) को स्पष्ट रूप से उजागर करता है। –

0

पथ होना चाहिए कहीं के तहत:

[HKEY_CURRENT_USER \ Software \ Microsoft \ विंडोज NT \ CurrentVersion \ विंडोज संदेश सबसिस्टम \ प्रोफाइल \ आउटलुक]

हो सकता है कि यह एक बिट में मदद करता है ।