Замена символов через раз - VB
Формулировка задачи:
итак, есть код найденный тут на форуме
оно заменяет (в данном случае) цифру 1 на 2. Но как сделать так чтобы заменяло не каждую единицу, а например через раз? Я так понимаю нужно подшаманить wdReplaceAll, но неуверен что прав в этом.
какова цель:
чтобы 111111.....
было 2121212....
возможно ли это?
забыл указать - кодес этот под макрос для ворда
Решение задачи: «Замена символов через раз»
textual
Листинг программы
Sub OddTextFilter() Const s = "1" 'заменяемый символ (в нечётных позициях) Const z = "2" 'заменяющий символ Dim even As Boolean 'счётчик (датчик) чётности найденного s With Selection .HomeKey wdStory 'перевод курсора в начало документа Word .Find.Text = s 'настройка диалога поиска/замены (который по CTRL h) Do While .Find.Execute(Replace:=wdReplaceNone) 'пока находим этот символ If Not even Then 'если он нечётный - заменяем на z .TypeText z 'впечатали z вместо найденного s .Collapse Direction:=wdCollapseEnd 'сброс выделения после очередной замены End If even = Not even 'расчёт на "первый-второй" Loop End With End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д