Microsoft Office 2016 - Как применить макрос только для выделенного текста?

322
Tomislav Lemal

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

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

Помогите кому-нибудь?

С уважением, Том

0
Можете ли вы показать исходный код вашего макроса? Решение может зависеть от того, как вы работаете с объектом выделения в макросе. duDE 6 лет назад 0
Это код: http://textuploader.com/dq37a Спасибо! Tomislav Lemal 6 лет назад 0

1 ответ на вопрос

2
duDE

Измените .Wrap = wdFindContinue на .Wrap = wdFindStop в вашем макросе:

' Macro1 Macro ' ' Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "ä" .Replacement.Text = ChrW(257) .Forward = True .Wrap = wdFindContinue 
Работает только когда я выбираю текст. Но если текст не выделен (мигает курсор мыши), он применяется ко всему документу, начиная с точки, где находится курсор мыши (текст не выделен) Tomislav Lemal 6 лет назад 0
Разве вы не имели в виду, «я думал, что проблема будет решена, если макрос может быть применен только для выбранного текста»? duDE 6 лет назад 0
хорошо ... было бы, но немного было бы неплохо обновить :) Tomislav Lemal 6 лет назад 0