关于c#:将所有联系人作为vcard从Outlook导出

Export all contacts as vcards from Outlook

因此,我想将所有联系人从Outlook导出为vcard。如果我用谷歌搜索,我会得到很多共享软件程序,但是我想要一些免费的,可以正常工作的软件。

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

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


我以非编程方式解决了它:

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


它的价值-我只是遇到了这个线程,希望从Outlook中将其导出到单个.VCF文件。我拥有2007年的操作系统(不知道这是否有所不同),但是我选择了所有联系人并将其拖到新的电子邮件中,以将其添加为单独的.VCF文件。将它们全部添加之后,我单击了新电子邮件的附件部分,按CTRL-A以突出显示所有它们,然后将第一个(因此也将它们全部)用鼠标左键拖动到我想要的个人文件夹中。 VCF文件进入。几分钟的Outlook就"思考"我的400个联系人,他们都在那里!


他们肯定很难找,不是吗?看看是否有帮助。
http://msdn.microsoft.com/zh-cn/library/aa579624(EXCHG.80).aspx

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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中仅有的代码示例。


只是购买了X8,当我无法轻松转移联系人时,我真的会非常生气……直到我开始偷窥手机。

首先,将Outlook中的所有联系人导出到电子名片(我发现通过电子邮件将其发送给自己是最简单的。如果收到"发送至许多附件..."错误消息,则可以从电子邮件中将其保存在"已发送邮件"文件夹中),然后将vCard复制到手机上的存储卡。

第二,在电话上打开通讯录,然后按电话上的向左按钮(该按钮上面有4个小方块。不是屏幕上的4个方框...物理按钮!)。

第三,选择"导入/导出",然后选择从存储卡导入。导入所有vCard文件,您应该会很高兴。

祝您好运...不要问我任何问题,因为我不会再看任何其他文章...只是通过尝试自己弄清楚而已。