bre*_*dan 7 .net outlook office-interop
我正在编写一个可以操作Outlook数据的应用程序.我想首先备份这些数据,并希望我可以循环浏览联系人/日历项目等,并将它们写入PST文件.
如何使用.Net将1个或多个Outlook文件夹的内容写入PST?[vb或c#无所谓]
bre*_*dan 11
我能够从互联网和MSDN文档的各种示例中将这些代码拼凑在一起.这将允许您选择Outlook高级文件夹,并将备份下面的所有文件夹.在我的情况下,我实际上并不想要邮件文件夹,所以我排除它们.
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10775 次 |
| 最近记录: |