Word application selection find execute метод
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Выполняет указанную операцию поиска.
Параметры
Необязательный объект. Искомый текст. Используйте пустую строку ("") для поиска только форматирования. Вы можете выполнить поиск специальных символов, указав соответствующие коды знаков. Например, "^ 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.
Читайте также: