如何使用Excel宏将Word的一段文本复制到Excel?

时间:2011-09-07 17:59:49

标签: excel vba ms-word excel-2007

我需要使用Excel宏将一个特定的文本项(一个或几个单词)从Word(2007)复制到Excel(2007),用于多个文档。

到目前为止,我让Excel宏一次打开一个Word文档,并将文本定位在我需要的位置附近。

我现在需要:

  1. 移动到Word表格中的相邻单元格。我在考虑wdApp.Selection.MoveLeft Unit:=wdCell(或MoveRight)其中wdApp为Word.Application
  2. 复制单元格的内容。我在考虑wdApp.Selection.Copy以及wdDoc.Word.Range,其中wdDocWord.Document,但我无法选择整个单元格内容。
  3. 将其粘贴到Excel中的变量中。在这里,我不知道如何将剪贴板复制到Excel变量。

1 个答案:

答案 0 :(得分:4)

更新以显示搜索文本,然后选择相对于其位置的内容:

Sub FindAndCopyNext()

    Dim TextToFind As String, TheContent As String
    Dim rng As Word.Range

    TextToFind = "wibble" 'the text you're looking for to
                          ' locate the other content

    Set rng = wdApp.ActiveDocument.Content
    rng.Find.Execute FindText:=TextToFind, Forward:=True

    If rng.Find.Found Then
        If rng.Information(wdWithInTable) Then
          TheContent = rng.Cells(1).Next.Range.Text      'move right on row
          'TheContent = rng.Cells(1).Previous.Range.Text 'move left on row
          MsgBox "Found content '" & TheContent & "'"
        End If
    Else
        MsgBox "Text '" & TextToFind & "' was not found!"
    End If

End Sub

然后将变量TheContent分配给所需的Excel范围。