Excel+VBA+Word邮件合并,快
在日常工作中,相关工作人员有时候需要批量制作和打印同一模板的多个文件,如劳动合同、房屋出租合同书、邀请函、工作证等,今天就给各位推荐一个简单的方法,详细地介绍一下制作过程。
1 案例说明
今天以制作房屋出租合同的案例给大家进行讲解。
1.1 制作“房屋出租合同”Word模板
新建一个Word文件,按“房屋出租合同”格式制作一个合同模板,点击“邮件合并”按钮,将需要填写的内容设置为“域”。
1.1.1 按如下方式设置域的格式:1.1.1.1 右键点击域,选择“切换域代码”,做如下修改:1.1.1.1.1 日期
1.1.1.1.2 数字
1.1.1.2 右键点击域,选择“更新域”即完成域格式的修改。1.2 新建一个名称为“合同信息”的表格文件,作为“房屋出租合同”的数据源。1.2.1 “合同信息”文件包含二个工作表,分别命名为:1.2.1.1 合同资料:列出房屋出租合同模板相关字段的明细资料。
1.2.1.2 打印合同信息:通过点击“筛选”,从“合同信息”表中筛选并提取符合条件的门面信息并分别填充至本表的相对应的字段单元格。
2 案例附件3 筛选并填充的VBA代码
用 vba代码:以“打印合同信息”表B4单元格的内容为查询条件,将“合同资料”表中D列(位置)单元格内容与查询条件相符的该行内容,从“打印合同信息”表中A2单元格开始,逐一横向向右填充符合条件的数据。
Sub 填充合同信息()
Dim 查询条件 As String
Dim 合同资料表 As Worksheet
Dim 打印合同信息表 As Worksheet
Dim i As Integer, j As Integer
Dim 匹配行 As Boolean
' 获取查询条件
查询条件 = Sheets("打印合同信息").Range("B4").Value
' 设置工作表
Set 合同资料表 = Sheets("合同资料")
Set 打印合同信息表 = Sheets("打印合同信息")
' 清空打印合同信息表中的数据(从A2开始)
打印合同信息表.Range("A2:S2").Clear
' 初始化行号
i = 2
' 遍历合同资料表中的数据
For j = 2 To 合同资料表.Cells(合同资料表.Rows.Count, "D").End(xlUp).Row
' 检查是否与查询条件匹配
If 合同资料表.Cells(j, "D").Value = 查询条件 Then
' 匹配,将该行数据复制到打印合同信息表中
合同资料表.Rows(j).Copy Destination:=打印合同信息表.Cells(i, 1)
' 增加打印合同信息表中的行号
i = i + 1
' 设置匹配标志
匹配行 = True
End If
Next j
' 如果没有匹配的行,给出提示
If Not 匹配行 Then
MsgBox "未找到匹配的合同信息。", vbInformation
End If
End Sub
4 打印合同书打开房屋租赁合同_TP.docx模板点击“邮件“。点击”开始邮件合并”,选择“信函”。点击“选择收件人”,选择“使用现有列表”>>"合同信息">>"打印合同信息#34;点击“完成并合并”,选择“编辑单个文件”>>"全部">>"确定">>"保存">>“打印”