Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Office (Word, Excel, Outlook и т.д.) (http://forum.oszone.net/forumdisplay.php?f=115)
-   -   Макрос для Word 2010 из 2003 (http://forum.oszone.net/showthread.php?t=256887)

seven.ap 22-03-2013 19:48 2116511

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

okshef 22-03-2013 20:17 2116518

seven.ap, с текстом макроса было бы легче.

seven.ap 22-03-2013 21:00 2116537

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 23-03-2013 14:11 2116870

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

soulthistle 04-10-2013 12:57 2228449

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


Время: 15:38.

Время: 15:38.
© OSzone.net 2001-