【教學】Excel VBA - 從Word表格取回資料 如何從Word表格取回資料至Excel工作表? 我所知的方法有 DDE 和 OLE, 但我只會用 OLE 囉... [color=red]Sub[/color] 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 [color=green]'close the document[/color] 12 wrdApp.Quit [color=green]'close Word[/color] 13 Set wrdDoc = Nothing 14 Set wrdApp = Nothing [color=red]End Sub[/color] [color=blue][b]逐行說明[/b][/color][list=1][*]宣告一個物件變數wrdApp[*]令物件變數wrdApp = 建立的Word應用程式物件[*]令物件變數wrdDoc = 指定的Word文件檔案[*]引用該Word文件的第一個表格[*]對該表格的每一列做迴圈, 變數 r 為列號[*]對每一列的每一欄做迴圈, 變數 c 為欄號[*]令目前工作表的第 r 列第 c 欄儲存格值 = 該Word表格的對應儲存格[*]繼續迴圈中的下一欄, 直到最後一欄[*]繼續迴圈中的下一列, 直到最後一列[*]結束該Word表格的引用[*]關閉該Word文件檔[*]結束Word應用程式[*]釋放物件變數wrdDoc[*]釋放物件變數wrdApp[/list]PS.這個程式要在Excel空白工作表中執行。 |
大大謝謝囉~~ 受益無窮~~ 對囉~~ 我同事的電腦在執行mail merge的時候會出現無法建立DDE的訊息~~ 後來我有去看microsoft的文件~~ 都沒辦法解決~~ 我個人認為是os的問題~~ 不知道大大是否有遇過這種問題~~ |
我沒遇過咧? 拍寫~ ^^ 嗯~ 回應是發表的一種動力.. 尤其是教學文章~ 如果大家能多回應一點, PCZONE的教學文章就不會越來越少了... |
所有時間均為 +8。現在的時間是 02:25 PM。 |
XML | RSS 2.0 | RSS |
本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。