1c word заменить текст
Выполняет указанную операцию поиска. Возвращает 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:
Перейдите на главная >Заменить или нажмите CTRL+H.
В поле Найти введите искомое слово или фразу.
В поле Заменить введите новый текст.
Нажимайте кнопку Найти далее, пока не перейдете к слову, которое нужно изменить.
Чтобы найти только вхождения в верхнем или нижнем регистре, нажмите кнопку Больше и установите флажок Учитывать регистр.
Дополнительные параметры см. в статье Поиск и замена текста.
Поиск и замена обычного текста
В правом верхнем углу документа в поле поиска введите нужное слово или фразу, и Word выделит все в экземпляры слова или фразы во всем документе.
Чтобы заменить найденный текст:
Щелкните значок увеличительного стекла и нажмите кнопку Заменить.
Введите замещающий текст в поле Заменить на.
Нажмите Заменить все или Заменить.
Вы также можете открыть область Найти и заменить, нажав клавиши CONTROL+H.
При замене текста рекомендуется нажимать Заменить, а не Заменить все. Таким образом можно проверить каждый элемент перед заменой.
С помощью меню Формат вы можете найти текст с определенным форматированием, таким как полужирный шрифт или выделение.
Выберите Вид > Область навигации.
В области навигации щелкните значок увеличительного стекла.
Щелкните стрелку в нижней части диалогового окна Найти и заменить, чтобы отобразить все параметры.
В меню Формат выберите нужный параметр.
Если откроется второе диалоговое окно, выберите нужные параметры и нажмите кнопку ОК.
В диалоговом окне Поиск и замена нажмите кнопку Найти далее или Найти все.
Поиск текста с определенным форматированием и замена форматированияС помощью меню Формат вы можете найти и заменить текст с определенным форматированием, таким как полужирный шрифт или выделение.
Выберите Вид > Область навигации.
В области навигации щелкните значок увеличительного стекла.
В верхней части диалогового окна нажмите кнопку Заменить.
Щелкните стрелку в нижней части диалогового окна Найти и заменить, чтобы отобразить все параметры.
В поле Найти введите текст, который хотите найти.
В меню Формат выберите нужный вариант форматирования.
Если откроется второе диалоговое окно, выберите нужные параметры и нажмите кнопку ОК.
Щелкните в поле Заменить на.
В меню Формат выберите замещающее форматирование. Если появится второе диалоговое окно, выберите нужные форматы и нажмите кнопку ОК.
Нажмите Заменить, Заменить все или Найти далее.
Поиск знаков абзацев, разрывов страниц и других специальных символовВыберите Вид > Область навигации.
В области навигации щелкните значок увеличительного стекла.
Щелкните стрелку в нижней части диалогового окна Найти и заменить, чтобы отобразить все параметры.
В меню Специальный выберите нужный специальный знак.
Выберите Вид > Область навигации.
В области навигации щелкните значок увеличительного стекла.
Щелкните стрелку в нижней части диалогового окна Найти и заменить, чтобы отобразить все параметры.
В верхней части диалогового окна Найти и заменить выберите Заменить, а затем выберите в поле Найти, но не введите ничего. После этого при выборе специального знака Word автоматически поместит код знака в соответствующее поле.
В меню Специальный выберите нужный специальный знак.
Щелкните в поле Заменить на.
В меню Специальный выберите специальный знак, который нужно использовать для замены.
Использование подстановочных знаков для поиска и замены текстаВыберите Вид > Область навигации.
В области навигации щелкните значок увеличительного стекла.
Установите флажок Подстановочные знаки.
Если флажок Подстановочные знаки недоступен, нажмите .
В меню Специальный выберите подстановочный знак и введите любой дополнительный текст в поле Найти.
Чтобы остановить поиск, нажмите клавиши +ТОЧКА.
Вы также можете ввести подстановочный знак непосредственно в поле Найти поле, вместо выбора элемента из всплывающего меню Специальные.
Чтобы найти символ, который определен как подстановочный знак, введите косую черту (\) перед искомым символом. Например, введите \?, чтобы найти вопросительный знак.
Для группировки подстановочных знаков и текста, а также для указания порядка обработки знаков следует использовать круглые скобки. Например, чтобы найти слова "призвание" и "приключение", введите <(при)*(ние)>.
Для поиска выражения и последующего изменения порядка его компонентов используйте подстановочный знак \n. Например, введите (Селезнев) (Глеб) в поле Найти и \2 \1 в поле Заменить на, чтобы найти словосочетание "Селезнев Глеб" и заменить его на "Глеб Селезнев".
Чтобы заменить найденный текст:
Откройте вкладку Заменить и выберите поле Заменить на.
Во всплывающем меню Специальный выберите подстановочный знак и введите любой дополнительный текст в поле Заменить на.
Нажмите Заменить все, Заменить или Найти далее.
Совет: При замене текста рекомендуется нажимать Заменить, а не Заменить все. Это позволить проверить каждый из элементов и убедиться в правильности замены.
Поиск можно уточнить с помощью любого из следующих подстановочных знаков.
Чтобы найти
Используйте
Выражение к?т позволяет найти слова "кот" и "кит".
Любая строка символов
Выражение п?л позволяет найти слова "пол" и "пошел".
Один из указанных символов
Выражение кр[еа]н позволяет найти слова "крен" и "кран".
Любой символ из указанного диапазона
Выражение [б-м]ой позволяет найти слова "бой", "вой" и "мой".
Диапазон должен быть в алфавитном порядке.
Любой символ, кроме символов, указанных в скобках
Выражение по[!р]ол позволяет найти слова "посол" и "помол", но не "порол".
Любой символ, кроме символов, которые находятся в диапазоне, указанном в скобках
Выражение к[!е-р]а позволяет найти слова "кода" и "коса", но не слова "кожа" и "кора".
Диапазон должен быть в алфавитном порядке.
Ровно n появлений символа или выражения подряд в тексте
Выражение жареный позволяет найти слово "жаренный", но не слово "жареный".
Как минимум n появлений символа или выражения подряд в тексте
Выражение жареный позволяет найти слова "жареный" и "жаренный".
Диапазон появлений символа или выражения подряд в тексте
Выражение 10 позволяет найти числа "10," "100," и "1000".
Любое, однократное или повторяющееся, появление символа или выражения в тексте
Выражение больше@ позволяет найти слова "больше" и "большее".
Выражение <(сол) позволяет найти слова "солнце" и "солист", но не слово "фасоль".
Выражение (ель)> позволяет найти слова "ель" и "шрапнель", но не слово "ельник".
Word в Интернете позволяет искать и заменять обычный текст. Вы можете использовать параметры "Учитывать регистр" или "Только слово целиком". Чтобы использовать другие параметры, откройте документ в классическом приложении Word.
Vofka --> VofkaДанная статья - попытка собрать сведения по работе (на начальном уровне) с MS Word в одном месте. Полно похожего материала, и при наличии должной усидчивости это все можно найти. Хотелось собрать основные моменты в одном месте.
- заполнение шаблона Word данными из 1С;
- заполнение колонтитулов Word данными из 1С;
- заполнение таблицы в Word данными из 1С;
В большинстве случаев перед нами ставится следующая задача:
Нужно открыть документ Word, заполненный данными из 1С.
Для этого нам нужно подготовить шаблон документа Word. Не путайте это с Word Template, специальные файлы Word, которые содержат настройки документов для многократного использования. Нам нужен обычный вордовский документ с расширениеми *.docx или *.doc. А далее поместить этот документ в макет с двоичными данными.
Читатель может справедливо заметить, что используется модальный вызов, и погрозить автору пальцем. И будет прав.
Далее я обычно создаю структуру полей, которые будут заполняться в шаблоне. Такой подход позволяет унифицировать процедуру заполнения шаблона, а также упростить последующее его изменение.
Углубимся немножко в принципы работы Word.
Каждый документ Word разделен на разделы, которые состоят из страниц.
Для каждого раздела есть возможность создавать свою нумерацию элементов, уникальные колонтитулы и настройки параметров страницы. Так, например, чтобы повернуть одну из страниц (вывести на печать как альбомную), нужно создать под неё отдельный раздел.
- Верхний колонтитул
- Основной текст
- Нижний колонтитул
Заполнение пользовательских параметров
При обращении к этим коллекциям мы можем выполнять в них поиск и получать встроенные объекты, например, таблицы.
Теперь мы более-менее поняли, как обращаться к областям Word, можем в них пошуровать и выполнить замену наших параметров:
Рассмотри подробнее метод Execute. Его параметры идентичны диалоговуму окну при замене/поиске непоседресвенно из MS Word:
2016_05_22_12_28_10.jpg ( 36.38 килобайт ) Кол-во скачиваний: 7
- Искомый текст - Строка - Текст для замены. Текст может содержать специальные параметры. Например, ^p - абзац, ^t - табуляция
- Чувствительность к регистру - Булево - Если истина, то поиск будет осуществляться с учетом регистра
- Слова целиком - Булево - Если истина, то ищутся слова целиком. Вхождение слов не учитываются. Например, при поиске слова дом будет пропущено слово домашний
- Использовать подстановочные знаки - Булево - Если истина, то используются встроенные регулярные выражения.
- Искать похожие - Булево - Если истина, то результат поиска будет содержать похожие слова
- Искать все формы - Булево - Если истина, то результат поиска будет содержать различные формы слов.
- Поиск сначала - Булево - Если истина, то будет осуществляться с начала до конца документа
- Охват - WdFindWrap - Опредяляет направление поиска
- Формат - Format - Формат искомого текста
- Строка замены - Строка - Строка, на которую будет заменен исходный текст
- Количество замен - WdReplace - Определяет сколько раз выполнять замену
- и т.д.
Данный метод не позволяет получить "Строка замены" как выделенную область, но он работает где-то в 10 раз медленнее. Для получения выделенной области можно воспользоваться немножко откорректированной типовой функцией:
Уже получив выделенную область можно отредактировать стиль текста, шрифт и т.д.
Также есть второй подход, использующий такой объект Word, как поля. Мне он не очень нравится, т.к. в больших документах, порядка 100 страниц, эти поля начинают глючить (исчезать, не подставлять нужные значения) и прочая ерунда. Ну по крайней мере в Word 2007. Но я его все равно приведу:
При подготовке шаблона в тело документа необходимо навставлять полей с типом DOCVARIABLE (можно вставлять горячими клавишими Ctrl+F9).
Доступ к таким полям можно получить следующим нехитрым образом:
Заполнение таблиц по шаблону
Итак, мы заполнили параметры в основном тексте документа, заменили параметры в колонтитулах, но у нас еще есть одна неприятность - нужно заполнить таблицу.
Подход, описанный ниже, годится только для таблиц с заранее известным форматом. Т.е. мы можем как угодно отформатировать таблицу и её строки изначально. Но потом изменять довольно-таки проблематично.
К таблицам можно получить доступ через области документа.
Далее, получив таблицу, мы работаем с ней по привычной схеме - строки, столбцы.
Для задания форматирования легче в шаблоне создать таблицу с пустой первой строкой, которую мы в последующем удалим.
Вот, в принципе, и все. Основные вопросы, возникающие при работе с Word, я постарался осветить. Надеюсь, данный обзор поможет вам в работе =)
Читайте также: