Статьи из блога

Замена текста в скобках на пробел

Петр спрашивает:

Помогите, как заменить в Word 2003 много различных предложений, которые находятся внутри скобок, на пробел? Например: а- (перед гласными ан-; греч. a-, an-); или Аарона симптом (Ch. D. Aaron, 1866--1951, амер. врач). Вот то, что внути скобок и надо заменить на пробел.

Такую задачу можно решить вручную с использованием диалогового окна "Найти и заменить", либо посредством макроса (код ниже).

 

Чтобы заменить текст в скобках на пробелы через диалоговое окно "Найти и заменить", откройте это окно («Ctrl+H»).

В поле Найти введите такое выражение: \(*\),

а в поле Заменить: ( ).

Затем установите флажок на опции "Подстановочные знаки" и нажмите кнопку Заменить все.

 

Кроме того, можете воспользоваться следующим макросом:

Sub delTextBetweenBrackets()
'заменяем текст в скобках на пробел в скобках
With Selection.Find
   .ClearFormatting
   .Replacement.ClearFormatting
   .Text = "\(*\)"
   .Replacement.Text = "( )"
   .Forward = True
   .Wrap = wdFindContinue
   .MatchWildcards = True
   .Execute Replace:=wdReplaceAll
End With
End Sub

twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru rutvit.ru myspace.com technorati.com digg.com friendfeed.com pikabu.ru blogger.com liveinternet.ru livejournal.ru memori.ru google.com bobrdobr.ru mister-wong.ru yahoo.com yandex.ru del.icio.us

Еще записи по вопросам использования Microsoft Word:

Комментариев: 17

  1. mikl1603
    21.03.2009 в 18:16 | #1

    Я вестаю ТВ программу

    подскажите пожалуйста как задать шаблон для замены

    6.00 на 6.00-жирным

    .......

    23.00 на 23.00-жирным и т.д

    И отцентрировать названия всех каналов сразу

    (На покупку спец программ денег НЕТ!)

  2. 22.03.2009 в 16:39 | #2

    Спецпрограмма для этого не нужна.

    С цифрами это довольно просто. В диалоге «Найти и заменить» в поле «Найти» нужно вписать такую строку: [0-9]{1;2}.[0-9]{2} и поставить галочку «Подстановочные знаки». Эта запись означает, нужно искать цифры, разделенные точкой, причем до точки может быть одна или две цифры, а после точки — только две.

    В поле заменить нужно вписать ^&, что означает «найденный текст», и кнопкой «Форматирование» установить нужное форматирование для текста замены.

    С названиями каналов будет сложнее, но если они всегда одни и те же, то можно записать макросом поиск названия каждого канала и замену его выравнивания, а потом этот макрос запускать по мере надобности.

  3. Наталья
    24.03.2010 в 12:31 | #3

    Помогите пожалуйста записать макрос в Excel, который в записи даты: 01.12.2008 заменяет точку на ) и запись года на запись двумя последними символами: 01)12)08

  4. Кирилл iferror
    24.03.2010 в 14:40 | #4

    =ПОДСТАВИТЬ(ТЕКСТ(A1;"ДД.ММ.ГГ");".";")")

  5. Наталья
    26.03.2010 в 09:57 | #5

    Кирилл! Большое спасибо. Я только учусь создавать макросы. Для меня это все в новинку. На готовых примерах проще разобраться.

  6. Алекс
    26.03.2010 в 11:22 | #6

    Помогите записать в Excel макрос, который удаляет из текста все лишние пробелы, а оставшиеся заменяет на знаки подчеркивания. Заранее благодарен.

  7. Алекс
    26.03.2010 в 13:53 | #7

    Как записать макрос, который удаляет из текста все лишние пробелы, а оставшиеся заменяет на знаки подчеркивания?

  8. Артем
    11.10.2010 в 11:37 | #8

    Посоветуйте, как изменить щрифт текста в скобках на italic во всем документе. Это нужно, чтобы графически выделить ремарки в тексте пьесы.

    Забыл уточнить, Word 2007.

  9. 11.10.2010 в 11:47 | #9

    Артем, вам нужно создать отдельный стиль с нужным форматированием, затем с помощью функции "Найти и заменить" найти текст, оформленный скобками, и применить к нему ваш новый стиль.

    А вообще говоря, вам не подойдет специализированный шаблон для сценариев? Вот ссылка: http://wordexpert.ru/wp-content/uploads/templates/scenario.zip.

  10. Артем
    11.10.2010 в 12:13 | #10

    Большое спасибо, Антон. Замечательный шаблон для сценариев. Мне потребуется какое-то время чтобы с ним разобраться. А пока я решаю свою маленькую чайниковую задачу с заменой текста в скобках, я столкнулся с неспобностью или нежеланием Word`а находить текст в скобках по выражению \(*\). В чем может быть дело? Стиль я создал, с этим все ок.

  11. 11.10.2010 в 19:46 | #11

    Артем, а в чем эта "неспособность" редактора выражается? Флажок на опции "Подстановочные знаки" у вас установлен?

  12. Александр
    19.11.2010 в 03:06 | #12

    Здесь интересная статтья по замене знаков, символов, слов, предложений.

    http://artefact.lib.ru/design/text_khozyainov.shtml#top

    "Специальные символы и подстановочные знаки в операциях поиска и замены MS Word 97/2000/XP"

  13. Олег
    29.11.2010 в 15:44 | #13

    Подскажите, пожалуйста.

    При запуске макроса :

    Sub delTextBetweenBrackets()

    'заменяем текст в скобках на пробел в скобках

    With Selection.Find

    .ClearFormatting

    .Replacement.ClearFormatting

    .Text = "\(*\)"

    .Replacement.Text = "( )"

    .Forward = True

    .Wrap = wdFindContinue

    .MatchWildcards = True

    .Execute Replace:=wdReplaceAll

    End With

    End Sub

    Выдает 450 ошибку "Wrong number of arguments or invalid property assignment"

  14. 30.11.2010 в 08:08 | #14

    Олег, какая версия редактора Word? На какой строчке останавливается скрипт (то есть, какая строчка скрипта выделяется)?

  15. Новичок
    29.03.2016 в 12:46 | #15

    Не работает на версии Ворд 2013.

    Что делать, чтобы работал?

  16. Андрей
    21.06.2017 в 10:12 | #16

    Здравствуйте!

    Подскажите, пожалуйста, всё никак не разберусь.

    В word нужно выделить (и изменить) текст в скобках после точки с запятой.

    Так вот, выделить весь текст в скобках получается: \(*\)

    найти текст в скобках после ; тоже: \;*\)

    Вопрос: как выделить текст, исключая ; и закрывающую скобку?

    Спасибо.

  17. Аноним
    07.02.2020 в 01:40 | #17

    Не пишите не правильные макросы не пудрите мозги.

Оставьте комментарий!

(обязательно)

^ Наверх