❶ 如何利用Excel表格中的数据批量生成文档
万能的vba可以实现。下面这段代码所实现的功能就是从EXCEL读取数据后批量生成word文档的。Dim gjzArr(1 To 100, 1 To 2) '1-关键字 2-值Dim gjzGs As IntegerDim gjzZD 'key-关键字 item-序号Sub scbG(x As Integer) On Error GoTo err Dim lastHH As Integer Dim I As Integer, J As Integer Dim MB As String Dim TName As String Dim hzMc As String Dim wordApp Dim myDoc Dim Str1 As String, Str2 As String Application.ScreenUpdating = False gjzGs = 0 Set gjzZD = CreateObject("SCRIPTING.DICTIONARY") '读取B列的值 Call dqsJ(2) '读取D列的值 Call dqsJ(4) '读取F列的值 Call dqsJ(6) MB = Trim(Range("P2").Text) hzMc = Split(MB, ".")(1) TName = ThisWorkbook.Path & "\报告\" & gjzArr(gjzZD("B7"), 2) & "." & hzMc FileCopy MB, TName Set wordApp = CreateObject("word.application") wordApp.Visible = True Set myDoc = wordApp.DOCUMENTS.Open(TName) myDoc.Unprotect Password:="123456" myDoc.Activate With wordApp.ActiveWindow.View .ShowRevisionsAndComments = False .RevisionsView = wdRevisionsViewFinal End With Dim Bj As Boolean With wordApp '关键字替换 For J = 1 To gjzGs ' Str1 = "&" & gjzArr(J, 1) & Space(1) Str2 = gjzArr(J, 2) Bj = True Do While Bj .Selection.HomeKey Unit:=wdStory '光标置于文件首 If .Selection.Find.Execute(Str1) Then '查找到指定字符串 .Selection.Text = Str2 '替换字符串 Else Bj = False End If Loop Next J End With '写入表格内容 Dim myTable '表一填写 Set myTable = myDoc.Tables(1) myTable.Range.Cells(2).Range.Text = gjzArr(gjzZD("B24"), 2) '房屋权证号 myTable.Range.Cells(4).Range.Text = gjzArr(gjzZD("B20"), 2) '房屋所有权人 myTable.Range.Cells(6).Range.Text = gjzArr(gjzZD("B26"), 2) '产别 myTable.Range.Cells(8).Range.Text = gjzArr(gjzZD("B21"), 2) & gjzArr(gjzZD("B22"), 2) & gjzArr(gjzZD("B23"), 2) '房屋坐落 myTable.Range.Cells(18).Range.Text = gjzArr(gjzZD("B27"), 2) '幢号 myTable.Range.Cells(19).Range.Text = gjzArr(gjzZD("B28"), 2) '房号 myTable.Range.Cells(21).Range.Text = gjzArr(gjzZD("B29"), 2) '总层数 myTable.Range.Cells(22).Range.Text = gjzArr(gjzZD("B30"), 2) '所在层数 myTable.Range.Cells(23).Range.Text = gjzArr(gjzZD("B31"), 2) '建筑面积 myTable.Range.Cells(27).Range.Text = gjzArr(gjzZD("B25"), 2) '房屋共有人 If myDoc.Revisions.Count >= 1 Then myDoc.Revisions.AcceptAll myDoc.Protect Password:="123456", NoReset:=False, Type:=wdAllowOnlyReading, UseIRM:=False, EnforceStyleLock:=False myDoc.Save myDoc.Close wordApp.Quit Application.ScreenUpdating = True MsgBox ("报告已经完成") Exit Suberr: MsgBox ("同名文件已经打开,请关闭后重新运行!")End SubSub dqsJ(Lh As Integer) Dim lastHH As Integer If Lh <= 1 Then MsgBox ("不可选择小于等于1的列") Exit Sub End If lastHH = Cells(1000, Lh – 1).End(xlUp).Row For I = 1 To lastHH If Trim(Cells(I, Lh – 1).Text) <> "" Then gjzGs = gjzGs + 1 myT1 = Replace(Cells(I, Lh).Address, "$", "") myT2 = Cells(I, Lh).Text gjzZD.Add myT1, gjzGs gjzArr(gjzGs, 1) = myT1 gjzArr(gjzGs, 2) = myT2 End If Next IEnd Sub
❷ 如何将excel中新录入一行“每个数据”自动填写到word中指定位置并生成新的word文档
咨询记录 · 回答于2021-11-11
❸ 有没有办法 直接能把excel表格内容批量导出生成固定格式的word文件
首先,点击“文件”—“另存为web页”。 在“保存选项”处把“保存整个工作簿”调整为“选择:工作表”。把默认文件名"page.htm "根据实际情况改成你所需要的名字,切记:在改名字时绝对不可以把后面的".htm"去掉,前面的部分就成。
然后,找到刚才保存好的工作表。注意:如果你安装的操作系统是windowsXP或windows2000,可以在文件上面直接点击鼠标右键,选择“打开方式”–“word”。如果你所使用的操作系统是windows98,则需要在工作表上按住shift键同时点击鼠标右键,之后再进行上述操作。
最后,用word程序打开该文件后,直接点击“文件”–“另存为”,把文件名改成“工作表word版,把保存类型选成“word文档”,再点击“保存”即可。
❹ 已有一个word文件,使用excel中内容批量生成word
可以用 邮件合并,不过功能 有限,
❺ 如何从EXCEL中提取相应数据批量生成WORD文档
准备好将生成文档的数据(excel格式)。将制式的文档的打开,按照文档每一版项的顺序依次插入数据权源(下面会用简单的数据作为例子)。
首先点击word工具栏中的引用,然后点击邮件。
❻ 如何快速将大批量Excel文档转换成Word文档
1、将已经创建好的EXCEL文档打开,然后点击【office按钮】→【另存为】→【其他格回式】。
❼ 怎样将Excel数据批量导入到word表格中
1、首先打开excel文件,随意复制文件内的一块区域。
未经允许不得转载:山九号 » 利用excel数据批量生成word文件|如何从EXCEL中提取相应数据批量生成WORD文档