註冊
登錄
首頁
論壇版規
禁止列表
說明
地圖
數位書香
私人消息 (0)
公共消息 (0)
論壇任務 (0)
系統消息 (0)
好友消息 (0)
帖子消息 (0)
麻辣家族討論版版
»
Word
» VBA-擷取包含關鍵字的所有段落丟到新文件中
返回列表
下一主題
上一主題
發帖
[轉貼]
VBA-擷取包含關鍵字的所有段落丟到新文件中
偉婕
發短消息
加為好友
偉婕
(偉婕)
當前離線
UID
4
帖子
376
主題
84
精華
0
積分
419
金錢
419
點名
0
作業系統
Win 8
軟體版本
Office 2007
閱讀權限
100
性別
女
在線時間
99 小時
註冊時間
2010-4-30
最後登錄
2022-6-2
暱稱:
偉婕
版主
帖子
376
主題
84
精華
0
積分
419
點名
0
作業系統
Win 8
軟體版本
Office 2007
閱讀權限
100
性別
女
註冊時間
2010-4-30
最後登錄
2022-6-2
1
#
跳轉到
»
倒序看帖
打印
字體大小:
t
T
發表於 2010-6-30 23:03
|
只看該作者
[轉貼]
VBA-擷取包含關鍵字的所有段落丟到新文件中
關鍵字
,
VBA
原發表者:leonchou (2005-04-30)
[
問題
] 自動擷取、另存有關某個指定關鍵字的所有段落, VBA怎麼寫?
這個問題令我想到了Unix/Linux的 grep 指令~
在Linux可以用短短一行指令解決的事,在Windows竟然要動用到程式~ 真是的... ^^|||
(如果真有這樣的內建指令或功能, 煩請指導, Thanks!!)
Sub 東找西找( )
Set myRange = ActiveDocument.Content
找啥 = InputBox("找啥?")
找到 = myRange.Find.Execute(找啥)
Do While 找到
打包 = 打包 & myRange.Paragraphs(1)
找到 = myRange.Find.Execute(找啥)
Loop
If IsEmpty(打包) Then MsgBox "找無!": Exit Sub
Documents.Add: Selection = 打包
End Sub
複製
代碼
這個
巨集
是用 [
尋找
] 的方式,收集所有包含關鍵字的段落,然後一次丟到新文件中。
由於 Word2002 有 [多重選取] 的功能, 或許可以一次處理, 不須用到迴圈也說不定~~
PS. grep指令應該是只能處理純文字檔案, 想想又覺得拿這個來跟 Word / VBA 比較, 似乎有欠公平.. :p
--------------------------------------
有試過上面巨集的人可能會發現, 若是同一段的keyword有一個以上, 會被重複處理;也就是同一段可能會被重複擷取至新文件.
要避免這種情形, 可在 Do...Loop 間插入一行:
myRange.EndOf wdParagraph
Sub 東找西找( )
Set myRange = ActiveDocument.Content
找啥 = InputBox("找啥?")
找到 = myRange.Find.Execute(找啥)
Do While 找到
打包 = 打包 & myRange.Paragraphs(1)
myRange.EndOf wdParagraph
找到 = myRange.Find.Execute(找啥)
Loop
If IsEmpty(打包) Then MsgBox "找無!": Exit Sub
Documents.Add: Selection = 打包
End Sub
複製代碼
myRange.EndOf wdParagraph 的意思是把 myRange 改設定至該段落的結尾,也就是直接從下一段繼續尋找,即可避免重複處理同一段的keyword.
wdParagraph 是 EndOF 指令(方法)的參數,指以 段落 為單位. 此參數可指定其他單位, 如 wdCharacter (字元)、wdWord (單字)...等等, 詳細用法請見 Word VBA 輔助說明~
樓主熱帖
「空白身份證正反面」列印範本
在Word中設定公式運算
請教關於合併列印問題
在 PowerPoint內放置/連結excel檔案
推薦偉婕版主新作品《由淺入深快樂學Excel函
將Word檔案轉成PPT檔案
請教關於截取儲存格中的唯一值
頁面框線的底部不見了!?
更改投影片頁碼位置
為什麼文件內多了很多的藍色底線?
收藏
分享
偉婕電子書,歡迎免費下載參考
http://www.twbts.com/ebook/?subject=office
http://www.twbts.com/ebook/?subject=soft
偉婕藏書庫---https://www.facebook.com/groups/669579416484096/
有一家柑仔店---https://www.facebook.com/sadodona
靜思自在 :
太陽光大、父母恩大、君子量大,小人氣大。
返回列表
下一主題
上一主題
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粉絲