ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 11214|回复: 3

[推荐]outlook中电话本姓名完美转拼音缩写Excel程序

[复制链接]

TA的精华主题

TA的得分主题

发表于 2008-4-7 10:30 | 显示全部楼层 |阅读模式
我习惯用outlook来管理通讯录,并通过导入功能将EXcel版的通讯录全部导入outlook中,在我的outlook中有2000个联系人的信息,我还将这些联系人信息同步到智能手机中。这么多的联系人,查找是非常麻烦的事。前两天,从网络上查找到电话本姓名完美转拼音缩写的Excel程序,经过操作,已经成功地将2000个联系人姓名全部转拼音缩写。现在,无论在outlook中还是在智能手机中查找联系人都非常地方便,推荐大家使用,具体程序详见附件。

有一位网友写了详细的过程,现分享如下(过程有些复杂,请仔细看):

下面我就将我自己的Outlook电话本转成带拼音首字母的过程作一个简单的介绍,重点讲一下处理过程中的注意事项。

前提:

1、你熟悉Outlook联系人方面的有关操作,能够熟练的将Outlook电话本与智能手机进行同步,不熟悉的看有关教程。

2、由于要用Excel来处理电话本,不可避免的会出现电话号码变成数字的科学计数法表示以及丢失区号前面的0等现象,因此,在用Excel打开导出的电话本之前,一定要对电话号码进行简单的处理,防止电话号码变成数字。推荐的处理方法(银行帐号等数字格式的文本也遵循这个原则):

1)将电话号码中加上-这样的英文符号,如12345678变成1234-5678。

2) 对于带区号的电话号码,如01012345678可以写成这种形式:(010)1234-5678。

3) 对于+8613911112222这种带国家号的电话号码最好变成(+86)139-1111-2222这种格式。

最简单的处理办法就是在导出CSV文件之后,用UltraEdit(简称UE,一款编辑软件,可以到网络中查找)的正则表达式将所有的数字前面加上几个#号,这样号码就不会被Excel处理成数字了,然后被Excel处理完成后,再使用UE,将所有的#号替换为无。

UE正则表达式替换的使用方法:

首先,设置UE使用Unix形式的正则表达式(在高级->配置->查找中设置),我使用的是UE 10.10c。

查找:"([+0-9])([0-9]*)"

替换为:"###\1\2"

注意,上面的符号均为半角,对于直接阅读本文件的人来说“”和“”是论坛里用于加粗的代码,不在查找替换范围之内。1

待用Excel处理完导出文件(加上拼音简写之后),再用UE将所有的###替换为空即可(不需要再使用正则表达式了,这也是为什么使用三个#号的原因)。

特别注意:无论下面的处理过程如何,务必备份好你的原始Outlook个人文件夹文件。备份方法很简单,关闭Outlook,然后复制一份对应的.pst文件到另一个地方就行了。

Outlook电话本到Excel再转回Outlook的大致步骤如下:

1、首先,将Outlook的电话本导出成用“,”(半角逗号)分隔的CSV文件。我用的是Outlook 2000,也就是Office 2000中自带的Outlook。打开Outlook,选择“联系人”,然后从Outlook的菜单依次“文件 -> 导入和导出 -> 导出到一个文件 -> 以逗号为分隔符(Windows) -> 选择导出文件 -> 映射自定义字段”,到这里需要注意:

1) Outlook默认的字段映射中,姓名这一部分是很复杂的,分为“英文称谓、名、中间名、姓、中文称谓”五个字段,其中的名对应智能手机上的名字,姓对应智能手机上的姓氏。如果导出这一部分,取决于你想把电话本处理成什么形式,也别指望这个过程可以一步到位。

有的人在Outlook中输入联系人时是按照姓、名分别输入成两个字段的,有人干脆就是将姓名全部输入到“姓”或者“名”一个字段中,还有的在“姓”字段中对联系人进行分类,将联系人的名字输入到“名”字段中(一般中国人没有习惯使用中间名这东西),例如:“同事,张三”,“同事,李四”,“同学,王五”等等。

再一个就是生成的拼音简写放到什么位置的问题,我提供的这个Excel程序支持两种生成方式:一种是与姓名合并成一列的,例如“张三zs”,“李四ls”,另一种是单列存放的,也就是“张三”和对应的“zs”分别各占一列。

