Word application selection find execute метод

Обновлено: 07.07.2024

Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.

Выполняет указанную операцию поиска.

Параметры

Необязательный объект. Искомый текст. Используйте пустую строку ("") для поиска только форматирования. Вы можете выполнить поиск специальных символов, указав соответствующие коды знаков. Например, "^ p" соответствует знаку абзаца, а "^ t" соответствует символу табуляции.

Необязательный объект. Значение true , чтобы указать, что при поиске текста учитывается регистр. Соответствует установленному флажку "Учитывать регистр" в диалоговом окне "Найти и заменить".

Необязательный объект. Значение true для поиска только целых слов, а не текста, который является частью большего слова. Соответствует установленному флажку "Только слово целиком" в диалоговом окне "Найти и заменить".

Необязательный объект. Значение true , если искомый текст является особым оператором поиска. Соответствует установленному флажку "Подстановочные знаки" в диалоговом окне "Найти и заменить".

Необязательный объект. Значение true для поиска слов, которые похожи на поиск текста. Соответствует флажку "звуки, например" в диалоговом окне "найти и заменить".

Необязательный объект. Значение true для того, чтобы операция поиска обнаружила все формы искомого текста (например, "Sit" размещает "" где "и" Кот "). Соответствует флажку "найти все Word Forms" в диалоговом окне "найти и заменить".

Необязательный объект. Значение true для поиска вперед (в направлении конца документа).

Необязательный объект. Значение true для того, чтобы операция поиска обнаружила форматирование в дополнение к или вместо поиска текста.

Необязательный объект. Замещающий текст. Чтобы удалить текст Find , указанный аргументом, используйте пустую строку (""). Специальные символы и условия расширенного поиска задаются так же, как и для Find аргумента. Чтобы указать в качестве замены графический объект или другой не текстовый элемент, переместите его в буфер обмена и укажите "^ c" для ReplaceWith .

Необязательный объект. Указывает, какое количество замен должно выполняться: один, все или нет. Может быть любой WdReplace константой:вдреплацеалл вдреплаценоне вдреплацеоне

Необязательный объект. Имеет значение true , если поисковые операции с совпадающим значением кашиды в документе для арабского языка совпадают. Этот аргумент может быть недоступен в зависимости от того, какая языковая поддержка (например, английский) выбрана или установлена.

Необязательный объект. Имеет значение true , если поисковые операции для поиска совпадают с диакритическими знаками в документе для языков с письмом справа налево. Этот аргумент может быть недоступен в зависимости от того, какая языковая поддержка (например, английский) выбрана или установлена.

Необязательный объект. Имеет значение true , если поисковые операции выводятся с соответствующими алиф гамза в документе на арабском языке. Этот аргумент может быть недоступен в зависимости от того, какая языковая поддержка (например, английский) выбрана или установлена.

Необязательный объект. True , если поиск выполняется в тексте с соответствующими двунаправленными контрольными символами в документе для языков с письмом справа налево. Этот аргумент может быть недоступен в зависимости от того, какая языковая поддержка (например, английский) выбрана или установлена.

Возвращаемое значение

Комментарии

Этот метод возвращает значение true , если операция поиска выполнена успешно.

Если MatchWildcards имеет значение true, вы можете указать подстановочные знаки и другие расширенные условия поиска для FindText аргумента. Например, "* ([]") находит все слова, заканчивающиеся на "применять".

Чтобы найти символьный символ, введите символ "крышка" (^), ноль (0), а затем код символа. Например, "^ 0151" соответствует длинному тире (—).

Если не указано иное, замещающий текст наследует форматирование текста, который он заменяет в документе. Например, если заменить строку "ABC" на "XYZ", то все вхождения "ABC" с форматированием полужирным шрифтом заменяются на строку "XYZ" полужирным шрифтом.

Кроме того, если MatchCase задано значение false, то вхождения искомого текста в верхнем регистре заменяются заглавной версией замещающего текста независимо от регистра текста для поиска и замены. В предыдущем примере вхождения "ABC" заменяются на "XYZ".

Выполняет указанную операцию поиска. Возвращает True, если операция поиска будет успешной. Логическое значение.

Синтаксис

выражения. Выполнение (FindText, MatchCase, MatchWholeWord, MatchWildcards, MatchSoundsLike, MatchAllWordForms , Forward , Wrap, Format, ReplaceWith, Replace, MatchKashida, MatchDiacritics, MatchAlefHamza, MatchControl)

