Как я могу скопировать один раздел текста из Word в Excel, используя макрос Excel? - PullRequest
4 голосов
/ 07 сентября 2011

Мне нужно скопировать определенный элемент текста (одно или несколько слов) из Word (2007) в Excel (2007) с помощью макроса Excel для нескольких документов.

Пока у меня есть макрос Excel, открывающий каждый документ Word по одному и располагающий текст рядом с тем, что мне нужно.

Теперь мне нужно:

  1. Перейти к соседней ячейке в таблице Word. Я думаю wdApp.Selection.MoveLeft Unit:=wdCell (или MoveRight), где wdApp Word.Application
  2. Копировать содержимое ячейки. Я думаю wdApp.Selection.Copy и что-то вроде wdDoc.Word.Range, где wdDoc равно Word.Document, но я не могу выделить все содержимое ячеек.
  3. Вставьте его в переменную в Excel. Здесь я не знаю, как скопировать буфер обмена в переменную Excel.

1 Ответ

4 голосов
/ 07 сентября 2011

Обновлен для отображения поиска текста и последующего выбора содержимого относительно его местоположения:

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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...