怎样将Excel表中的内容批量导入到Word文档的指定位置啊?

如题所述

你的问题邮件合并就能解决,这个是百度上的答案
Microsoft Office邮件合并的操作方法:
第一步:准备数据源
  这个数据源可以是Excel工作表也可以是Access文件,也可以是MS SQL Server数据库。一言蔽之:只要能够被SQL语句操作控制的数据皆可作为数据源。因为邮件合并说白了就是一个数据查询和显示的工作。这里,我以Excel为例。   下图是一个Excel工作表文件"DataSource",里面有一个工作簿"录取通知书",工作簿里面有三条数据记录,我们的任务就是把这三条记录按照指定的模板打印成录取通知书。   图一
第二步:准备模板
  模板文件就是即将输出的界面模板,这里我以Word文档为例。   下图是一个模板文件"Template",就是录取通知书的大致样子(大标题和序列号我就省了啊)。   图二
第三步:邮件合并
  打开模板文件template.doc,从"工具"菜单中依次选择"信函和邮件" >> "显示邮件合并工具栏",完毕之后工具栏上会多出一栏,就是邮件合并工具栏,如图,红色矩形框中的就是邮件合并工具栏。   图三   下面,step by step,follow me:   1.设置数据源   点击邮件合并工具栏上"设置数据源"的按钮(图三中第二个),选择"DataSource.xls"文件,单击打开,然后会再弹出一个"选择表格"的窗口,要求指定使用哪个工作簿,因为只有一个工作簿"录取通知书",直接点击确定,完成数据源设置。   2.插入数据域   这里,我以插入新生姓名为例。   2.a 将光标定位到要插入数据的地方(这里插入新生姓名,就放在文档开头"同学:"之前)   2.b 点击邮件合并工具栏上"插入域"的按钮(图三中第二个),在弹出的窗口中选择"姓名",然后单击"插入",如图:   2.c 单击关闭(MS Office这一点不知道是什么用意,不能一次插入多个域,插入完毕又不自动关闭弹出的窗口)   重复上述操作数次,依次插入其他元素(院系,专业,学制等)。全部完成之后,模板是这个样子的(为强调哪些数据是动态插入的,我将插入的数据域都用红色表示):   3.查看合并数据   单击邮件合并工具栏上"查看合并数据"的按钮(图三中"插入Word域"右边那个按钮),即可看到邮件合并之后的数据,工具栏上还有一些按钮和输入框可以查看前一条、下一条和指定的记录。
第四步:完成合并
  到此,邮件合并的工作就基本结束了,可以直接打印了,你可以选择"合并到新文档"(适用于只有几十上百条记录)来把这些信息输出到一个Doc文档里面,以后直接打印这个文档就可以了,也可以选择"合并到打印机"(适用于成百上千条记录),并不生成Doc文档,而是直接打印出来。   下面是合并到新文档之后,新文档的效果图:   两条记录之间的黑线是分页标记。当然,如果打印成通知书还要调整版式,这个是排版的基本功,我只是演示怎么进行邮件合并,排版的咚咚我就不赘述了。   邮件合并功能非常强大,"插入Word域"的功能可以先对数据进行处理(逻辑算术运算格式化等)然后插入,比如要打印英语证书,可以设置分数小于60打印"不及格",60和80之间打印"及格",80以上打印"优秀".这些东西就由各位读者自行挖掘了,呵呵.
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-02

可以用下列代码批量写入:

Sub test()
    Filename = Application.GetOpenFilename _
        (FileFilter:="word Files (*.doc),*.doc," _
        & "Word Files (*.docx),*docx", _
        Title:="请选择需要填充数据的word文件")
    If Filename = False Then Exit Sub
    arr = Sheets(1).[a1].CurrentRegion
    Set wdapp = CreateObject("word.application")
    wdapp.Visible = True
    With wdapp.Documents.Open(Filename)
        .Tables(1).Columns(1).Select
        For Each cel In .Parent.Selection.Cells
            n = n + 1
            If cel.Range.Text = Chr(13) & Chr(7) Then
                n = n - 1
                Exit For
            End If
        Next
        If UBound(arr) = n Then GoTo over
        .Tables(1).Rows(n).Select
        .Parent.Selection.InsertRowsBelow UBound(arr) - n
        For i = n + 1 To UBound(arr)
            .Tables(1).Cell(i, 1).Range = i - 1
            .Tables(1).Cell(i, 2).Range = arr(i, 1)
            .Tables(1).Cell(i, 3).Range = Format$(arr(i, 6), "percent")
        Next
over:
        .Save
        .Close wdSaveChanges
        wdapp.Quit
    End With
End Sub

第2个回答  2015-08-18
导入进去还是以表格的形式显示么?可以按Ctrl+Shift+* 选中当前工作表的所有内容 然后粘贴进去,也可以插入→以文件的形式导入进去。
第3个回答  2012-02-03
看来你要用固定的格式套打不同的内容。
工具——信函和邮件——邮件合并——导入Excel——插入合并域——调整好位置——合并到新文档
第4个回答  2012-02-03
选中要导入的内容复制粘贴到word就是了,或者保存为另一张sheet,再到word里面插入就OK本回答被网友采纳
相似回答