leonchou
2002-09-13, 01:13 AM
[問題] 自動擷取、另存有關某個指定關鍵字的所有段落, 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
贊助商連結
這個問題令我想到了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
贊助商連結