ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E文精选 > Word > 跟着西西学邮件合并(二)工资条实例

跟着西西学邮件合并(二)工资条实例

作者:绿色风 分类: 时间:2022-08-17 浏览:211
楼主
い卋玑┾宝珼
  由浅入深,了解步骤之后,我们再通过这个实例,学习一下邮件合并过程中的小技术,以及数字的处理。

  在大家学习公式的时候,可能也会接触到工资条实例,我们先来看一个简单的。下面是一个工资条实例的演示图,通过这个公式,右拉,下拉,生成的工资条。

 

在大家学习VBA的时候,可能也接触过,工资条实例,再来看这个演示。

 
一段简单的代码,就实现了这个功能
  1. Sub 按钮1_Click()
  2.     Dim i As Integer
  3.     [J1:O500].Clear
  4.     For i = 2 To Cells(Rows.Count, 1).End(3).Row
  5.         Range("A1:F1").Copy Range("J" & 3 * i - 5)
  6.         Range(Cells(i, "A"), Cells(i, "F")).Copy Range("J" & 3 * i - 4)
  7.     Next
  8. End Sub

2楼
い卋玑┾宝珼
实现工资条的方法很多,还有人教过我用SQL,用技巧。但事实上,做这件事情,最专业的其实是Word的邮件合并。让我们一步一步了解一下怎么实现这个功能吧。
1、建立主文档
大家可能很奇怪,为什么后面要加两个回车,这是为了让生成的工资条中间,有空行,如果不加这两个回车,大家可以试一下效果,生成的工资条就全部连起来了,并没有分开。

 
2、连接数据源
先打开数据源的文件,看一下数据源长啥样吧(此步可不做)

 
然后,在我们的主文档中,连接数据源

 
注:数据中包含标题,才要勾选“数据首行包含列标题”,如果只有数据没有标题,则去掉这个勾。
最后,我们可以看一下导入的数据长啥样(此步也可省略)

 
看到这样的数据源,大家一定很奇怪,怎么在Excel里面,一位小数点,到了Word里面,多了那么多不知道哪冒出来的小数点后面的数呢。
这个问题,大家不用担心,这个实例,就是想要教大家怎么处理这种情况,而导致这个问题呢,是因为两个软件精度问题引起的。
3、插入合并域

 
这个实例中,要插入很多个合并域,就不一个个分开介绍了,最终插入结果,如下图:

 
在对应的单元格插入对应的合并域即可。
4、查看合并数据(可省略)

 
点击预览结果,发现工资条显示了好多小数点。这时候该怎么办呢。
第一步,alt+F9,切换到域代码显示。

 
第二步,我们需要将后面三数数字,改成一位小数,不知道怎么改怎么办?不用急,我们可以用现有的东西,获取需要加的内容。

 
④的时候,选择了numPages,这里其实随意,目的只是为了获取,显示一位小数的域代码。
⑤的时候,选择0.00,将后面的一个0,删掉,变成0.0,再点击⑥
此时,在文档中,插入了如下语句:

 
第三步,将获得的格式语句,粘贴到我们的域代码中。修改后如图所示
复制时,记住,工资离\#之间要有一个半角空格,MERAGEFORMAT离}之间,也要有一个半角空格。

 
第四步,删除第二步添加的辅助域。
第五步,按Alt+F9切换到非域代码显示,全选,按F9刷新,此时效果如图

 

完成之后,我们来解释一下,添加的那一段设置的域代码
“\#”是数字图片开关,“\*”是格式开关
“\# “0.0””的意思是,将数字格式,设置为只有一位小数
“\* Mergeformat”的意思是,更新域时保留原格式。如果想对显示的文本重新进行格式化并想保持这种格式时可以使用\*MERGEFORMAT开关。在此处并没有实质的意义。

