全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
广义的邮件合并的高级应用和教程 1. 什么是邮件合并:大多数人被邮件一词所迷惑,其实广义的邮件合并,我的理解是将指定数据源(邮件合并数据源)中的记录按用户要求(主控文档)提取到指定文档(可以是打印机,也可以是子文档)的过程与功能。 2. 数据源要求:所有数据源,是指符合数据库特征的文档(*.DOC),工作薄(*.XLS)或者表(*.MDB)等等,它们的共同特点是具有行具有记录特性,列具有字段特性。 3. 邮件合并的用途,正如其的译名一样,最初便是广泛应用于邮件的发送方面,同一个结构下的不同数据的重复操作,只是更换了其中的记录数据。因此,凡是符合或者想要达到此目的的具有类似操作的,均可以使用邮件合并功能。邮件合并可以广泛应用于信封的打印,标签的打印,请柬的打印,成绩单的打印,工资单的打印,记录的打印,包括我们常用的序列号的打印等等。而我们常用的数据源,以EXCEL为主,原因是在EXCEL中生成有序的数据,较之WORD中更为方便快捷有序。 4. 以下一些高级应用,摘自本论坛中,希望能够对大家有所帮助: 4.1. 拆分字段 如: 如:在数据源“完成日期”字段的某条记录是“2004-4-1”,我想在主控文档中插入2004、4、1,3个域位置不连续。 在主控文档中分别插入三个域:如下 MERGEFIELDyyyy 完成日期 , MERGEFIELDM 完成日期 , MERGEFIELDD 完成日期 请参此链接: /dispbbs.asp?BoardID=23&replyID=332479&id=68445&skin=0 4.2. 条件判断: 通过邮件合并工具来自动生成请柬。判断依据,如果性别为男则在姓名后添加先生,如果性别为女且年龄为25以下添加小姐,大于25添加女士。 解决方法: 原理相当于EXCEL中的IF公式:即if (性别=男,先生,if (年龄35,女士,小姐),域代码如下: MERGEFIELD 姓名 IF MERGEFIELD 性别 = 男 先生 IF MERGEFIELD 年龄 25 女士 小姐 ,参见以下链接: /dispbbs.asp?BoardID=23&replyID=376140&id=75330&skin=0 4.3. 一些较为复杂的解决方法,在WORD中又没有提供更合适方法的情况下,我们可以参考以下EXCEL解决方案 4.3.1. 这是EXCEL的解决方案之一:,供参考:(所有操作均在EXCEL中完成) . 数据/分类汇总:分类字段:姓名;汇总公式:计数;汇总项:姓名;每组数据分页;确定。 . 汇总后数据,点击左上角(状态栏下方)的“组及分类显示级别”2(共分三级:1,2,3),选中A2A38(根据你上传的附件),F5定位为可见单元格,即选中所有汇总项的单元格(目的是隐藏它们); . 点级别3,所有数据倒全部在屏幕上显示,所有分类汇总的单元格已被选中,格式/行/隐藏,这样,已经形成的分页的单独分姓名显示; . 格式化:全选数据区域,F5定位为可见单元格,CTRL+1,设置单元格格式,字体与边框和行高等设置。 . 页面设置:文件/页面设置/工作表选项卡,顶端标题栏,选第一行(A1),页边距选项卡,勾选居中方式:水平后确定。 . 预览一下我们的成果。 4.3.2. EXCEL解决方案之二:EXCEL&WORD的Automation(自动化)解决方案: Sub WriteToWord() Dim MyRange As Range, i As Range, LastAddress As String Dim WdApp As Word.Application, Doc As Word.Document, N As Integer On Error GoTo ErrHandle 启动错误处理程序 LastAddress = Sheets(1).B65536.End(xlUp).Address B列最后一个数据 Set MyRange = Sheets(1).Range(B2: & LastAddress) 定义循区域范围 Set WdApp = CreateObject(Word.Application) 创建WORD对象 N = 2 从第二行开始 With WdApp .ScreenUpdating = False 关闭WORD屏幕更新 Set Doc = .Documents.Open(ThisWorkbook.Path & pswxm.DOT) 打开该模板 在与本工作薄同一文件夹下 For Each i In MyRange 在指定范围内循环 If i i.Offset(-1, 0) Then 如果该数据与下一数据不同 N = 2 初始化N值 移到文档最后 .Windows(Doc).Selection.EndKey Unit:=wdStory 当I的行号非2时插入分页符 If i.Row 2 Then .Windows(Doc).Selection.InsertBreak Type:=wdPageBreak 光标处插入已设置的自动图文集 Doc.AttachedTemplate.AutoTextEntries(成绩表).Insert where:=.Windows(Doc).Selection.Range, _ RichText:=True Else 否则则选定当前表格的最后一行并向下插入一行 Doc.Tables(Doc.Tables.Count).Rows(N).Select WdApp.Windows(Doc).Selection.InsertRowsBelow 1 N = N + 1 加1 End If With Doc.Tables(Doc.Tables.Count) 对当前表格赋值 .Cell(N, 1).Range = i.Offset(, -1) 学期 .Cell(N, 2).Range = i 姓名 .Cell(N, 3).Range = i.Offset(, 1) 英语 .Cell(N, 4).Range = i.Offset(, 2) 高等数学 .Cell(N, 5).Range = i.Offset(, 3) C语言 End With Next .Visible = True WORD程序可见,假设此句放在上面,可在调试过程中看到WROD运行情况 .ScreenUpdating = True WORD屏幕更新恢复 End With Application.ScreenUpdating = True MsgBox 运行结束,请切换到WORD程序中进行编辑与打印设置!, vbOKOnly + vbInformation Exit Sub ErrHandle: MsgBox Excel & Word遇到不可遇见错误!请进行调试模式,进行调试!, vbOKOnly + vbCritical End Sub 相关链接:/viewthread.php?tid=78597 4.4. 格式设置: 通过数据判断进行相关格式的设置,可以在EXCEL中更方便,利用条件格式和结合我上述的EXCEL解决方案. 在WORD的作用原理:通过新建类模块,将新的类模块指向WORD.APPLICATION事件,利用其中的类APP的特定事件App_MailMergeBeforeRecordMerge(即在邮件合并前事件)进行设计,完成指定功能与格式设置. * * Created By I Love You_Word!ExcelHome 2005-1-22 09:25:54 仅测试于System: Windows NT Word: 10.0 Language: 2052 The Code CopyIn 类模块-EventClassModule * Public WithEvents App As Word.Application 在类模块中声明对应于事件的对象变量。 编写指定事件的过程。 Private Sub App_MailMergeBeforeRecordMerge(ByVal Doc As Document, Cancel As Boolean) 如果主文档数据源中的字段1中的数据小于60(分)时 If Doc.MailMerge.DataSource.DataFields(1).Value 60 Then 主文档表格的第二行第二列(相当于B2)中的字体为红色 Doc.Tables(1).Cell(2, 2).Range.Font.Color = wdColorRed Else 否则恢复为自动色 Doc.Tables(1).Cell(2, 2).Range.Font.Color = wdColorAutomatic End If End Sub - * * Created By I Love You_Word!ExcelHome 2005-1-22 09:23:53 仅测试于System: Windows NT Word: 10.0 Language: 2052 The Code
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年保育师五级考试试题及答案
- 南昌东湖区离婚协议书
- 危废处置合同框架协议
- 合同变更法人补充协议
- 养护车辆租赁合同范本
- 关于拆铁硼的协议合同
- 合伙入股合作合同范本
- 合伙按揭购车合同范本
- 合伙购车转让合同范本
- 农民工就业服务协议书
- 2025届广东省广州市天河区高三一模物理试题(解析版)
- 《护理文书书写》课件
- 衣食住行见证改革开放时代变迁-(修订)
- 书法鉴赏 (浙江财大版)学习通超星期末考试答案章节答案2024年
- 介入治疗常见并发症及护理
- 小学作文教学困境分析及对策研究
- 六孔陶笛带歌词48首曲谱
- 电测应力应变实验课件ppt
- 大学生研究生就业方案
- 乘法小故事小学二年级
- 2023年度广东省成人高考《英语》(高升本)真题库及答案(单选题型)
评论
0/150
提交评论