我的实践是将生成的拼音简写放到姓名的前边。

2

2) 我个人推荐的方式:无论你原来是如何填写姓名的,将姓名合并成一个字段,也就是要么将所有汉字放到“姓”中,要么将所有的汉字放到“名”中,而另一个空出来的字段单独存放对应汉字的拼音缩写。

这样的优点是显而易见的,最主要的是易于维护,现在大部分的手机电话本都与Outlook兼容,姓、名这两个字段也没有明显的长度限制。

怎么将原来分开的姓、名两个字段合并成一个“姓名”字段呢?很简单,在Outlook导出过程中上面的字段映射部分,Outlook会自动将前面的“英文称谓、名、中间名、姓、中文称谓”五个字段合并出一个“姓名”字段,加入这个字段(从左拖到右),你的导出表中就多出了这个合并后的“姓名”字段,然后在Excel中将它复制、粘贴到“姓”或者“名”字段中就很简单了。

总之,既然outlook提供了字段映射功能,你自己该怎么处理自己的电话本就由自己决定了。我的处理过程是导出了两次,第一次导出合并的姓名字段,第二次按默认的字段映射导出,然后将第一次导出的“姓名”替换掉第二次导出的“姓”字段(在Excel中操作),而将生成的拼音简写替换掉“名”字段。

2、对导出的CSV文件使用UE进行前面所述的替换处理,防止文本变数字。

3、用Excel文件直接打开CSV文件,同时打开上面下载的压缩包中提供的“姓名添加拼音缩写xyf.xls”Excel转换程序,由于这个Excel转换程序使用了宏,因此,你要将Excel的宏安全性设置为“中”及以下级别,在打开时选择“启用宏”。然后将CSV文件中的“姓名”字段(也就是需要加拼音缩写的汉字部分,可以带有英文及其它符号,程序会只处理汉字)复制、粘贴到Excel转换程序的Sheet1的A列中。

4、单击转换程序“Sheet1”中的“开始编辑”按钮,首先提示你将生成的拼音缩写放到什么位置,按自己的需要选择,我建议是单独成列,然后开始转换过程,转换过程中会提示多音字,按需要选择即可(程序会自动统计多音字中某个字的首字母的出现数量并记录到sheet2中,按数量多少优先选择多的那个,还是比较智能的),直到转换完成,程序会自动显示转换开始时间及完成时间。

5、用Excel将转换后的字段再复制、粘贴回CSV文件的对应字段,检查有无问题,确认没有问题后,保存CSV文件(这个保存过程会导致CSV导出文件中的所有双引号丢失,不过不影响导入Outlook)。

6、用UE再次对上面转换后的CSV文件进行处理,主要是去掉前面在数字字段加上的#号字符。

7、在Outlook中新建一个联系人文件夹(或者删除原来联系人文件夹中的所有记录),然后执行CSV文件的导入,查看导入后的记录是否正常,如果有不满意的地方,重复前面的步骤,直到满意为止。

8、将转换完成的Outlook电话本与智能手机进行同步,在智能手机上检测拼音缩写的使用是否方便,一个字儿:爽极了!我的Cu928用拼音缩写查找1484个联系人,基本上不会有停顿现象。

如果对转换程序有什么不满意的地方,可以自己修改宏程序,例如:联系人的姓一般比较特殊,不会出现多音字的现象,针对联系人的第一个汉字(一般是姓)可以用程序特殊处理,不用选择多音字。例如:解x,贾j,查z,单s等。可以参考下载压缩包中的“姓名添加拼音缩写姓氏单独处理不完善版.xls”文件,对sheet4中的姓氏读音进行特别处理,由于数据量太大,只修正了少数的错误,将这个表中不该发音的姓氏读音去掉即可,例如去掉“解j、贾g、查c”等行,对百家姓了解不多,很多姓都不知道念什么:)。

TA的精华主题

TA的得分主题

发表于 2008-4-9 19:40 | 显示全部楼层

谢谢分享!我喜欢用Excel来管理联系人,由于要报销业务电话费,我还依赖Excel代码帮我勾选出业务电话来。

TA的精华主题

TA的得分主题

发表于 2012-2-28 23:00 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2012-5-16 09:51 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-4 20:06 , Processed in 0.025526 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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