论文部分内容阅读
单位领导手机丢了,新入手一款长虹手机,需要将单位150多位同事的手机号输入保存,以方便联系。可手工逐个输入工作量非常大。同事小韩用了一个比较实用的宏功能,快速批量地完成了电话号码的导入。
这个过程说起来还蛮复杂的。
小韩在把玩手机时发现这款手机支持导入、导出电话簿功能,于是导出电话簿后,生成的是TXT文本文件,每个电话信息共有8项,每项信息占两行,信息间还空一行,电话信息共占16行(图1)。
小韩想,如果能将单位保存在EXCEL文档中的电话本转换成这种形式写入到文本文件中,就能轻松搞定电话的导入工作。试验发现虽然可以只填写姓名和电话号码两项内容,其它项如无内容均可留空,但必须要有,否则导入出错无法进行。
于是小韩准备使用VBA编写个宏,来快速制作出符合要求的EXCEL文档,再将其复制到记事本就能导入了。
新建了一个EXCEL文档,将保存电话的EXCEL文档中的姓名复制、粘贴到Sheet1的A列中(必须从A1单元格开始粘贴),再将电话号码对应的复制粘贴到B列备用(图2)。
切换到Sheet2中,点击“视图”选项卡中的“宏”,打开“宏”对话框,在“宏名”下的文本框中输入宏名称,如“电话本转换”,再点击“创建”按钮,进入VBA编辑窗口,在“Sub 电话导入转换()”和“End Sub”之间输入如下代码:
'一个人员电话信息共占16行,每个人员信息间需留1空行来分隔,所以一个人员信息共占17行,所以下面用到17。
For i = 1 To 158 '从1循环到158
Sheets("sheet2").Cells(17 * (i - 1) + 1, 1) = "姓名" '在Sheet2表的A1单元格中写入“姓名”字符
Sheets("sheet1").Cells(i, 1).Copy '复制Sheet1中A1单元格中的内容(同事姓名)到剪切板
Sheets("sheet2").Cells(17 * (i - 1) + 2, 1).PasteSpecial Paste:=xlPasteValues '将复制得到的姓名选择性粘贴到sheet2中A2单元格中
Sheets("sheet2").Cells(17 * (i - 1) + 3, 1) = "电话号码"
Sheets("sheet1").Cells(i, 2).Copy
Sheets("sheet2").Cells(17 * (i - 1) + 4, 1).PasteSpecial Paste:=xlPasteValues
Sheets("sheet2").Cells(17 * (i - 1) + 5, 1) = "家庭电话"
Sheets("sheet2").Cells(17 * (i - 1) + 7, 1) = "公司名称"
Sheets("sheet2").Cells(17 * (i - 1) + 9, 1) = "电子信箱名"
Sheets("sheet2").Cells(17 * (i - 1) + 11, 1) = "公司电话"
Sheets("sheet2").Cells(17 * (i - 1) + 13, 1) = "传真号码"
Sheets("sheet2").Cells(17 * (i - 1) + 15, 1) = "生日"
Next
检查无误后,点击工具栏上的“运行子过程”按钮,很快就可在Sheet2中生成符合要求的电话本信息。最后全选,复制粘贴到记事本中,将该记事本复制到手机卡上,执行导入电话簿功能,电话的导入工作完成。
小编有话:
本文以长虹手机为例,给大家一个电话本批量导入思路,凡是具有电话本或通讯录导入导出功能的手机,都可利用这一思路来完成电话本批量导入,适用于各种类型手机,操作也很简单。
一般手机导出的电话本文件格式是TXT、CSV、XLS等,只是要求的电话本号码信息项多少不尽相同,这时只需要根据导出的电话本文件中一个电话号码的信息项要求样式,增删一下宏代码相应语句,就可以制作出适合相应手机的导入电话本样式文件,随后再转换成手机支持的文件格式,在手机上导入即可。
这个过程说起来还蛮复杂的。
小韩在把玩手机时发现这款手机支持导入、导出电话簿功能,于是导出电话簿后,生成的是TXT文本文件,每个电话信息共有8项,每项信息占两行,信息间还空一行,电话信息共占16行(图1)。
小韩想,如果能将单位保存在EXCEL文档中的电话本转换成这种形式写入到文本文件中,就能轻松搞定电话的导入工作。试验发现虽然可以只填写姓名和电话号码两项内容,其它项如无内容均可留空,但必须要有,否则导入出错无法进行。
于是小韩准备使用VBA编写个宏,来快速制作出符合要求的EXCEL文档,再将其复制到记事本就能导入了。
新建了一个EXCEL文档,将保存电话的EXCEL文档中的姓名复制、粘贴到Sheet1的A列中(必须从A1单元格开始粘贴),再将电话号码对应的复制粘贴到B列备用(图2)。
切换到Sheet2中,点击“视图”选项卡中的“宏”,打开“宏”对话框,在“宏名”下的文本框中输入宏名称,如“电话本转换”,再点击“创建”按钮,进入VBA编辑窗口,在“Sub 电话导入转换()”和“End Sub”之间输入如下代码:
'一个人员电话信息共占16行,每个人员信息间需留1空行来分隔,所以一个人员信息共占17行,所以下面用到17。
For i = 1 To 158 '从1循环到158
Sheets("sheet2").Cells(17 * (i - 1) + 1, 1) = "姓名" '在Sheet2表的A1单元格中写入“姓名”字符
Sheets("sheet1").Cells(i, 1).Copy '复制Sheet1中A1单元格中的内容(同事姓名)到剪切板
Sheets("sheet2").Cells(17 * (i - 1) + 2, 1).PasteSpecial Paste:=xlPasteValues '将复制得到的姓名选择性粘贴到sheet2中A2单元格中
Sheets("sheet2").Cells(17 * (i - 1) + 3, 1) = "电话号码"
Sheets("sheet1").Cells(i, 2).Copy
Sheets("sheet2").Cells(17 * (i - 1) + 4, 1).PasteSpecial Paste:=xlPasteValues
Sheets("sheet2").Cells(17 * (i - 1) + 5, 1) = "家庭电话"
Sheets("sheet2").Cells(17 * (i - 1) + 7, 1) = "公司名称"
Sheets("sheet2").Cells(17 * (i - 1) + 9, 1) = "电子信箱名"
Sheets("sheet2").Cells(17 * (i - 1) + 11, 1) = "公司电话"
Sheets("sheet2").Cells(17 * (i - 1) + 13, 1) = "传真号码"
Sheets("sheet2").Cells(17 * (i - 1) + 15, 1) = "生日"
Next
检查无误后,点击工具栏上的“运行子过程”按钮,很快就可在Sheet2中生成符合要求的电话本信息。最后全选,复制粘贴到记事本中,将该记事本复制到手机卡上,执行导入电话簿功能,电话的导入工作完成。
小编有话:
本文以长虹手机为例,给大家一个电话本批量导入思路,凡是具有电话本或通讯录导入导出功能的手机,都可利用这一思路来完成电话本批量导入,适用于各种类型手机,操作也很简单。
一般手机导出的电话本文件格式是TXT、CSV、XLS等,只是要求的电话本号码信息项多少不尽相同,这时只需要根据导出的电话本文件中一个电话号码的信息项要求样式,增删一下宏代码相应语句,就可以制作出适合相应手机的导入电话本样式文件,随后再转换成手机支持的文件格式,在手机上导入即可。