返回列表 上一主題 發帖

[發問] 如何利用EXCEL-VBA 擷取WORD文字 填入儲存格 

[發問] 如何利用EXCEL-VBA 擷取WORD文字 填入儲存格 

請教各位前輩

如何利用EXCEL-VBA 擷取WORD文字 填入儲存格

如下所示
EXCEL資料表

WORD檔案



其中EXCEL檔內欄位”WORD檔文字”需開啟相對應的WORD檔,複製WORD檔內文字的”作業地點”填入儲存格

資料有上萬筆~原本利用資料夾設定”超連結”連接檔案
再一筆一筆複製貼上~結果一天空檔只貼了300筆~還不知道有沒有出錯 Orz

想說是否可利用EXCEL-VBA 解決~麻煩前輩指導
檔案如下
測試資料.zip (904.88 KB)

建議的做法,
先將"作業地點", 逐一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

TOP

所以前輩的意思是
1.是利用VBA直接開啟WORD連結
2.先找出WORD表格第一格內欄位資料,填入EXCEL
3.最後再利用字元分割,篩選出我要的資料就好

TOP

回復 3# wslee
試試看
  1. Option Explicit
  2. Sub EX()
  3.     Dim Rng As Range, S As Variant, xFile As String
  4.     Set Rng = Sheets("工作表1").Range("D3")    '第一個有檔案名稱的儲存格
  5.     With CreateObject("Word.application")   'Word應用程式
  6.         .Visible = True  '物件可見
  7.         Do While Rng <> ""
  8.             xFile = ThisWorkbook.Path & "\" & Rng
  9.            'ThisWorkbook.Path =>Excel檔案存放目錄位置,可修改為Word檔案存放目錄位置
  10.            If Dir(xFile, vbDirectory) <> "" Then
  11.                 .Documents.Open xFile
  12.                 With .ActiveDocument
  13.                     S = Split(.Range.Text, "作業地點:")(1) '字串用"作業地點:" 分割的陣列(1)元素
  14.                     S = Split(S, "(")(0)                   '字串用"("  分割的陣列(0)元素
  15.                     Rng.Offset(, 1) = S         '向右一欄的個儲存格
  16.                     Set Rng = Rng.Offset(1)     '往下一列個儲存格
  17.                     .Close
  18.                 End With
  19.             End If
  20.         Loop
  21.         .Quit
  22.         MsgBox "作業 OK!"
  23.     End With
  24. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

謝謝板主            
真...的...太...強...了
再次感謝~問題已解決

TOP

        靜思自在 : 【為善競爭】人生要為善競爭,分秒必爭。
返回列表 上一主題