如何将Excel中的数据批量导入Word模板文件

目录

 前言

步骤

 准备工作

引用加载项 

运行

代码如下:


 前言

文章参考 excel中的数据如何批量导入固定格式的word中? - 知乎

       本文使用Excel中的VBA编辑器,实现将表格中数据批量填写进固定模板的word文档。本文设置了四个填充项,可根据需要自行添加更多数据导入位置。

步骤

 准备工作

  1. 准备好word模板文件,将需要填写的位置用特殊变量代替

如写为:{$供应商名称},{$采购品类}

2.打开excel-开发工具-插入-ActiveX控件

  • 开发工具不在工具栏中的,可按以下路径设置:
  • 文件-选项-自定义功能区-开发工具
  • 绘制控件后右键查看代码-进入VBA编辑器

  • 进入工具-引用

 

引用加载项 

  1. 选择“Microsoft Word16.0 Object Library”-浏览-在路径中找到“MSWORD.OLB”-打开-确定

  • 完成配置-粘贴代码-保存

运行

  1. 保存excel表类型为启用宏的

  • 打开excel-点击控件-选择任一列-确定生成

  • 在弹出的第一个界面中选择Word模板-第二个界面选择保存地址-确定-批量生成合同

代码如下:

Private Sub CommandButton1_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
  Dim side_C As String'数据导出
  Dim data_areas As Range
  Dim total_data As Integer
  
  
  Set data_areas = Application.InputBox(prompt:="请鼠标选择需要输出数据的区域", Title:="选择", Type:=8) '选取输出的数据区域
  i = data_areas.Row     '获取选取区域开始行所在行号
  j = data_areas.Rows.Count '  获取选取区域总行数
  
  
  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(msoFileDialogFolderPicker)
    If .Show = False Then Exit Sub
    Path = .SelectedItems(1)
  End With
  Set objApp = CreateObject("Word.Application")
  objApp.Visible = False
  
  For k = i To i + j - 1
     contact_NO = Cells(k, 1)
     side_A = Cells(k, 2)
     side_B = Cells(k, 3)
     side_C = Cells(k, 4)'数据引用位置
     
  Set objDoc = objApp.Documents.Open(strTemplates, , False)
  strFileName = contact_NO & ".doc"
  If Not strFileName Like "*.doc" Then strFileName = strFileName = strFileName & ".doc"
  If Dir(strFileName) <> "" Then Kill strFileName
  
  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
     
     With .Find
      .Text = "{$结算方式}"
      .Replacement.Text = side_C
    End With
.Find.Execute Replace:=wdReplaceAll'数据填充

End With

  objDoc.SaveAs Path & "\" & strFileName
  objDoc.Saved = True
  objDoc.Close
Next k

  MsgBox "合同文本生成完毕!", vbYes + vbExclamation
Exit_cmdExportToWord_Click:
    Set objApp = Nothing
    Set objDoc = Nothing
    Set objTable = Nothing
    Exit Sub
    
Err_cmdExportToWord_Click:
    MsgBox Err.Description, vbCritical, "出错"
    Resume Exit_cmdExportToWord_Click
End Sub

 

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 将Excel数据填入到已存在的Word模板可以通过以下步骤进行操作: 1. 打开Excel文件,确保其数据已经准备好。 2. 打开Word模板文件,确保其的文本框和占位符已经设置好。 3. 在Excel选择需要导入数据,可以使用鼠标拖选或按下Shift键选择多个单元格。 4. 按下Ctrl+C,将选数据复制到剪贴板。 5. 切换到Word模板,找到需要填入数据的文本框或占位符。 6. 单击鼠标右键,选择“粘贴”选项,或者按下Ctrl+V,将Excel数据粘贴到文本框。 7. 根据需要,对粘贴的数据进行格式调整,如字体、颜色、对齐方式等。 8. 重复步骤5-7,直到所有的数据填入到相应的文本框或占位符。 9. 保存并关闭Word模板文件。 通过以上步骤,你就可以将Excel数据填入到已存在的Word模板。如果需要批量处理多个数据,可以重复以上操作,或者使用宏来自动化填充数据的过程。这样可以提高效率,并确保每次填入数据都准确无误。 ### 回答2: 将Excel数据填入到已存在的Word模板可以通过以下步骤完成: 1. 打开Excel表格,确保数据准备完整且格式正确。 2. 在Word模板,标记需要替换的位置,例如使用尖括号(<>)或其他特定符号来标识。 3. 在Word,点击“开发工具”选项卡,并选择“宏”按钮,打开VBA编辑器。 4. 在VBA编辑器,插入新的模块。点击“插入”选项卡,然后选择“模块”。 5. 在新的模块,编写VBA代码以实现数据填充。例如,可以使用以下示例代码: Sub FillData() Dim xlApp As Object Dim xlBook As Object Dim xlSheet As Object Dim wdApp As Object Dim wdDoc As Object ' 打开Excel文件 Set xlApp = CreateObject("Excel.Application") Set xlBook = xlApp.Workbooks.Open("C:\路径\文件名.xlsx") Set xlSheet = xlBook.Sheets("工作表名") ' 打开Word文件 Set wdApp = CreateObject("Word.Application") Set wdDoc = wdApp.Documents.Open("C:\路径\文件名.docx") ' 填充数据Word模板 wdDoc.Variables("变量名").Value = xlSheet.Range("A1").Value ' 示例代码,将A1单元格的值填入Word模板的变量 ' 可以重复以上步骤,填充更多数据到其他位置 ' 保存Word文档并关闭 wdDoc.Save wdDoc.Close ' 关闭Excel文件 xlBook.Close xlApp.Quit ' 释放对象 Set wdDoc = Nothing Set wdApp = Nothing Set xlSheet = Nothing Set xlBook = Nothing Set xlApp = Nothing End Sub 6. 在VBA编辑器,按下F5键运行代码。Excel数据将会填充到Word模板的对应位置。 7. 关闭VBA编辑器和Word文档,保存所有更改。 这样,已存在的Word模板数据就会根据Excel数据进行更新。通过上述步骤,可以自动化地将大量Excel数据填入到已存在的Word模板,提高工作效率。 ### 回答3: 将Excel数据填入到已存在的Word模板可以通过以下步骤完成: 1. 首先,在Excel打开要导入数据表格,在需要导入数据列上选择并复制数据。 2. 然后,打开Word模板文件。在需要插入数据的位置点击鼠标右键,在弹出的菜单选择“粘贴”选项,将Excel数据粘贴到Word。 3. 由于ExcelWord的格式可能不一致,粘贴后的数据可能需要进行调整。你可以通过选表格、点击右键并选择“表格属性”来调整数据的样式和布局。 4. 如果需要在Word模板添加表头或者标题,你可以手动添加文本框或者标题设置。 5. 如果需要添加图片或其他类型的附件,可以使用“插入”功能,选择要添加的文件,然后将其插入到Word模板。 6. 最后,保存并关闭Word文档。你可以使用“另存为”功能,将文件保存为新的Word文件,以免覆盖原有模板文件。 通过以上步骤,你可以将Excel数据填入现有的Word模板。注意,在插入数据时,你可能需要手动调整格式、布局和样式,以确保数据的正确显示和呈现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值