выражение (обязательно). Переменная, представляюная объект Find.

Параметры

Имя Обязательный или необязательный Тип данных Описание
FindText Необязательный Variant Текст, который необходимо искать. Используйте пустую строку ("") для поиска только форматирования. Вы можете искать специальные символы, указав соответствующие коды символов. Например, "^p" соответствует знаку абзаца, а "^t" соответствует символу вкладки.
MatchCase Необязательный Variant True, чтобы указать, что текст поиска должен быть чувствительным к делу. Соответствует контрольной окне "Совпадение" в диалоговом окне Найти и заменить (Изменить меню).
MatchWholeWord Необязательный Variant Правда, чтобы операция поиска найдите только целые слова, а не текст, который является частью более крупного слова. Соответствует диалоговой окне Найти целые слова только в диалоговом окне Найти и заменить.
MatchWildcards Необязательный Variant True to have the find text be a special search operator. Соответствует контрольной окне Use wildcards в диалоговом окне Найти и заменить.
MatchSoundsLike Необязательный Variant True, чтобы операция поиска найдите слова, которые звучат так же, как найти текст. Соответствует диалоговой окне "Звуки", как в диалоговом окне Найти и заменить.
MatchAllWordForms Необязательный Variant Правда, чтобы операция поиска найдите все формы текста поиска (например, "sit" находит "сидя" и "sat"). Соответствует поле Найти все формы слов в диалоговом окне Найти и заменить.
Forward Необязательный Variant True для поиска вперед (ближе к концу документа).
Wrap Необязательный Variant Контролирует, что происходит, если поиск начинается в точке, не в начале документа и в конце документа достигается (или наоборот, если форвард настроен на False). Этот аргумент также контролирует, что происходит, если есть выбор или диапазон и текст поиска не найден в выборе или диапазоне. Может быть одним из констант WdFindWrap.
Format Необязательный Variant Верно, что операция поиска находит форматирование в дополнение к тексту поиска или вместо него.
ReplaceWith Необязательный Variant Текст замены. Чтобы удалить текст, указанный аргументом Find, используйте пустую строку (""). Вы указываете специальные символы и расширенные критерии поиска так же, как и аргумент Find. Чтобы указать графический объект или другой нетекст в качестве замены, переместите элемент в буфер обмена и укажите "^c" для ReplaceWith.
Replace Необязательный Variant Указывает, сколько замен необходимо сделать: один, все или нет. Может быть любой константой WdReplace.
MatchKashida Необязательный Variant True, если поиск операций соответствует тексту с соответствием кашидам в документе на арабском языке. Этот аргумент может быть недоступным для вас, в зависимости от языковой поддержки (например, английского языка США), выбранной или установленной.
MatchDiacritics Необязательный Variant True, если поиск операций совпадает с текстом, соответствующим диакритикам в языковом документе справа налево. Этот аргумент может быть недоступным для вас, в зависимости от языковой поддержки (например, английского языка США), выбранной или установленной.
MatchAlefHamza Необязательный Variant True, если поиск операций совпадает с текстом, соответствующим хамзам alef в документе на арабском языке. Этот аргумент может быть недоступным для вас, в зависимости от языковой поддержки (например, английского языка США), выбранной или установленной.
MatchControl Необязательный Variant True, если поиск операций совпадает с текстом, соответствующим символам управления бидайрекционными в документе языка справа налево. Этот аргумент может быть недоступным для вас, в зависимости от языковой поддержки (например, английского языка США), выбранной или установленной.
MatchPrefix Необязательный Variant True, чтобы соответствовать словам, начиная со строки поиска. Соответствует префиксу Match в диалоговом окне Найти и заменить.
MatchSuffix Необязательный Variant True, чтобы соответствовать словам, завершаемой строкой поиска. Соответствует поле суффикса Match в диалоговом окне Найти и заменить.
MatchPhrase Необязательный Variant True игнорирует все символы белого пространства и управления между словами.
IgnoreSpace Необязательный Variant True игнорирует все пробелы между словами. Соответствует окне Игнорировать символы белого пространства в диалоговом окне Найти и заменить.
IgnorePunct Необязательный Variant True игнорирует все знаки препинания между словами. Соответствует контрольной окне Игнорировать пунктуацию в диалоговом окне Найти и заменить.

