函数参考


_WordDocFindReplace

运行指定的查找替换操作.

#include <Word.au3>
_WordDocFindReplace ( ByRef $o_object [, $s_FindText = "" [, $s_ReplaceWith = "" [, $i_Replace = 2 [, $v_SearchRange = 0 [, $b_MatchCase = 0 [, $b_MatchWholeWord = 0 [, $b_MatchWildcards = 0 [, $b_MatchSoundsLike = 0 [, $b_MatchAllWordForms = 0 [, $b_Forward = 1 [, $i_Wrap = 1 [, $b_Format = 0]]]]]]]]]]]] )

参数

$o_object 一个有效的 Word.Application, 文档对象的对象变量
$s_FindText [可选参数] 要搜索的文本(见备注)"" = (默认) 仅用于格式化搜索.
$s_ReplaceWith [可选参数] 替换的文本. (见备注)"" = (默认) 删除由$s_FindText指定的文本
$i_Replace [可选参数] 指定替换次数.
0 = 不进行替换
1 = 替换第一个匹配项目
2 = (默认) 替换所有匹配项目
$v_SearchRange [可选参数] 指定搜索所选或者搜索范围.
-1 = 搜索当前所选
0 = (默认) 搜索全部文档
任何范围的对象
$b_MatchCase [可选参数] 指定是否区分大小写
0 = (默认) 不区分
1 = 区分
$b_MatchWholeWord [可选参数] 指定是全部匹配还是部分匹配.
0 = (默认) 部分匹配
1 = 全部匹配
$b_MatchWildcards [可选参数] 指定是否进行指定$s_FindText搜索
0 = (默认) 不是指定搜索
1 = 指定搜索
$b_MatchSoundsLike [可选参数] 指定是否搜索本地发音类似$s_FindText的文字
0 = (默认) 不搜索
1 = 搜索发音类似的文字
$b_MatchAllWordForms [可选参数]指定是否搜索文本的所有格式(例如,"sit"可以是"sitting"或"sat")
0 = (默认) 不进行匹配
1 = 匹配所有格式
$b_Forward [可选参数] 指定搜索方向.
0 = 向回搜索(指向文件开始)
1 = (默认)向后搜索(指向文件结尾)
$i_Wrap [可选参数] 用以控制当搜索点到达文档起点或终点时操作的标记(或当$b_Forward设置为0时反之).
0 = 当到达搜索范围的开始或结束位置时中止搜索操作
1 = (默认)当到达搜索范围的开始或结束位置时继续搜索操作
$b_Format [可选参数] 指定是否进行格式化定位查找操作.
0 = (默认)不进行格式化定位
1 = 格式化定位

返回值

成功: 返回 1
失败: 返回 0 并设置 @ERROR = 1
@Error: $_WordStatus_Success = 没有错误
$_WordStatus_InvalidDataType = 无效数据类型
$_WordStatus_InvalidObjectType = 无效对象类型
$_WordStatus_InvalidValue = 无效值
$_WordStatus_NoMatch = 没有匹配项目
@Extended: 包含无效的参数数量

注意/说明

你可以通过指定大概的字符码进行对特殊字符的搜索. 比如, "^p" 对应段落标记; "^t"
对应一个制表符.You specify special characters and advanced search criteria just
as you do for the Find argument. To specify a graphic object or other non-text
item as the replacement, move the item to the Clipboard and specify "^c" for
$s_ReplaceWith.

相关

没有.

示例/演示


; *******************************************************
; 示例 1 - 创建 word 窗口, 打开文档, 查找 "this",
;               用 "THIS" 替换所有匹配, 不保存修改退出.
; *******************************************************
;
#include <Word.au3>

Local $oWordApp = _WordCreate(@ScriptDir & "\Test.doc")
Local $oDoc = _WordDocGetCollection($oWordApp, 0)
Local $oFind = _WordDocFindReplace($oDoc, "this", "THIS")
If $oFind Then
    MsgBox(4096, "FindReplace", "Found and replaced.")
Else
    MsgBox(4096, "FindReplace", "Not Found")
EndIf
_WordQuit($oWordApp, 0)