将Microsoft Outlook与我自己的数据同步?

时间:2011-03-20 23:17:40

标签: vb.net outlook-2007

使用VB.Net,我需要从Microsoft Outlook 2007 PST文件和外部数据库中读取数据,并同步这两个来源。

SO的过去帖子提到了Microsoft.Office.Interop.Outlook。我想知道VB.Net开发人员是否成功使用它来使用Outlook,或者如果有其他解决方案我应该尝试。

谢谢。

2 个答案:

答案 0 :(得分:0)

如果你真的在谈论“同步”,那么你应该看看Microsoft Sync Framework。 http://msdn.microsoft.com/en-us/sync/default

这个框架可以帮助解决与同步相关的所有问题,在两个地方相同数据发生变化时会发生什么,等等。他们有很多“提供者”,例如Outlook是一个“提供者”,可以用来在你自己的数据和前景之间协调项目。

联系同步样本(C#)

来自msdn:
此示例显示如何创建自定义提供程序以同步不同数据源之间的内容。在此示例中,我们将同步Microsoft Outlook,Vista Contacts和VCard文件之间的联系人。此演示的一个关键方面是数据映射功能,可以通过Sync Framework正确映射不同的数据源和数据类型

http://archive.msdn.microsoft.com/sync/Release/ProjectReleases.aspx?ReleaseId=613

或旧的方式......:
如果您只想添加一些联系人或会议,那么旧办公室interopt就足够了,这里有一个简单的例子,11行代码添加联系人:

    Dim OutlookApp As Outlook.Application = New Outlook.Application
    Dim OutlookNameSpace As Outlook.NameSpace = OutlookApp.GetNamespace("MAPI")
    OutlookNameSpace.Logon()

    Dim Contacts As Outlook.MAPIFolder = OutlookNameSpace.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderContacts)

    Dim newContact As Outlook.ContactItem = OutlookApp.CreateItem(Outlook.OlItemType.olContactItem)
    newContact.FullName = "Stefan Karlsson"
    newContact.Email1Address = "myemail@mail.com"
    newContact.BusinessHomePage = "www.example.com"
    newContact.Save()

    OutlookApp.Logoff()
    OutlookApp.Quit()

(您必须添加对Microsoft.Office.Interop.Outlook的引用并将此导入添加到您的代码中才能使示例正常工作)

  

导入Microsoft.Office.Interop

答案 1 :(得分:0)

您还可以找到有用的免费Outlook加载项,用于同步Outlook和Gmail帐户及联系人:http://scand.com/products/outlook4gmail/index.html。我在一周前发现它并且从那时起一直用于Outlook 2007,尽管它也可以用于Outlook 2010。功能非常有用。