↑  ←  Описание функции


_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" соответствует символ табуляции.

Укажите специальные символы и расширенные критерии поиска, подобно тому, как вы делаете для параметра поиска. Чтобы указать графический объект или другой не текстовый элемент в качестве замены, поместите элемент в буфер обмена и укажите "^c" в параметре $s_ReplaceWith.

Пример

; *******************************************************
; Пример 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)