$wordapp=ObjGet("","word.application")
If IsObj($wordapp) Then
;ConsoleWrite("找到word进程"&@CRLF)
If $wordapp.documents.count>0 then
;ConsoleWrite("有打开的文档"&@CRLF)
$wordapp.activedocument.range.select ;这里设置要查找的文件块位置,本例全选整个文档内容
;MsgBox(0,"","全选文档")
With $wordapp.selection.find ;在活动文档中查找
.clearformatting ;先清空一下原来的查找设置
.font.color=-553582593 ;在这里修改查找的颜色值,可以在word中的vba编辑器的立即窗口查询一下颜色值
.Text = "" ;要查找的文本内容,本例置为空是因为是要查找的是蓝色字体的
.Replacement.Text = "" ;替换文字(查找与替换是同一功能的不同用法)
.Forward = True ;向下查找
.Wrap = 0 ;到末尾后是否返回头部再查找
.Format = True ;查找格式(查找颜色的话本项一定要是true)
.MatchCase = False ;匹配大小写
.MatchWholeWord = False ;匹配整个单词
.MatchByte = True ;依字节匹配
.MatchWildcards = False ;匹配全角字符
.MatchSoundsLike = False ;匹配同音字
.MatchAllWordForms = False ;这个不太明白啦
do ;循环执行
$again=.execute ;将查找结果逻辑值返回给变量
If $again Then ConsoleWrite(.parent.range.text&@CRLF) ;如果有找到就输出当前找到的字符内容
Until $again=False ;当未找到时退出循环
EndWith
EndIf
$wordapp=0
EndIf
改写了一下录制的宏,加了点注释,希望对楼主有帮助 |