[轉貼] 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空白工作表中執行。

廣告

另類的office問題: 無法啟動 轉換程式 ,在 Word2007 開啟 doc 檔案時

有同事反應開某個Word檔會出現無法啟動轉換程式mswrd632的錯誤訊息!

原本以為是檔案損壞或是程式衝突
所以參考
Word 無法啟動轉換程式 mswrd632
http://support.microsoft.com/kb/973904/zh-tw

Word 無法啟動轉換程式 mswrd632.wpc
http://plog.tcc.edu.tw/post/530/69784

仍無法解決該問題,甚至用LibreOffice、OpenOffice、Office2007等軟體嘗試開啟,也顯示為亂碼!

經其他同事提醒後,用Notepad++開啟時顯示檔案的標頭部份
才知道該檔案是pdf格式,疑似被誤改副檔名,所以用Word開啟會無法啟動轉換程式得到 mswrd632的錯誤訊息!

於是將副檔名改回pdf格式,之後就可以用Adobe Reader 9正常開啟顯示。

雙擊 WORD 文件可啟動 WORD 應用程式,卻無法開啟文件的解決辦法

下面是網路上某位先進所遇到的狀況。

有一次我採用克隆盤安裝了系統,裡面自帶OFFICE2007的幾個常用組件,但不適合自己;我採取了安裝OFFICE多版本的辦法,又在計算機中安裝OFFICE2003,然而還是不理想;使用中老是要提示插入安裝盤重新安裝部分文件。我乾脆徹底卸載掉兩個OFFICE版本,然後,重新啟動系統單獨安裝OFFICE2003,安裝好後形式上也正常;不過使用中發現直接雙擊WORD文檔可以啟動WORD但不能正常隨啟動WORD而打開文檔,除非是再執行WORD窗口的「打開」命令,選擇要打開文檔再打開;這顯然不是真正的正常。

在摸索查找原因時,偶然查看WORD文檔的屬性,發現了是其文檔(文件類型)關聯不正確(沒有指定用來打開文檔的程序)。於是,在WORD文檔屬性對話框中的打開方式裡修改指定了打開文檔的程序為Winword.exe,單擊「確定」之後解決了問題。確實一切OK!

總歸一句「Word文件檔案關聯不正確,需要重新指定用word.exe開啟!」。

Word 或 Excel 符號表無法使用

有遇過 Word 或 Excel 的符號表突然無法使用嗎?其實只要在 Windows Dos 視窗下 ,解除登錄再重新登錄 syminput.dll 的動態函式庫,就能有效的解決 Excel 符號表無法使用的問題。

在開始功能表執行「cmd」終端介面,在終端命令模式下將目錄切換到office插件的目錄底下「C:\Program files\Microsoft Office\OFFICE11\ADDINS\」。依office版本不同OFFICE11可能也不是這個名稱,可能是OFFICE10、OFFICE12。這目錄下有包含「syminput.dll」,這個函式庫檔案可能是控制符號表的。

執行下面兩行指令,解除登錄及重新登錄動態函式庫檔案。

regsvr32 /u syminput.dll 
regsvr32 syminput.dll

重新啟動 Word 或 Excel 測試符號表是否正常。