註冊
登錄
首頁
論壇版規
禁止列表
說明
地圖
數位書香
私人消息 (0)
公共消息 (0)
論壇任務 (0)
系統消息 (0)
好友消息 (0)
帖子消息 (0)
麻辣家族討論版版
»
Excel程式區
» 如何利用EXCEL-VBA 擷取WORD文字 填入儲存格
返回列表
下一主題
上一主題
發帖
[發問]
如何利用EXCEL-VBA 擷取WORD文字 填入儲存格
wslee
發短消息
加為好友
wslee
當前離線
UID
19134
帖子
3
主題
1
精華
0
積分
4
金錢
4
點名
0
作業系統
XP
軟體版本
OFFICE2010
閱讀權限
10
性別
男
來自
新北市永和區
在線時間
0 小時
註冊時間
2014-11-12
最後登錄
2014-11-16
小學生
帖子
3
主題
1
精華
0
積分
4
點名
0
作業系統
XP
軟體版本
OFFICE2010
閱讀權限
10
性別
男
來自
新北市永和區
註冊時間
2014-11-12
最後登錄
2014-11-16
1
#
跳轉到
»
正序看帖
打印
字體大小:
t
T
發表於 2014-11-12 20:28
|
只看該作者
[發問]
如何利用EXCEL-VBA 擷取WORD文字 填入儲存格
請教各位前輩
如何
利用EXCEL-VBA 擷取
WORD
文字 填入
儲存格
如下所示
EXCEL資料表
下載
(85.02 KB)
2014-11-12 20:18
WORD檔案
下載
(69.87 KB)
2014-11-12 20:18
其中EXCEL檔內欄位”WORD檔文字”需開啟相對應的WORD檔,
複製
WORD檔內文字的”作業地點”填入儲存格
資料有上萬筆~原本利用資料夾設定”
超連結
”連接檔案
再一筆一筆
複製貼上
~結果一天空檔只貼了300筆~還不知道有沒有出錯 Orz
想說是否可利用EXCEL-VBA 解決~麻煩前輩指導
檔案如下
測試資料.
zip
(904.88 KB)
下載次數: 15
2014-11-12 20:18
收藏
分享
wslee
發短消息
加為好友
wslee
當前離線
UID
19134
帖子
3
主題
1
精華
0
積分
4
金錢
4
點名
0
作業系統
XP
軟體版本
OFFICE2010
閱讀權限
10
性別
男
來自
新北市永和區
在線時間
0 小時
註冊時間
2014-11-12
最後登錄
2014-11-16
小學生
帖子
3
主題
1
精華
0
積分
4
點名
0
作業系統
XP
軟體版本
OFFICE2010
閱讀權限
10
性別
男
來自
新北市永和區
註冊時間
2014-11-12
最後登錄
2014-11-16
5
#
發表於 2014-11-16 17:00
|
只看該作者
謝謝板主
真...的...太...強...了
再次感謝~問題已解決
TOP
GBKEE
發短消息
加為好友
GBKEE
當前離線
UID
16
帖子
5923
主題
13
精華
1
積分
5986
金錢
5986
點名
0
作業系統
win10
軟體版本
Office 2010
閱讀權限
150
性別
男
來自
台灣基隆
在線時間
4811 小時
註冊時間
2010-5-1
最後登錄
2022-1-23
超級版主
帖子
5923
主題
13
精華
1
積分
5986
點名
0
作業系統
win10
軟體版本
Office 2010
閱讀權限
150
性別
男
來自
台灣基隆
註冊時間
2010-5-1
最後登錄
2022-1-23
4
#
發表於 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
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限, 一天1元的贊助,人人有能力.
TOP
wslee
發短消息
加為好友
wslee
當前離線
UID
19134
帖子
3
主題
1
精華
0
積分
4
金錢
4
點名
0
作業系統
XP
軟體版本
OFFICE2010
閱讀權限
10
性別
男
來自
新北市永和區
在線時間
0 小時
註冊時間
2014-11-12
最後登錄
2014-11-16
小學生
帖子
3
主題
1
精華
0
積分
4
點名
0
作業系統
XP
軟體版本
OFFICE2010
閱讀權限
10
性別
男
來自
新北市永和區
註冊時間
2014-11-12
最後登錄
2014-11-16
3
#
發表於 2014-11-14 15:00
|
只看該作者
所以前輩的意思是
1.是利用VBA直接開啟WORD連結
2.先找出WORD表格第一格內欄位資料,填入EXCEL
3.最後再利用字元分割,篩選出我要的資料就好
TOP
mmxxxx
發短消息
加為好友
mmxxxx
當前離線
UID
19052
帖子
61
主題
7
精華
0
積分
72
金錢
72
點名
0
作業系統
win 7
軟體版本
Office 2010
閱讀權限
20
性別
男
在線時間
65 小時
註冊時間
2014-11-4
最後登錄
2015-9-16
中學生
帖子
61
主題
7
精華
0
積分
72
點名
0
作業系統
win 7
軟體版本
Office 2010
閱讀權限
20
性別
男
註冊時間
2014-11-4
最後登錄
2015-9-16
2
#
發表於 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
TOP
靜思自在 :
好事要提得起,是非要放得下,成就別人即是成就自己。
返回列表
下一主題
上一主題
一般電腦軟體討論
Excelㄧ般區
EXCEL專屬討論區
Excelㄧ般區
Excel程式區
進階應用專區
OFFICE 系列
Word
PowerPoint
Access
Office不分區
程式語言
VB 與 VB.Net
C 與 C#
Java 與 J#
程式設計不分區
資料庫
ORACLE
My SQL
MS SQL
網頁設計
ASP 與 ASP.NET
PHP
PHP+MySQL 入門實作
JavaScript
FLASH / ActionScript
HTM/ HTML/ CSS
網頁設計不分區
電腦與作業系統
電腦各種硬體討論
一般電腦軟體討論
論壇事務
管理公告
投訴反映
新手測試
愛 ‧ 生活
公益佈告欄
生活與感動
[收藏此主題]
[關注此主題的新回復]
[通過 QQ、MSN 分享給朋友]
申請友情鏈接
Facebook粉絲