2010 - Макрос для Word 2010 из 2003

Ответить
Аватара пользователя
seven.ap

2010 - Макрос для Word 2010 из 2003

Сообщение seven.ap »

добрый день, потихонечку пытаюсь освоить Word 2010

у меня есть проблема, есть несколько небольших макросов которые сам делал для Word. и они успешно работали в 2003 Word, сейчас пытаюсь их применить на 2010. (макросы создаю заново в Word)

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

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

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

может в 2010 есть какие то инструменты для ограничения области работы макроса?
Аватара пользователя
okshef

Re: 2010 - Макрос для Word 2010 из 2003

Сообщение okshef »

seven.ap, с текстом макроса было бы легче.
Аватара пользователя
seven.ap

Re: 2010 - Макрос для Word 2010 из 2003

Сообщение seven.ap »

okshef,

вот такой текст макроса




читать дальше »




Код:

Код: Выделить всё

Sub Макрос1()
'
' Макрос1 Макрос
'
'
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "^w"
        .Replacement.Text = "^s"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Аватара пользователя
okshef

Re: 2010 - Макрос для Word 2010 из 2003

Сообщение okshef »

seven.ap, знаете, кроме как убрав параметр .Forward=True, изменить не удается: диалоговое окно так и не появляется. Во всяком случае, замена происходит только в пределах выделенного фрагмента.
Аватара пользователя
soulthistle

Re: 2010 - Макрос для Word 2010 из 2003

Сообщение soulthistle »

seven.ap, возможно, ответ давно найден, но на всякий случай:

если изменить значение параметра .Wrap на .Wrap = wdFindStop, макрос будет выполнять замену только в пределах выделенного текста.
Ответить

Вернуться в «Microsoft Office (Word, Excel, Outlook и т.д.)»