मैं इस कोड को इंटरनेट और एमएसडीएन दस्तावेज़ों के विभिन्न नमूनों से एक साथ टुकड़ा करने में सक्षम था। यह आपको एक उच्च स्तर के फ़ोल्डर का चयन करने की अनुमति देगा और नीचे सभी फ़ोल्डर्स बैकअप करेगा। मेरे मामले में मैं वास्तव में मेल फ़ोल्डर्स नहीं चाहता था इसलिए मैंने उन्हें बाहर कर दिया।
Const BACKUP_PST_PATH As String = "C:\backup.pst"
Dim oFolder As Outlook.MAPIFolder = Nothing
Dim oMailbox As Outlook.MAPIFolder = Nothing
Dim app As New Outlook.Application()
Dim ns As Outlook.NameSpace = app.GetNamespace("MAPI")
Try
//if the file doesn not exist, outlook will create it
ns.AddStore(BACKUP_PST_PATH)
oFolder = ns.Session.Folders.GetLast()
oMailbox = ns.PickFolder()
For Each f As Outlook.Folder In oMailbox.Folders
If f.DefaultItemType <> Microsoft.Office.Interop.Outlook.OlItemType.olMailItem And f.FolderPath <> oFolder.FolderPath Then
f.CopyTo(oFolder)
End If
Next
ns.RemoveStore(oFolder)
Catch ex As Exception
ns.RemoveStore(oFolder)
IO.File.Delete(BACKUP_PST_PATH)
Throw ex
End Try
um; "pst" ऑब्जेक्ट कहां घोषित और प्रारंभ किया गया है? – akavel
ns.AddStore (BACKUP_PST_PATH) - यदि कोई उस स्थान पर मौजूद नहीं है तो यह एक पीएसटी बनाएगा - ns.Session.Folders.GetLast() तब आपको उस पीएसटी/फ़ोल्डर – brendan
पर एक संभाल लेगा ताकि आपके कोड में "pst" चर (2 स्थानों में) एक टाइपो "ओफोल्डर" होना है? – akavel