从Outlook导出所有联系人作为vcards

时间:2008-10-16 14:53:57

标签: c# .net outlook vcard

所以,我想将Outlook中的所有联系人导出为vcards。如果我谷歌,我得到了一堆共享软件程序,但我想要一些免费的东西。

如果我自己编写代码,我想我应该使用Microsoft.Office.Interop.Outlook程序集。有没有人已经将ContactItems转换为vcards?

编辑:我以完全不同的方式解决了它,请参阅下面的答案,但我已将dok1.myopenid.com的答案标记为已接受,因为它回答了我原来的问题。

4 个答案:

答案 0 :(得分:10)

我是以非编程方式解决的:

  • 选择Outlook中的所有联系人
  • 将它们作为卡片转发给自己
  • 将所有附件(vcards)保存在文件夹c:\temp
  • 打开命令提示符并键入命令copy /a *.vcf c:\allcards.vcf,将所有vcards连接成一个

答案 1 :(得分:4)

对于它的价值 - 我刚刚遇到这个线程正在寻找从outlook导出到单个.VCF文件的相同内容。我有2007年(不知道这是否有所作为)但我选择了所有联系人并将它们拖到新的电子邮件中,作为单独的.VCF文件添加。在他们全部添加之后,我点击新电子邮件的附件部分,点击CTRL-A突出显示所有这些,然后左键单击 - 将第一个(因此所有这些)拖动到我想要的个人文件夹。 VCF文件进入。几分钟的Outlook“思考”我的400个联系人,他们都在那里!

答案 2 :(得分:3)

他们确实难以找到,不是吗?看看这是否有帮助。 http://msdn.microsoft.com/en-us/library/aa579624(EXCHG.80).aspx

包括:以下示例使用CDO Person对象获取联系人的vCard信息。

Dim oPerson As New CDO.Person
Dim strm As New ADODB.Stream

' Assume strURL is a valid URL to a person contact item
oPerson.DataSource.Open strURL

' You can set the ADO Stream object to the returned vCard stream
Set strm = oPerson.GetvCardStream

' Save the stream to a file.
' Note: using adSaveCreateOverwrite may cause an existing
' contact to be overwritten.
strm.SaveToFile "d:\vcard.txt", adSaveCreateOverwrite

' You don't have to set a Stream object,
' just use the Stream methods off GetvCardStream directly
oPerson.GetvCardStream.SaveToFile "d:\vcard.txt", adSaveCreateOverwrite

是的,唯一的代码示例是在VB中。

答案 3 :(得分:1)

刚买了X8,当我无法轻易转移我的联系人时,我真的很生气......直到我开始在手机上窥探。

首先,将Outlook中的所有联系人导出到vCards(我发现通过电子邮件发送给自己是最简单的。如果您收到错误消息“到多个附件...”,您可以将其从发送的项目文件夹中的电子邮件中保存)并将vCard复制到手机上的存储卡中。

其次,在手机上打开你的地址簿,然后按下手机上的左键(上面有4个小方块的按钮。不是屏幕上的4个盒子......物理按钮!)。

第三步,选择“导入/导出”,然后从存储卡中选择导入。导入所有vCard文件,你应该是金色的。

祝你好运......不要问我任何问题,因为我不会再回头看任何帖子了......只是试图自己解决这个问题。