【更新】智能手机批量添加联系人
前段时间忙于考试、数模等事情,没学到多少东西,再加之忘记了密码,很多心得都懒得去整理,今天更新一下比较完整的教程,较上篇补充了一点内容。接下来我应该会写一些数模中使用Netica的心得,希望我懒癌不要太严重。
在中小型集团、社团中,管理者常常需要批量存储成百上千个联系人,但手动输入的效率极低。本文依据“有头像”和“无头像”两种情况,分别介绍批量存储联系人信息最简单的方法。
一、无待存储联系人的头像
在管理者只有联系人的姓名、编号、电话、住址等信息,没有照片作为联系人头像的情况下,批量存储联系人十分容易,推荐使用QQ同步助手和360手机助手。
使用QQ同步助手的方法请参考链接:http://jingyan.baidu.com/article/851fbc37e0a94d3e1f15ab94.html ,这种方法的优点是,该软件是可以安装在所有智能手机平台(Android、iOS、WP),且拥有网页版,可以云端修改保存,在所有手机上同步。
使用360手机助手的方法请参考链接:http://jingyan.baidu.com/article/5225f26b0f7853e6fa0908f8.html ,该软件是360软件管家(PC端)的附属工具,优点是只在电脑本地操作,不需要上传到云,简便、安全,缺点是只适用于Android系统。
【注意事项】
1、以上两种方法的精髓在于可以利用软件指定格式的CSV表格存储联系人姓名、电话以外的其他字段,例如:宿舍号、家庭住址、父母姓名等,只需按照自己的设定将其对应到表格中的某一列即可,但要考虑到这个字段本身的格式(例如电话一栏就不能写文本)。
2、Android各厂商如小米、魅族等都拥有自己的通讯录云服务,除部分字段表示有区别外,方法大同小异,可自行了解。
二、有待存储联系人的头像
【使用本方法的前提】
1、联系人与其用作头像的照片有一一对应的关系,例如所有的照片都是以“学号.jpg”命名的,且尺寸基本一致。
2、拥有office专业增强版的outlook软件。
3、拥有微软账号(可选)。
【操作步骤】
1、新建一个excel工作薄,将姓名、学号、民族等信息,按对应关系粘贴到表格里,并另存为csv格式。
2、打开outlook软件,选择本地账户联系人(切记是本地),点击文件——打开和导出——导入/导出,
接着点击:从另一程序或文件导入——下一步——逗号分隔的值(Windows)——下一步——浏览(选择文件)——下一步——下一步,看到如下页面,
点击“映射自定义字段”后,将左侧已设计好的csv表格中的所有字段(例如姓名、手机号、家庭住址等)分别拖动到右侧outlook联系人中对应的属性中,这样可以使得所有在csv文件中存储的信息都能导入到outlook联系人卡片中,避免丢失信息,当然如果你的csv表格一开始就完全按照outlook的字段编辑的话,就可以忽略这一步由系统自动映射了。
点击确定——完成,等待半分钟左右,联系人列表已经生成完毕,除了头像以外的其他字段信息如下所示(为了保护隐私各个信息做了处理),我们使用了iPhone4S、小米2S和魅蓝Note做测试,采取了这种折衷的办法,将“学号”与outlook中的“部门”字段映射,将“家长姓名及关系”与“省份”映射,将“宿舍和民族”与“公司”映射等等,这些都是为了避免在某些机型上由于厂家优化原因导致某些字段不能显示的情况(比如某手机就可能无法显示你映射在“商务地址”中的信息,outlook也很无奈),同时各类信息聚合在一起紧凑美观,易于分辨。因此在操作的时候需要多次检验,找到最合适的安排方法。
3、接下来是将照片添加到各个联系人中,在键盘上按Alt+F11进入outlook的VBA,输入以下代码:
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 Dim fs As Object 20 21 Set fs = CreateObject("Scripting.FileSystemObject") 22 23 For Each myItem In myContacts 24 25 If (myItem.Class = olContact) Then 26 27 Dim myContact As Outlook.ContactItem 28 29 Set myContact = myItem 30 31 Dim strPhoto As String 32 33 strPhoto = "C:\photos\" & myContact.Categories & ".jpg" 34 35 If fs.FileExists(strPhoto) Then 36 37 myContact.AddPicture strPhoto 38 39 myContact.Save 40 41 End If 42 43 End If 44 45 Next 46 47 End Sub
红色行是需要修改的内容,这里有两个细节,首先应将按照前述命名规则整理好的照片存入如上所示路径(C:\photos\),也可以是任意路径,修改上述代码中的路径即可,接着需要查阅Outlook 字段和等同属性https://msdn.microsoft.com/zh-cn/library/ff868508.aspx ,比如我们将学号映射在了outlook的“部门”这一栏,而照片都是以“学号.jpg”命名的,因此需要查阅“部门”的属性名为Department,将上述红字myContact.Categories改为Department,再按F5运行就完成了照片的匹配。
4、接下来有两种方案:喜欢云同步的人可以使用一个微软账号,登陆进outlook里,将本地联系人里面刚刚已生成的所有联系人复制进微软账号中,在任意智能手机的“邮件”APP添加微软账号就可以同步这些联系人了,随时修改随时同步。
对云同步恐惧的人可以全选本地联系人,点击outlook软件的开始——转发联系人——作为名片,等待两三分钟后,全选附件中的vCard,保存到一个新文件夹中,再直接存进手机,利用手机通讯录导入vCard的功能即可完成操作。
【注意事项】
1、csv是以逗号为分隔符的通讯录格式,可以方便地导入到outlook,并同步到邮箱账户里,每次保存时,会将所有文本格式的数据改为默认格式,因此每次修改保存之前必须将“学号”重新粘贴,否则结果会产生错误。并且保存时,会提示两到三次,均同意即可。
2、能自动对应联系人头像的方法目前只有这一种比较简便,前面寻找最佳映射方案都是为了能快速地添加头像,否则就只好在手机端或者上述QQ同步助手和360手机助手中逐一添加,这其中的学习成本和重复劳动的成本可以自己权衡。
上述教程如有描述不清的地方,或发表看法,可以留言联系我,谢谢批评指正。