_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" соответствует символ табуляции.Пример
; *******************************************************
; Пример 1 - Create a word window, open a document, find "this",
; replace all occurrences with "THIS", quit without saving changes.
; *******************************************************
#include <Word.au3>
$oWordApp = _WordCreate (@ScriptDir & "\Test.doc")
$oDoc = _WordDocGetCollection($oWordApp, 0)
$oFind = _WordDocFindReplace($oDoc, "this", "THIS")
If $oFind Then
MsgBox(4096, "FindReplace", "Found and replaced.")
Else
MsgBox(4096, "FindReplace", "Not Found")
EndIf
_WordQuit ($oWordApp, 0)