Возвращаемое значение

Примечания

Если MatchWildcards является true, можно указать символы подтекста и другие расширенные критерии поиска для аргумента FindText. Например, "*(ing)" находит любое слово, которое заканчивается в "ing".

Чтобы найти символ, введите caret (^), ноль (0), а затем код символа. Например, "^0151" соответствует em dash ( — ).

Если иное не указано, заменяющий текст наследует форматирование заменяемого в документе текста. Например, если заменить строку "abc" на "xyz", вхождения "abc" с жирным форматированием заменяются строкой "xyz" с жирным форматированием.

Кроме того, если MatchCase является false, вхождения верхнего текста поиска будут заменены на верхний шкаф версии заменяемого текста, независимо от случая замены текста. В предыдущем примере случаи "ABC" заменяются на XYZ.

Пример

В этом примере находит и выбирает следующее появление слова "библиотека".

В этом примере находятся все вхождения слова "привет" в активном документе и заменяется каждое событие на "привет".

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Объект Find является членом объектов Selection и Range, каждый из которых можно использовать для поиска текста в документах Microsoft Office Word. Команда замены является расширением команды поиска.

С помощью объекта Find можно выполнять операцию перебора документа Microsoft Office Word и поиска конкретного текста, форматирования или стиля, а свойство Replacement можно использовать для замены всех найденных элементов.

Применимо к: Сведения в этом разделе относятся к - проектам уровня документа и добавлению VSTO - в проектах для Word. Дополнительные сведения см. в разделе доступность функций по типам приложений Office и проектов.

Использование объекта Selection

При использовании объекта Selection для поиска текста все заданные условия применяются только для поиска текущего выделенного текста. Если точкой вставки является Selection, то поиск выполняется по документу. Если будет найден элемент, соответствующий условиям поиска, он будет автоматически выделен.

Следует отметить, что условия Find являются накопительными. Это означает, что условия добавляются к предыдущим условиям поиска. Для сброса форматирования из предыдущих операций поиска перед выполнением нового поиска используйте метод ClearFormatting.

Поиск текста с помощью объекта Selection

Назначьте переменной строку поиска.

Сбросьте форматирование из предыдущих операций поиска.

В следующем примере показан полный метод.

Использование объекта Range

Объект Range позволяет искать текст, ничего не отображая в пользовательском интерфейсе. FindОбъект возвращает значение true , если найден текст, соответствующий условиям поиска, и false , если это не так. Он также переопределяет объект Range, чтобы он соответствовал условиям поиска при обнаружении текста.

Поиск текста с помощью объекта Range

Определите объект Range, состоящий из второго абзаца в документе.

Следующий пример кода можно использовать в настройке на уровне документа.

Следующий пример кода можно использовать в надстройке VSTO. В этом примере используется активный документ.

С помощью Find свойства Range объекта сначала очистите все существующие параметры форматирования, а затем найдите строку Find Me.

Если поиск заканчивается неудачно, выбирается второй абзац. При успешном выполнении поиска отображаются условия поиска.

В следующем примере показан полный код для настройки на уровне документа. Чтобы использовать этот пример, запустите код из класса ThisDocument в своем проекте.

В следующем примере показан полный код для надстройки VSTO. Чтобы использовать этот пример, запустите код из класса ThisAddIn в своем проекте.

Поиск и замена текста в документах

Следующий код выполняет поиск в текущем выделенном фрагменте и заменяет все вхождения строки Find Me найденной строкой.

Поиск и замена текста в документах

Добавьте следующий пример кода в класс ThisDocument или ThisAddIn в своем проекте.

Класс Find имеет метод ClearFormatting, а класс Replacement также имеет свой собственный метод ClearFormatting. При выполнении операций Find-and-Replace необходимо использовать метод Клеарформаттинг обоих объектов. Если его использовать только на объекте Find, то при замене текста можно получить непредвиденные результаты.

Для замены каждого найденного элемента используйте метод Execute объекта Find. Чтобы указать, какие элементы следует заменить, используйте параметр Replace . Этот параметр может принимать одно из следующих значений WdReplace:

Runs the specified find operation. Returns True if the find operation is successful. Boolean.

Syntax

expression.Execute (FindText, MatchCase, MatchWholeWord, MatchWildcards, MatchSoundsLike, MatchAllWordForms, Forward, Wrap, Format, ReplaceWith, Replace, MatchKashida, MatchDiacritics, MatchAlefHamza, MatchControl)

