解决vcard乱码&批量导入outlook

[分享] 【宏】解决vcard乱码&批量导入outlook [复制链接]

如果不是某人用的国产手机,我还真不知道现在好多国产手机联系人的导出格式居然是vcf。而且,中文姓名都乱码了。而且而且outlook不支持批量将这一坨一坨的vcf文件导入。
没办法,上网搜了一通,问题一一解决。


1、vcard乱码。有个叫做VCFEncoding的小程序,操作很简单,打开一看便知,几秒钟就让好多坨乱码的vcard姓名显示正常了。点击下载
2、将vcard批量导入outlook。

(1)打开outlook2003,按下alt+F11,调出Visual Basic编辑器;
(2)工具——引用,找到Microsoft Scripting Runtime和Windows Script Host Object Model勾选,确定;
(3)插入——模块,复制粘贴以下代码,并保存;
普通浏览 复制代码
  1. Sub OpenSaveVCard()
  2. Dim objWSHShell  As IWshRuntimeLibrary.IWshShell
  3. Dim objOL  As Outlook. Application
  4. Dim colInsp  As Outlook.Inspectors
  5. Dim strVCName  As  String
  6. Dim fso  As Scripting. FileSystemObject
  7. Dim fsDir  As Scripting. Folder
  8. Dim fsFile  As Scripting. File
  9. Dim vCounter  As  Integer
  10. Set fso =  New Scripting. FileSystemObject
  11. Set fsDir = fso.GetFolder(”C:\vcards”)
  12. For  Each fsFile In fsDir. Files
  13. strVCName = “C:\vcards\” & fsFile. Name
  14. Set objOL =  CreateObject(”Outlook. Application”)
  15. Set colInsp = objOL.Inspectors
  16. If colInsp. Count =  0  Then
  17. Set objWSHShell =  CreateObject(”WScript. Shell”)
  18. objWSHShell.Run strVCName
  19. Set colInsp = objOL.Inspectors
  20. If  Err =  0  Then
  21. Do Until colInsp. Count =  1
  22. DoEvents
  23. Loop
  24. colInsp. Item( 1).CurrentItem. Save
  25. colInsp. Item( 1). Close olDiscard
  26. Set colInsp =  Nothing
  27. Set objOL =  Nothing
  28. Set objWSHShell =  Nothing
  29. End  If
  30. End  If
  31. Next
  32. End  Sub
(4)把所有的vcard文件存放至C盘,vcard目录下(当然你也可以放在别处,只要修改以上代码中相应的路径);
(5)回到outlook界面,工具——宏——运行宏,如果出现“该工程的宏被禁止”之类的提示,在工具——宏——安全性中的选项改为中或者低即可。
最后,等导入vcard的窗口不停的闪现完之后,就可以把outlook联系人同步到新手机啦。哦也~

你可能感兴趣的:(解决vcard乱码&批量导入outlook)