1

Тема: Как заменить несколько слов за один раз

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

2

Re: Как заменить несколько слов за один раз

Можно, макросом. Но в этом есть смысл, если вам нужно будет неоднократно выполнять эти переименования.
Если переименования нужно делать только один раз в одном файле, то лучше составьте таблицу слов для поиска и замены (чтобы ничего не забыть) и выполните замену копированием слов из этой таблицы.

Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.

3

Re: Как заменить несколько слов за один раз

Так и есть, файлов много. Расскажите пожалуйста поподробней как сделать.

4

Re: Как заменить несколько слов за один раз

Выполните автоматическую Запись макроса для замены одного буквосочетания на другое (не забудьте при этом поставить флажок Учитывать регистр; нажмите кнопку Заменить все). У вас получится примерно так:

Sub Replacement1()
'
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "ссср"
        ' Что меняем
        .Replacement.Text = "СССР"
        ' На что заменяем
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = True
        ' Флажок Учитывать регистр
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    ' Заменить все
End Sub 

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

Далее вы можете скопировать внутреннюю часть макроса и заменить в копии заменяемые буквосочетания на другие. Например, для двух упомянутых вами буквосочетаний макрос будет таким:

Sub Replacement2()
'
    ' Для замены "ссср"
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "ссср"
        ' Что меняем
        .Replacement.Text = "СССР"
        ' На что заменяем
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = True
        ' Флажок Учитывать регистр
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    ' Заменить все

    ' Для замены "снг"
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "снг"
        ' Что меняем
        .Replacement.Text = "СНГ"
        ' На что заменяем
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = True
        ' Флажок Учитывать регистр
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    ' Заменить все
End Sub 

Если будут вопросы - пишите.

Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.

5

Re: Как заменить несколько слов за один раз

Подробнее о том, как работать с макросами в Word 2007 и 2010, см., например, здесь:
http://wordexpert.ru/forum/viewtopic.php?id=1342

Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.

6

Re: Как заменить несколько слов за один раз

Спасибо, все получилось!