標題:
[發問]
如何利用EXCEL-VBA 擷取WORD文字 填入儲存格
[打印本頁]
作者:
wslee
時間:
2014-11-12 20:28
標題:
如何利用EXCEL-VBA 擷取WORD文字 填入儲存格
請教各位前輩
如何利用EXCEL-VBA 擷取WORD文字 填入儲存格
如下所示
EXCEL資料表
[attach]19538[/attach]
WORD檔案
[attach]19539[/attach]
其中EXCEL檔內欄位”WORD檔文字”需開啟相對應的WORD檔,複製WORD檔內文字的”作業地點”填入儲存格
資料有上萬筆∼原本利用資料夾設定”超連結”連接檔案
再一筆一筆複製貼上∼結果一天空檔只貼了300筆∼還不知道有沒有出錯 Orz
想說是否可利用EXCEL-VBA 解決∼麻煩前輩指導
檔案如下
[attach]19537[/attach]
作者:
mmxxxx
時間:
2014-11-13 09:29
建議的做法,
先將"作業地點", 逐一copy至一文字檔(txt),
再依要分欄位的資料, 用區格字元區.
再使用Excel讀入, 依區各字元切割匯入, 即大功告成.
要用EXCEL VBA 開啟Word, 如下, 但要parse "作業地點"出來可不容易了.
Set wordapp = CreateObject("word.Application")
wordapp.documents.Open "C:\Documents and Settings\anitao\My Dcuments\alo2004.doc"
wordapp.Visible = True
作者:
wslee
時間:
2014-11-14 15:00
所以前輩的意思是
1.是利用VBA直接開啟WORD連結
2.先找出WORD表格第一格內欄位資料,填入EXCEL
3.最後再利用字元分割,篩選出我要的資料就好
作者:
GBKEE
時間:
2014-11-15 16:15
回復
3#
wslee
試試看
Option Explicit
Sub EX()
Dim Rng As Range, S As Variant, xFile As String
Set Rng = Sheets("工作表1").Range("D3") '第一個有檔案名稱的儲存格
With CreateObject("Word.application") 'Word應用程式
.Visible = True '物件可見
Do While Rng <> ""
xFile = ThisWorkbook.Path & "\" & Rng
'ThisWorkbook.Path =>Excel檔案存放目錄位置,可修改為Word檔案存放目錄位置
If Dir(xFile, vbDirectory) <> "" Then
.Documents.Open xFile
With .ActiveDocument
S = Split(.Range.Text, "作業地點:")(1) '字串用"作業地點:" 分割的陣列(1)元素
S = Split(S, "(")(0) '字串用"(" 分割的陣列(0)元素
Rng.Offset(, 1) = S '向右一欄的個儲存格
Set Rng = Rng.Offset(1) '往下一列個儲存格
.Close
End With
End If
Loop
.Quit
MsgBox "作業 OK!"
End With
End Sub
複製代碼
作者:
wslee
時間:
2014-11-16 17:00
謝謝板主
真...的...太...強...了
再次感謝~問題已解決
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)