expression Required. A variable that represents a Find object.

Parameters

Name Required/Optional Data type Description
FindText Optional Variant The text to be searched for. Use an empty string ("") to search for formatting only. You can search for special characters by specifying appropriate character codes. For example, "^p" corresponds to a paragraph mark and "^t" corresponds to a tab character.
MatchCase Optional Variant True to specify that the find text be case-sensitive. Corresponds to the Match case check box in the Find and Replace dialog box (Edit menu).
MatchWholeWord Optional Variant True to have the find operation locate only entire words, not text that is part of a larger word. Corresponds to the Find whole words only check box in the Find and Replace dialog box.
MatchWildcards Optional Variant True to have the find text be a special search operator. Corresponds to the Use wildcards check box in the Find and Replace dialog box.
MatchSoundsLike Optional Variant True to have the find operation locate words that sound similar to the find text. Corresponds to the Sounds like check box in the Find and Replace dialog box.
MatchAllWordForms Optional Variant True to have the find operation locate all forms of the find text (for example, "sit" locates "sitting" and "sat"). Corresponds to the Find all word forms check box in the Find and Replace dialog box.
Forward Optional Variant True to search forward (toward the end of the document).
Wrap Optional Variant Controls what happens if the search begins at a point other than the beginning of the document and the end of the document is reached (or vice versa if Forward is set to False). This argument also controls what happens if there is a selection or range and the search text is not found in the selection or range. Can be one of the WdFindWrap constants.
Format Optional Variant True to have the find operation locate formatting in addition to, or instead of, the find text.
ReplaceWith Optional Variant The replacement text. To delete the text specified by the Find argument, use an empty string (""). You specify special characters and advanced search criteria just as you do for the Find argument. To specify a graphic object or other nontext item as the replacement, move the item to the Clipboard and specify "^c" for ReplaceWith.
Replace Optional Variant Specifies how many replacements are to be made: one, all, or none. Can be any WdReplace constant.
MatchKashida Optional Variant True if find operations match text with matching kashidas in an Arabic-language document. This argument may not be available to you, depending on the language support (U.S. English, for example) that you have selected or installed.
MatchDiacritics Optional Variant True if find operations match text with matching diacritics in a right-to-left language document. This argument may not be available to you, depending on the language support (U.S. English, for example) that you have selected or installed.
MatchAlefHamza Optional Variant True if find operations match text with matching alef hamzas in an Arabic-language document. This argument may not be available to you, depending on the language support (U.S. English, for example) that you have selected or installed.
MatchControl Optional Variant True if find operations match text with matching bidirectional control characters in a right-to-left language document. This argument may not be available to you, depending on the language support (U.S. English, for example) that you have selected or installed.
MatchPrefix Optional Variant True to match words beginning with the search string. Corresponds to the Match prefix check box in the Find and Replace dialog box.
MatchSuffix Optional Variant True to match words ending with the search string. Corresponds to the Match suffix check box in the Find and Replace dialog box.
MatchPhrase Optional Variant True ignores all white space and control characters between words.
IgnoreSpace Optional Variant True ignores all white space between words. Corresponds to the Ignore white-space characters check box in the Find and Replace dialog box.
IgnorePunct Optional Variant True ignores all punctuation characters between words. Corresponds to the Ignore punctuation check box in the Find and Replace dialog box.

Return value

Remarks

If MatchWildcards is True, you can specify wildcard characters and other advanced search criteria for the FindText argument. For example, "*(ing)" finds any word that ends in "ing".

To search for a symbol character, type a caret (^), a zero (0), and then the symbol's character code. For example, "^0151" corresponds to an em dash (—).

Unless otherwise specified, replacement text inherits the formatting of the text it replaces in the document. For example, if you replace the string "abc" with "xyz", occurrences of "abc" with bold formatting are replaced with the string "xyz" with bold formatting.

Also, if MatchCase is False, occurrences of the search text that are uppercase will be replaced with an uppercase version of the replacement text, regardless of the case of the replacement text. Using the previous example, occurrences of "ABC" are replaced with "XYZ".

Example

This example finds and selects the next occurrence of the word "library".

This example finds all occurrences of the word "hi" in the active document and replaces each occurrence with "hello".

Support and feedback

Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.

Читайте также: