设为首页 收藏本站
查看: 783|回复: 0

[经验分享] outlook快速导入并同步联系人头像和信息

[复制链接]

尚未签到

发表于 2015-9-13 12:29:26 | 显示全部楼层 |阅读模式
  这是我的第一篇博客,在平时的实践中会遇到很多问题,百度起来的知识总是特别零碎。建立这个博客的目的就是想总结自己解决各类问题时候遇到的困难,以及解决的办法,方便自己,也方便他人。

面向人群:
  没有完整技术支持的中型单位管理者,需要快捷获取联系人信息。

主要功能:
  1,  给联系人快速添加已有头像
  2,  在联系人名下快速存入丰富信息
  3,  跨平台跨终端快速同步

工具:
  微软outlook组件,拥有邮箱账户同步功能的智能手机

步骤:
  1,  将所需要的信息,按顺序存入到excel里,另存为csv格式
  2,  打开outlook——文件——导入和导出——从另一程序或文件导入——下一步——逗号分隔的值(Windows)——下一步——浏览(选择文件)——下一步——导入
  3,  点击alt+F11,进入宏编辑模式,输入代码



1 Public Sub UpdateContactPhoto()
2
3     Dim myOlApp As Outlook.Application
4
5     Dim myNamespace As Outlook.NameSpace
6
7     Dim myContacts As Outlook.Items
8
9     Dim myItems As Outlook.Items
10
11     Dim myItem As Object
12
13     Set myOlApp = CreateObject("Outlook.Application")
14
15     Set myNamespace = myOlApp.GetNamespace("MAPI")
16
17     Set myContacts = myNamespace.GetDefaultFolder(olFolderContacts).Items
18
19  
20
21     Dim fs As Object
22
23     Set fs = CreateObject("Scripting.FileSystemObject")
24
25     For Each myItem In myContacts
26
27         If (myItem.Class = olContact) Then
28
29             Dim myContact As Outlook.ContactItem
30
31             Set myContact = myItem
32
33  
34
35             Dim strPhoto As String
36
37             strPhoto = "C:\photos\" & myContact.Categories & ".jpg"
38
39             If fs.FileExists(strPhoto) Then
40
41                 myContact.AddPicture strPhoto
42
43                 myContact.Save
44
45             End If
46
47         End If
48
49     Next
50
51 End Sub
  
  将上述代码中的红色部分改成你需要映射的照片名所对应的outlook属性字段,例如:你在csv中将和照片名字一样的那一列映射到了“公司”这一个属性上,那么你现在就应该将红色字体部分更改为CompanyName。最后点击F5就完成了照片的匹配。
  4,  登陆outlook账户,ctrl+A选中所有本地联系人,粘贴到outlook账户的联系人中,根据网络情况等待五到十分钟,在手机本地“邮件“应用中登陆outlook账户,稍等片刻,手机中就会出现你已经同步好的联系人了。

注意事项:
  1,  csv是以逗号为分隔符的通讯录格式,可以方便地导入到outlook,并同步到邮箱账户里,每次保存时,会将所有文本格式的数据改为默认格式,因此每次修改保存之前必须将“学号”重新粘贴,否则结果会产生错误。并且保存时,会提示两到三次,均同意即可。
  2,  在第一次打开outlook时,一定要选择第二种手动创建,不要登陆outlook网络账户,因为存在exchange协议问题。所有导入要在本地账户里进行,搞好以后,再登陆网络账户,全选,复制粘贴到网络账户。
  3,  在导入csv时,最后一步要记得手动映射,将csv的各个项目映射到outlook的专有属性上,否则会出现因为名称不一致而导入失败的情况。
  4,  注意上文代码中匹配的盘符地址,参照本代码,一定要将以学号(或其他可以对应的属性,如名字)命名的文件所在的文件夹命名为photos,保存在C盘根目录下。也可以有其他的地址或方法。
  5,  Outlook里的代码是VBA代码,具体使用方法请参考百度。
  6,  手机端登陆邮箱账户后,iOS和WP均可自动完美同步所有信息,Android平台依具体厂商而定。

