Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将word表格从特定部分导入excel_Excel_Vba_Ms Word - Fatal编程技术网

将word表格从特定部分导入excel

将word表格从特定部分导入excel,excel,vba,ms-word,Excel,Vba,Ms Word,我正在创建一个excel工具,用于从word文档的C.1部分复制一个表,并将其粘贴到excel文件中的指定工作表中 word文档的设置方式是,第C.1节的唯一内容就是该表 有时第C.1节中的表格包含在一页中,但有时会中断并溢出到下一页 在这里,尝试使用表计数/表编号方法实际上是不切实际的,因为word文件中的表数量非常多,而且感兴趣的表的表编号也经常发生变化,但节编号从未发生变化 如何让VBA转到C.1节并将表格复制到excel文件中的指定工作表?我已广泛尝试解决此问题,因为我几乎只使用Word

我正在创建一个excel工具,用于从word文档的C.1部分复制一个表,并将其粘贴到excel文件中的指定工作表中

word文档的设置方式是,第C.1节的唯一内容就是该表

有时第C.1节中的表格包含在一页中,但有时会中断并溢出到下一页

在这里,尝试使用表计数/表编号方法实际上是不切实际的,因为word文件中的表数量非常多,而且感兴趣的表的表编号也经常发生变化,但节编号从未发生变化


如何让VBA转到C.1节并将表格复制到excel文件中的指定工作表?

我已广泛尝试解决此问题,因为我几乎只使用Word VBA处理大量表格。解决这个问题的方法很少

最简单-书签 如果您有权更改源文档,我只需在所需的表或所需的节标题和/或标题中添加一个书签。然后,您可以执行以下操作:

Dim thisTbl as Range
设置thisTbl=ActiveDocument.GoTo(what:=wdGoToBookmark,Name:=“bookmark”)。表(1)。范围

Dim thisTbl as Range
设置thisTbl=ActiveDocument.GoTo(what:=wdGoToBookmark,Name:=“bookmark”)。段落(1)。范围
设置thisTbl=thisTbl.GoTo(what:=wdGoToTable,which:=wdGoToNext).Tables(1).Range
第二容易的 确定特定于该表格和/或章节标题和/或标题的单词或短语。然后定义一个范围,在整个文档中搜索,并将范围设置为等于
查找
结果。然后按照上面提到的操作范围,使其看起来像这样:

Dim thisTbl as Range
设置thisTbl=ActiveDocument.Content
用这个TBL。找到
.ClearFormatting
.Text=“特定于表格/标题”
.Wrap=wdFindStop
.执行
'如果您的查找条件特定于该表,请停止此处。否则,执行以下操作以向下移动表:
如果.Found=True,则
设置thisTbl=thisTbl.GoTo(what:=wdGoToTable,which:=wdGoToNext).Tables(1).Range
如果结束
以
在我看来,“C.1”是你应该寻找的短语,如果你不能设置书签的话

就溢出而言,如果您正在设置一个范围,这应该无关紧要,除非表被
wdColumnBreak
打破。如果是这样的话,我建议添加一个检查
Range.Information

导入到Excel
关于如何做到这一点,有很多很好的指南。最简单的方法是简单地使用
范围。在Word中复制
,然后在Excel中粘贴

也许从这里开始:更好的格式化思考一下作为Word用户您将如何做到这一点。也许可以尝试Word的内置查找功能,开始?并将其记录在宏中?或者将表格放在书签或内容控件中?