PDA

Показать полную графическую версию : Макрос для Word 2010 из 2003


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

okshef
22-03-2013, 20:17
seven.ap, с текстом макроса было бы легче.

seven.ap
22-03-2013, 21:00
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
seven.ap, знаете, кроме как убрав параметр .Forward=True, изменить не удается: диалоговое окно так и не появляется. Во всяком случае, замена происходит только в пределах выделенного фрагмента.

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




© OSzone.net 2001-2012