怎么把EXCEL数据自动生成WORD文档
2019年11月30日 12:36 发布来源:Excel学习网
报表展示后能够经过工具栏中的导出按钮将当前展示的报表导出成 word文档,但是在实践运用中通常会请求报表不需求展示,直接经过一些操作将报表导出成word文档,并且常常会请求批量导出成 word文档,很多时候,您能否有过在WORD里面反复制造某种材料的工作。比方给定了合同模板,需求依据不同合同内容制造出不同的合同,但模板是一样的。普通状况下就是老诚实实的一份一份的去填写(还不保证不会有错误)。那么有没有能够自动生完成的方法呢?答案是肯定有,不然我在这哔哔啥呢!下面经过几个示例引见下报表不展示,怎么把EXCEL数据自动生成WORD文档
1、制造合同模板文件,把合同变量局部用特殊变量交换。图示如下:
2、在EXCEL里面添加合同主要内容数据,图示如下:
4、在按钮控件下写如下代码,并将该EXCEL文件另存为XLSM:
Private Sub cmd_makedoc_Click()On Error GoTo Err_cmdExportToWord_Click Dim objApp As Object 'Word.Application Dim objDoc As Object 'Word.Document Dim strTemplates As String '模板文件途径名 Dim strFileName As String '将数据导出到此文件 Dim i As Integer Dim contact_NO As String Dim side_A As String Dim side_B As String i = ActiveCell.Row contact_NO = Cells(i, 1) side_A = Cells(i, 2) side_B = Cells(i, 3) With Application.FileDialog(msoFileDialogFilePicker) .Filters.Add "word文件", "*.doc*", 1 .AllowMultiSelect = False If .Show Then strTemplates = .SelectedItems(1) Else Exit Sub End With '经过文件对话框生成另存为文件名 With Application.FileDialog(msoFileDialogSaveAs) '.InitialFileName = CurrentProject.Path & "\" & contact_NO & ".doc" .InitialFileName = contact_NO & ".doc" If .Show Then strFileName = .SelectedItems(1) Else Exit Sub End With '文件名必需包括“.doc”的文件扩展名,如没有则自动加上 If Not strFileName Like "*.doc" Then strFileName = strFileName & ".doc" '假如文件已存在,则删除已有文件 If Dir(strFileName) <> "" Then Kill strFileName '翻开模板文件 Set objApp = CreateObject("Word.Application") objApp.Visible = True Set objDoc = objApp.Documents.Open(strTemplates, , False) '开端交换模板预置变量文本 With objApp.Application.Selection .Find.ClearFormatting .Find.Replacement.ClearFormatting With .Find .Text = "{$合同编号}" .Replacement.Text = contact_NO End With .Find.Execute Replace:=wdReplaceAll With .Find .Text = "{$甲方}" .Replacement.Text = side_A End With .Find.Execute Replace:=wdReplaceAll With .Find .Text = "{$乙方}" .Replacement.Text = side_B End With .Find.Execute Replace:=wdReplaceAll End With '将写入数据的模板另存为文档文件 objDoc.SaveAs strFileName objDoc.Saved = True MsgBox "合同文本生成终了!", vbYes + vbExclamationExit_cmdExportToWord_Click: If Not objDoc Is Nothing Then objApp.Visible = True Set objApp = Nothing Set objDoc = Nothing Set objTable = Nothing Exit SubErr_cmdExportToWord_Click: MsgBox Err.Deion, vbCritical, "出错" Resume Exit_cmdExportToWord_ClickEnd Sub
中心技术局部终了,那么如何运用呢?
1、单击选定需求输出数据制造合同的行的恣意单元格。比方我在此选定了第一行中的B2单元格,当然你能够选择该行的恣意一单元格。
2、单击“生成”按钮,弹出合同模板选择对话框。在此,选择我们方才制造好的合同模板。
3、翻开应用该模板,然后随之弹出生成后的合同另存为的对话框。这里文件名会被自动保管为合同编号。
以上是抛砖引玉的一个方法,关于Excel与Word的这品种似托付方式还有很多,比方能够运用愈加简单的Word“邮件”功用,也能够运用文档的链接功用,在此就不过多描绘。至于运用VBA只是增加另外一种办法而已。
以上功用,仅需对代码中需求交换的局部停止更改,那么根本上能够做到复杂的输出。实践上技术难度没多大,仅仅是应用了Office里面的宏交换原理而已。经过改造,在实践的消费环境中,能够应用EXCEL从其它系统获取数据,然后再批量制造各种WORD文档。
此外,如需理解更多的其它Word与Excel交互的方法,能够移步自己其他文章查看细致过程。
原创文章如转载请注明:转载自Excel学习网 [ http://www.excelxx.com/]
需要保留本文链接地址:http://www.excelxx.com/xuexixinde/11277.html
需要保留本文链接地址:http://www.excelxx.com/xuexixinde/11277.html
上一篇:怎么创建Excel数据库
下一篇:Excel颜色是什么意思
相关教程:
经典Excel学习视频及教程推荐:
Excel优秀工具推荐:
小工具推荐: