Excel+VBA+Word郵件合并,快
在日常工作中,相關(guān)工作人員有時(shí)候需要批量制作和打印同一模板的多個(gè)文件,如勞動(dòng)合同、房屋出租合同書、邀請(qǐng)函、工作證等,今天就給各位推薦一個(gè)簡(jiǎn)單的方法,詳細(xì)地介紹一下制作過程。
1 案例說明
今天以制作房屋出租合同的案例給大家進(jìn)行講解。
1.1 制作“房屋出租合同”Word模板
新建一個(gè)Word文件,按“房屋出租合同”格式制作一個(gè)合同模板,點(diǎn)擊“郵件合并”按鈕,將需要填寫的內(nèi)容設(shè)置為“域”。
1.1.1 按如下方式設(shè)置域的格式:1.1.1.1 右鍵點(diǎn)擊域,選擇“切換域代碼”,做如下修改:1.1.1.1.1 日期
1.1.1.1.2 數(shù)字
1.1.1.2 右鍵點(diǎn)擊域,選擇“更新域”即完成域格式的修改。1.2 新建一個(gè)名稱為“合同信息”的表格文件,作為“房屋出租合同”的數(shù)據(jù)源。1.2.1 “合同信息”文件包含二個(gè)工作表,分別命名為:1.2.1.1 合同資料:列出房屋出租合同模板相關(guān)字段的明細(xì)資料。
1.2.1.2 打印合同信息:通過點(diǎn)擊“篩選”,從“合同信息”表中篩選并提取符合條件的門面信息并分別填充至本表的相對(duì)應(yīng)的字段單元格。
2 案例附件3 篩選并填充的VBA代碼
用 vba代碼:以“打印合同信息”表B4單元格的內(nèi)容為查詢條件,將“合同資料”表中D列(位置)單元格內(nèi)容與查詢條件相符的該行內(nèi)容,從“打印合同信息”表中A2單元格開始,逐一橫向向右填充符合條件的數(shù)據(jù)。
Sub 填充合同信息()
Dim 查詢條件 As String
Dim 合同資料表 As Worksheet
Dim 打印合同信息表 As Worksheet
Dim i As Integer, j As Integer
Dim 匹配行 As Boolean
' 獲取查詢條件
查詢條件 = Sheets("打印合同信息").Range("B4").Value
' 設(shè)置工作表
Set 合同資料表 = Sheets("合同資料")
Set 打印合同信息表 = Sheets("打印合同信息")
' 清空打印合同信息表中的數(shù)據(jù)(從A2開始)
打印合同信息表.Range("A2:S2").Clear
' 初始化行號(hào)
i = 2
' 遍歷合同資料表中的數(shù)據(jù)
For j = 2 To 合同資料表.Cells(合同資料表.Rows.Count, "D").End(xlUp).Row
' 檢查是否與查詢條件匹配
If 合同資料表.Cells(j, "D").Value = 查詢條件 Then
' 匹配,將該行數(shù)據(jù)復(fù)制到打印合同信息表中
合同資料表.Rows(j).Copy Destination:=打印合同信息表.Cells(i, 1)
' 增加打印合同信息表中的行號(hào)
i = i + 1
' 設(shè)置匹配標(biāo)志
匹配行 = True
End If
Next j
' 如果沒有匹配的行,給出提示
If Not 匹配行 Then
MsgBox "未找到匹配的合同信息。", vbInformation
End If
End Sub
4 打印合同書打開房屋租賃合同_TP.docx模板點(diǎn)擊“郵件“。點(diǎn)擊”開始郵件合并”,選擇“信函”。點(diǎn)擊“選擇收件人”,選擇“使用現(xiàn)有列表”>>"合同信息">>"打印合同信息#34;點(diǎn)擊“完成并合并”,選擇“編輯單個(gè)文件”>>"全部">>"確定">>"保存">>“打印”