参考资料:
  1,outlook如何导入csv_百度知道
  http://zhidao.baidu.com/link?url=FNIvTpoTC30jVU5Hzdi81j7BP74II1v00grA6Cli0g3ocoLA6kiry_DZHzy72nz_JuaexxONz55ht91n_tjeQq
  2,教你outlook批量添加联系人图片! - HTC Radar论坛 Windows 10 Phone论坛|智机网|WP|WP10论坛
  http://www.wpxap.com/thread-346913-1-1.html
  3,Outlook 字段和等同属性
  https://msdn.microsoft.com/zh-cn/library/ff868508.aspx

心得体会:
  这次操作我在半年多前就有所准备,当时产生这个想法的原因,是我曾经使用word的邮件功能将所有人的照片和宿舍信息聚合在一起,整理出来了三百多个人的宿舍信息卡,这个东西做出来以后很炫酷,也让我第一次真正意义上感受到office套件的强大。而使用VBA解决问题,启发来源于综合测评时候使用的核对系统,确实减少了不少人力,伴随着专业知识的学习和编程能力的提高,我对于VBA的了解也更加深刻,现在再来看这些VBA编码,学习效率高了很多。
  回归正题,通讯录导入手机的解决方案还是相对成熟和方便的,但是市面上缺少相关的应用软件可以一次性将照片和信息关联起来导入手机。解决这一问题,通过我不断地百度和自身的经验,outlook软件是一个重大的转折点。它是office套件中的一个主要用来管理联系人、收发邮件、处理日程等功能的软件,专业版支持强大的VBA编程,这是国产WPS类软件所不具备的,也是我钦佩微软这家真正在做研究的对人类文明发展做出巨大贡献的公司的原因之一。在我之前的认知范围以内,我并不了解横跨所有平台的邮件客户端所存在的意义,它所能带来的,不仅是自由地收发邮件,还能同步邮箱中的联系人至手机通讯录中,将日程提醒添加到手机自带日历app里,它就是手机里面的一个账户(类似于小米云服务账户、flyme账户等),非常方便,我惊叹于这种非凡的设定。Outlook联系人同步至账户以后,任何平台的移动终端都可以方便地获取以上三种信息,iOS版本的邮件支持更加完整,有选择是否同步这三项内容。
  半年多前的寻找解决方案的历程早已忘记,而这次实现的过程充满心酸。本来可以半小时搞定的东西,因为种种不熟悉硬是耗费了我接近两天一晚的时间。
  首先是忘记了csv导入时不可以使用outlook在线账户,应该先导入本地账户,全选后再复制粘贴到在线账户中,这个问题直到第二天中午才发现。让我一度怀疑我的电脑出了问题,通过换电脑,换软件平台(使用qq同步助手等工具修改csv格式等),换字段等,当天夜里搞到一点多接近放弃。
  其次是属性丢失,outlook本身自带很多属性,使用字段对照表,在VBA代码中很容易将各个属性对应到手机中各个栏目中,使得信息展现更加全面(例如学号,家庭住址等),然而各个平台的差异使得最后的表现结果不尽如人意,哪怕是outlook软件自身,有很多属性是无法直接显示的。魅族自己优化过的flyme我很想吐槽一下,属性的设置比wp和iOS麻烦就不说了,相比同是安卓的MIUI也少了很多项目,因此我只能一个一个地调试,使得所有信息都能完整直观地显示出来,这条路又走了半天。
  最后是一些小问题,比如同步过程由于网络问题部分照片丢失,只能全部删除重新同步,删除也有延迟,新旧覆盖(flyme)困惑了我很久,一度以为又是属性的问题,后来发现iOS上的显示是两条,这才了解。最后再吐槽flyme的搜索联系人有点反人类,只能拨打第一条电话,不像其他(MIUI)搜索后可以很方便地搜索需要拨打的电话,这里的主要用途就是短号,解决办法就是将短号和联通电信号码存在“手机”属性,将移动长号存在“手机2”属性。
  技术的实现,由于可参照的模板和技术文档的存在,变得相对需求而言更加容易一些。在不断地和自己的粗心大意、强迫症作斗争的过程中,我也收获了完成一个小工程应该具备的心态和方法。最后的结果是相对满意的。后期还需要改进的就是和其他软件或者flyme、MIUI的同步,以及安全性的问题。Outlook和VBA实在高深莫测,但是我有很大的兴趣去探索,加油!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-113037-1-1.html 上篇帖子: .net发送邮件outlook中文乱码 下篇帖子: 配置ADFS Outlook Client.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表