2011-09-07 79 views
4

我需要使用Excel宏將多個文檔中的文字(一個或幾個字)從Word(2007)複製到Excel(2007)。如何使用Excel宏將一段文本從Word複製到Excel?

到目前爲止,我有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

你需要複製和粘貼?爲什麼不使用Selection.Text? –

+0

@Tim - thx。我仍然無法將選擇存入剪貼板......但這可能適用於第3步。 – Wikis

回答

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範圍。

+0

謝謝。但是,我怎樣才能選擇文件的某個部分?目前這沒有得到任何東西,因爲我無法選擇文本。我可以使用範圍(開始:= 0,結束:= 200)來獲得前200個字符。 – Wikis

+0

您想要複製的文本總是位於相同的位置(例如表格中的相同位置)或相對於其他文本的固定位置?後者是 –

+0

。大部分在單元格中直接向左或向右。偶爾在另一個單元中,但總是在同一行中。所以我需要驗證字符串。 – Wikis

相關問題