在Microsoft Word中提取表

时间:2011-12-03 03:46:04

标签: ms-word

我有一个带有表格标题的Word文档,表格中有备忘单值。如何创建一个检测所有表(ActiveDocument.GetCrossReferenceItems(Referencetype:="Table"))的宏,并将表传输到一个新文档? MS Word文档和自动完成功能都有所帮助。

2 个答案:

答案 0 :(得分:1)

我要告诉你一个秘密。 docx文件基本上是重命名的zip文件,其中混合了一些xml来处理资产放置。

http://msdn.microsoft.com/en-us/library/aa982683%28v=office.12%29.aspx

我自己从未尝试过处理它,但是如果用zip和xml进行足够的搜索,你应该找到你需要的东西。

答案 1 :(得分:1)

此过程从活动文档复制所有表并粘贴到新文档中:

Sub CopyAllTablesToNewDoc()

    Dim docSource As Document
    Dim docDest As Document
    Dim tbl As Table

    Set docSource = ActiveDocument
    Set docDest = Documents.Add

    For Each tbl In docSource.Tables
        tbl.Range.Copy
        docDest.Paragraphs(docDest.Paragraphs.Count).Range.Paste
        docDest.Range.InsertParagraphAfter
    Next tbl

End Sub

注意:它不会复制表格标题。