将Word文档中的表中的行导入另一个Word文档

时间:2017-02-22 00:41:37

标签: vba ms-word word-vba

我有一份我的工作的套用信函,其中包含25页信件中一行一行列出的所有引用理由。我们找到了我们需要的引文,并删除了所有其他行,以便只剩下我们实际需要的两行或三行。你可以想象,这特别令人沮丧。如果我将整个表放入一个新的Word或Excel文档中,是否可以通过引号来命名每一行(可能使用Alt Text),然后使用宏来搜索我们需要的引用数字并导入那些行在表格信上的表格?我不知道这个代码会是什么样子,特别是因为我从未使用过VBA和Word,只能使用Excel。

好的,我已尝试使用录制的宏执行此操作,并且它至少完成了我希望它执行的操作。我的代码是:

Sub Bookmark()

 Copy table from source document and add to table in target document

  Dim TarDoc As Document, SourceDoc As Document
  Set SourceDoc = Documents.Open("H:\Test Documents\English Violations.docx")
  Set TarDoc = Documents.Open("H:\Test Documents\Test Doc.docm")

  Application.ScreenUpdating = False

    SourceDoc.Activate
    Selection.GoTo What:=wdGoToBookmark, Name:="C119f"
    With SourceDoc.Bookmarks
        .DefaultSorting = wdSortByName
        .ShowHidden = False
    End With
    Selection.Tables(1).Select
    Selection.Copy
    TarDoc.Activate
    Selection.PasteAndFormat (wdSingleCellText)
    Selection.MoveRight Unit:=wdCell

  Application.ScreenUpdating = True

End Sub

我意识到这是非常笨重的代码,特别是因为它基本上只是我编辑了一段录制的宏。我需要能够生成一个提示框,您可以在其中键入要从源文档复制的书签名称,因为它会根据违规进行更改。我还需要它将源文档中的表内容粘贴到目标文档的下一个空行中,因为这可能不是当前选择的行。还有一件事,我的代码中列出的书签是" C119c",但我需要最初的" C"在那里自动填充代码。总会有一个初始的" C" (因为书签必须以字母开头),但用户不会输入。

感谢您的帮助!

0 个答案:

没有答案