[轉貼] Excel VBA – 從 Word 表格取回資料

出至:http://www.pczone.com.tw/vbb3/thread/5/61970/

【教學】Excel VBA – 從 Word 表格取回資料

如何從Word表格取回資料至Excel工作表?
我所知的方法有 DDE 和 OLE,但我只會用 OLE 囉…

Sub get_word_table( )
Dim wrdApp As Object
Set wrdApp = CreateObject("Word.Application")
Set wrdDoc = wrdApp.Documents.Open("D:\Temp\ole_test.doc")
With wrdDoc.Tables(1)
 For r = 1 To .Rows.Count
  For c = 1 To .Columns.Count
  Cells(r, c) = .Cell(r, c)
  Next c
 Next r
End With
wrdDoc.Close ‘close the document
wrdApp.Quit ‘close Word
Set wrdDoc = Nothing
Set wrdApp = Nothing
End Sub

逐行說明

宣告一個物件變數 wrdApp
令物件變數 wrdApp = 建立的Word應用程式物件
令物件變數 wrdDoc = 指定的Word文件檔案
引用該 Word 文件的第一個表格
對該表格的每一列做迴圈, 變數 r 為列號
對每一列的每一欄做迴圈, 變數 c 為欄號
令目前工作表的第 r 列第 c 欄儲存格值 = 該 Word 表格的對應儲存格
繼續迴圈中的下一欄, 直到最後一欄
繼續迴圈中的下一列, 直到最後一列
結束該Word表格的引用
關閉該Word文件檔
結束Word應用程式
釋放物件變數wrdDoc
釋放物件變數wrdApp

PS.這個程式要在Excel空白工作表中執行。

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s