表格是呈现多种类型信息的一种好方法。实际上,我已经看到一些文档几乎全部由表格组成。如果您对表进行了大量工作,则可能(在某个时候)希望将所有表从一个文档复制到一个全新的文档中。如果您需要在新文档中提供表格信息,但是不需要原始文档中的其余信息,这可能会有所帮助。

进行此类复制的最简单方法是使用宏。

幸运的是,文档中的所有表都可以通过Tables集合提供给VBA。这意味着您可以逐步浏览集合中的每个项目(每个项目将是一个单独的表),然后将其复制。

Sub CopyTables()

Dim Source As Document     Dim Target As Document     Dim tbl As Table     Dim tr As Range

Set Source = ActiveDocument     Set Target = Documents.Add

For Each tbl In Source.Tables         Set tr = Target.Range         tr.Collapse wdCollapseEnd         tr.FormattedText = tbl.Range.FormattedText         tr.Collapse wdCollapseEnd         tr.Text = vbCrLf     Next End Sub

宏运行后,将创建一个全新的文档(目标),并将表从原始文档(源)复制到新文档中。 (源文档是您在运行宏时处于活动状态的任何文档。)

该宏在目标文档中的每个表之间放置一个空白行。

如果您不希望出现空白行,请在Next语句之前删除或注释掉该行。

注意:

如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)中描述的宏,我准备了一个包含有用信息的特殊页面。

_WordTips_是您进行经济有效的Microsoft Word培训的来源。

(Microsoft Word是世界上最流行的文字处理软件。)本技巧(13338)适用于Microsoft Word 2007、2010、2013、2016、2019和Office 365中的Word。