一、请问如何将多个word表格里的内容批量提取到一张excel表中
Sub 自动把word表格转换到Excel()On Error Resume Next ''''''出错继续(应对不规范的表格)''''''重命名所有WORD文件为大写“A”。
如 A (1).docx。''maxcolumn(xex)Dim maxrowend2Dim wdAppFor w3 = 1 To 2 想合并多少个文档?maxrowend2 = Sheets("sheet1").[a65536].End(xlUp).RowSet wdApp = CreateObject("word.application")path_ = ThisWorkbook.PathwdApp.Documents.Open (path_ & "\" & "A (" & w3 & ")" & ".docx")wdApp.Visible = Truen = wdApp.ActiveDocument.Tables.Count ''''有多少个表格'x = 0x = maxrowend2 + 1 ''''初始行号y = 0For i = 1 To nrs = wdApp.ActiveDocument.Tables(i).Rows.Count ''''有多少个行cs = wdApp.ActiveDocument.Tables(i).Columns.Count ''''有多少个列''''''ghg = MsgBox(rs & "行列" & cs) '''''''''''''''''''''''''''''''提示For m = 1 To rsx = x + 1y = 1ThisWorkbook.Sheets("Sheet1").Cells(x, 1) = "源自A (" & w3 & ")" & ".docx" & "; 第" & i & " 表 " ''''''''''9999999999999999999For n = 1 To csvv = wdApp.ActiveDocument.Tables(i).Cell(m, n)ThisWorkbook.Sheets("Sheet1").Cells(x, y + 1) = Mid(vv, 1, Len(vv) - 1) '''空第一列y = y + 1NextNextNextwdApp.Application.Quit '关闭word文档Set wdApp = Nothing '释放对象变量的内存NextEnd Sub。
二、我有几千个word,里面包含有表格,如何批量提取我想要的数据
如果是一个word中的,复制粘贴;如果是多个word中的,需要写个代码(如下),或者在网上找一下相关的工具。
此方法适用于多个word文档里面的所有表格:
1、将多个含有表格的word文档放入一个目录;
2、在该目录中新建一个空的excel表格;
3、在excel表格中运行以下宏命令,即可。
Sub WordTabletoExcel()
Dim WordApp As Object, DOC, mTable, Fn$, Str$
On Error Resume Next '设置容错代码
CreateObject("wscript.shell").Run "cmd.exe /c dir """ & ThisWorkbook.Path & "\*.doc"" /s/b>""" & ThisWorkbook.Path & "\list.txt""", False, True '取得指定目录下的word文档清单
Set WordApp = CreateObject("word.application") '创建word程序项目(用于操作word文档)
WordApp.Visible = True '设定word程序项目可见
Open ThisWorkbook.Path & "\list.txt" For Input As #1 '打开清单文件并读取内容
While Not EOF(1) '循环读取清单文件各行内容
Input #1, Str '输入一行文本到变量str中
If Trim(Str) <> "" Then '如果文本有效则
Set DOC = WordApp.documents.Open(Trim(Str)) '利用word程序项目打开对应的word文档
With DOC
For Each mTable In .Tables '循环文档中的各个表格
WordApp.Activate '激活word程序,使之窗体前置
mTable.Range.Copy '复制表格区域
With Windows(1) '激活excel程序窗体,使之前置
.Activate
With ThisWorkbook.ActiveSheet '选中当前使用区A列下面的第一个单元格,并粘贴复制的word中的表格数据
.Cells(.Cells.SpecialCells(xlCellTypeLastCell).Row + 1, 1).Select
.Paste
End With
End With
Next mTable
.Close False '关闭word文档
End With
End If
Wend
Close #1 '关闭清单文件
If Dir(ThisWorkbook.Path & "\list.txt") <> "" Then Kill ThisWorkbook.Path & "\list.txt" '删除清单文件
WordApp.Quit 'word程序项目关闭
Set DOC = Nothing '清空对应项目变量
Set WordApp = Nothing
End Sub
满意请采纳哟~~~~~~
三、如何将excel数据依次批量导入word指定位置
下面介绍一下使用“邮件合并法”批量导入excel数据到word表格中的方法, 1. 打开需要进行邮件合并的word文档,浏览要插入的数据。
2. 在菜单栏----邮件菜单----开始邮件合并----邮件合并分步向导,在文档的左边出现“邮件合并”对话栏。 3. 选择文档类型为“信函”(将信函发送给一组人,可以设置信函的格式),单击“下一步”继续。
4. 点击下一步(正在启动文档)---选择开始文档,就是需要设置信函,选中“使用当前文档”,单击“下一步” 5. 点击下一步(选取收件人)---选择收件人,勾中“使用现在列表”,点击“浏览。”(使用来自某文件或数据库的姓名和地址。)
,选择数据源,找到需要添加的数据源地址---选择表格,的名称SHEET1$,和选中数据首行包含列标题。并点击确定按钮,---选择“邮件合并收件人”把需要的收件人列表勾中,在此不可以调整收件人列表,比如:排序,筛选,查找重复收件人,查找收件人,验证地址---点击确定。
6. 回到“邮件合并”栏,选择下一步:撰写信函,选中“其他项目”---出现“插入合并域”,根据需要合并的邮件内容,选择域的内容。比如:姓名栏后面添加姓名域,性别栏添加性别域等等。
插入完后,点击关闭。单击“下一步”预览信函---可以就看到第一条记录。
7. 点击“下一步”完成邮件合并---完成合并,已经可以使用“邮件合并”生成信函----点击“编辑单个信函”---选择合并全部记录。左边可以看到,记录的全部内容。
此时就可以打印,需要的内容。 8. 邮件合并完成。
注:如果要修改,就可以点击“上一步”来实现修改,其他操作和上述相同。 。
四、word 表格批量操作的问题
这个问题只有用宏来解决了。
1、打开这个文档,点击窗口上面的菜单“工具”-》“宏”-》“Visoual Basic编辑器”; 2、在弹出的VBE窗口中点窗口上面的菜单“插入”-》“模块”; 3、在VBE窗口的右下侧窗口内粘贴上如下代码: Option Explicit Sub 删除所有表格第8列() Dim tbl As Table Application。 ScreenUpdating = False For Each tbl In ActiveDocument。
Tables tbl。Columns(8)。
Delete Next Application。ScreenUpdating = True End Sub 4、关闭VBE,返回文档窗口,点击窗口上面的菜单“工具”-》“宏”-》“宏”; 5、在弹出窗口中选择“删除所有表格第8列”,运行一下就好了。
友情提醒,代码执行后是不能通过“撤消”来返回操作前的内容的,所以你可以先复制一个副本文件用这段代码做测试,确定好用后再到需要的地方使用。
五、怎样将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以上打印"优秀".这些东西就由各位读者自行挖掘了,呵呵.。
六、如何从word和excel中批量提取超链接
word和excel批量提取超链接的方法相同,都要用到宏功能,因此,在你准备执行这个功能的时候,首先要保证你的office软件是可以加载宏的,一般将宏的安全级别设置为中。
word和excel批量提取超链接的具体步骤是:工具>宏>宏>创建(excel为Visual Basic编辑器),打开编辑器,将如下代码插入模块: word文档插入代码: Sub 超级链接() For Each aHyperlink In ActiveDocument。 Hyperlinks With Selection 。
InsertAfter aHyperlink。Name 。
Collapse Direction:=wdCollapseEnd 。InsertParagraphAfter End With Next aHyperlink End Sub excel文档插入代码: Sub ExtractHL() Dim HL As Hyperlink For Each HL In ActiveSheet。
Hyperlinks HL。Range。
Offset(0? 1)。Value = HL。
Address Next End Sub 将代码插入后,点运行即可。word文档会将超链接的URL显示在光标所在处,excel会将URL显示在含超链接的单元格的右侧单元格内。
七、怎么把WORD文档内容批量复制到EXCEL表格中
1.首先,打开Word文档,选中想要转换成Excel表格的内容。
2.单击鼠标右键,选择“复制”。或者使用快捷键“Ctrl+C”键复制。
3.打开Excel表格,选择想要粘贴位置的单元格。在菜单栏找到“粘贴”按钮。
4.在弹出的下级菜单中选择“选择性粘贴”。注意:不能直接点击“粘贴”按钮。
5.这时弹出来“选择性粘贴”对话框,选择“Unicode文本”,单击“确定”按钮。
6.粘贴后的效果如图所示,可以看到格式内容很整齐。
7.框里的为直接复制粘贴后的效果。对比下可以看到利用“Unicode文本”粘贴的更美观。
转载请注明出处51数据库 » 批量读取word表格内容