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



贊助商連結


leonchou
2002-10-20, 12:08 AM
如何從Word表格取回資料至Excel工作表?
我所知的方法有 DDE 和 OLE,
但我只會用 OLE 囉...

Sub get_word_table( )
1 Dim wrdApp As Object
2 Set wrdApp = CreateObject("Word.Application")
3 Set wrdDoc = wrdApp.Documents.Open("D:\Temp\ole_test.doc")
4 With wrdDoc.Tables(1)
5  For r = 1 To .Rows.Count
6   For c = 1 To .Columns.Count
7   Cells(r, c) = .Cell(r, c)
8   Next c
9  Next r
10 End With
11 wrdDoc.Close 'close the document
12 wrdApp.Quit 'close Word
13 Set wrdDoc = Nothing
14 Set wrdApp = Nothing
End Sub

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

贊助商連結


hotpop60
2002-11-15, 10:54 AM
大大謝謝囉~~
受益無窮~~

對囉~~
我同事的電腦在執行mail merge的時候會出現無法建立DDE的訊息~~
後來我有去看microsoft的文件~~
都沒辦法解決~~
我個人認為是os的問題~~
不知道大大是否有遇過這種問題~~

leonchou
2002-11-16, 04:30 PM
我沒遇過咧? 拍寫~ ^^

嗯~ 回應是發表的一種動力..
尤其是教學文章~
如果大家能多回應一點,
PCZONE的教學文章就不會越來越少了...