将所有联系人导出为Outlook中的电子名片

问题描述:

因此,我想将所有联系人从Outlook导出为电子名片。如果我谷歌,我得到一堆共享软件程序,但我想要的东西免费的,只是工作。将所有联系人导出为Outlook中的电子名片

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

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

+0

感谢您的澄清。我以为你正在寻找一种方法来做到这一点在代码中。您的解决方案对于您要完成的任务肯定更容易。但显然,其他人发现你的问题无论如何有用。 – DOK 2008-10-21 14:27:00

+0

我正在寻找一种方法来做它的代码,但因为我只需要一次性的解决方案,在这种情况下,我的手动方式更容易:) – 2008-10-22 06:57:41

我解决它以非编程方式:

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

他们确实很难找到,不是吗?看看这是否有帮助。 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中。

+0

我不熟悉VB,不幸的是得到的错误:``错误类型'CDO.Person'未定义。试图寻找适当的参考,但没有喜悦。 – 2012-11-21 17:14:46

刚刚购买了X8,当我无法轻松转移我的联系人时,我正要变得非常生气......直到我开始在手机上进行窥探。

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

其次,在手机上打开你的通讯录,然后按下电话上的左键(上面有4个小方块的按钮,而不是屏幕上的4个方块...物理按钮!)。

三,选择“导入/导出”并选择从存储卡导入。导入所有的vCard文件,你应该是黄金。

祝你好运......不要问我任何问题,因为我不会再回头看看更多的帖子......只是想通过自己想出来。

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