如果以后熟了,可以直接在后面输入“空格\#空格”0.0”空格”这里打的空格,换成半角空格即可。
5、合并到新文档
第一步,切换到目录格式

 
此步,是因为我们需要生成的文档,是一条一条连续显示的,而不是分页显示的。
第二步,选择编辑单个文档。

 
此时,可以看到生成的文档是如下效果

 


3楼
い卋玑┾宝珼
文中用到的实例文件:

跟着西西学邮件合并(二)使用文件.zip


最后,补充一些可能用到的域知识:
1. 插入域:Ctrl+F9,或单击菜单“插入→文档部件→域”。
2. 显示或隐藏域代码:
 按键:ALT+F9(所有显示)
 快捷菜单:选中带有域的文本,右键弹出快捷菜单,单击“切换域代码”。
3. 更新域:F9 键
 更新单个域:首先单击或选中此域或域结果,然后按下 F9 键。
 更新所有域:全选所有的内容,然后按下 F9 键。
 或:选中带有域的文本,右键弹出快捷菜单,单击“更新域”。

这些是常用的一些域的操作,在之后的实例也会经常用到。之后的帖子就不会再补充了

目录
跟着西西学邮件合并(一)入门

  此处介绍了邮件合并的基础知识,并结合一个非常简单的邀请函实例,了解一下整个邮件合并的步骤
跟着西西学邮件合并(二)工资条实例 及域基本知识补充

  此处介绍了一个邮件合并的常用实例,工资条,主要是更进一步了解邮件合并的步骤,处理一下由于精度问题引发的小数点问题的解决方法。并补充了一下之后编辑邮件合并域,可能会涉及到的一些操作。
跟着西西学邮件合并(三)带照片的胸卡实例

  此处介绍了带照片的胸卡实例的制作,使用了两种数据源,一种是带照片的word表格数据源,一种是带照片路径的Excel表格数据源。了解胸卡实例的制作,知道includepicture的作用。

跟着西西学邮件合并(四)使用多条记录

      此处介绍了两个使用两条记录的实例,实例一是为了一页正好排下两条记录。实例二是两条记录需要交叉使用。并且介绍了一下IF域,SET域,NEXT域的使用。
跟着西西学邮件合并(五)综合实例

  此处,是为了学习邮件合并,想出来的一个综合实例,综合运用了前面实例的大部分知识,为这个系列帖,划上一个圆满的省略号。
4楼
windtide73
谢谢,分享
5楼
houtian23
嘿嘿
双表头的工资条能不能用邮件合并来搞啊
6楼
い卋玑┾宝珼
什么叫双表头的工资条?你可以截个图给我看一下
7楼
嘉昆2011
对域概念不熟悉的朋友,可以采用勾选Word---File---Option---Advanced---General--- Confirm conversion at Open。目的是保持动态数据链接的一致性,避免出现数据格式不一致。

喜欢研究域的朋友可以,可以参看官方链接 :
  1. http://office.microsoft.com/en-us/word-help/field-codes-in-word-HA102110133.aspx
8楼
houtian23
 
这个叫双表头
9楼
い卋玑┾宝珼
好吧,我翻译一下,
文件→选项→高级→常规→打开时确认文件格式转换
10楼
い卋玑┾宝珼
当然可以,你做最开始的主文档的时候,格式设置成这样就好啦,下面的步骤是一样的
11楼
初学者2012
好东西,谢谢分享****
12楼
ctp_119
按部就班的会了一点,,,强 大
13楼
liqb
学习学习
14楼
思杨妈咪
请教下西西,是不是数据源的规格有什么要求呢,我在制作本单位的工资条中在插入域中找不到相对应的数据源标记,只显示F1.F2.F3......等等,是怎么回事呢
15楼
shushangyi
这个有用
16楼
亡者天下
收藏了,好好学习一下,谢谢分享!
17楼
jellyn
但是我的情况和教程里面的目的不一样啊,我的是需要一页word里面有7行数据,但只需要一个标题行。请问如何操作?
18楼
笑春风
多谢

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap