Вопрос по VBA в Word

Статус
Закрыто для дальнейших ответов.

aleksasha

Топикстартер
15 лет на форуме
Сообщения
316
Реакции
5
Сразу сорри за оффтоп.
В Ворде пишется макрос кот. будет вставлять теги в начале и в конце абзаца, в котором встречается определенная последовательность символов (например, "www"). Код, который ставит закрывающий тэг:
Код:
With ActiveDocument.Content.Find
     .Text = "www"
     Do While .Execute() = True
       With .Parent
         .EndOf Unit:=wdParagraph, Extend:=wdMove
         .InsertAfter "<\b>"
         .Move Unit:=wdParagraph, Count:=1
        End With
     Loop
End With

Проблема в том, что концом Параграфа VBA считает символ перевода строки, а не последний символ абзаца, поэтому тэг ставится уже в следующем абзаце. Как это побороть?
 

aleksasha

Топикстартер
15 лет на форуме
Сообщения
316
Реакции
5
Ответ: Вопрос по VBA в Word

Сам себе и отвечу... :) Пришлось покопаться в дебрях VBA. Код, в котором проставляются и начальные и конечные теги...

Код:
    With ActiveDocument.Content.Find
     .ClearFormatting
     .MatchWildcards = False
     .Text = "www"
     Do While .Execute() = True
         With .Parent
         .StartOf Unit:=wdParagraph, Extend:=wdMove
         .InsertAfter "<b>"
         .MoveEndUntil Cset:=vbCr, Count:=wdForward
         .InsertAfter "<\b>"
         .Move Unit:=wdParagraph, Count:=1
         End With
     Loop
    End With
 

buden

Участник
Сообщения
17
Реакции
0
Ответ: Вопрос по VBA в Word

Record macro
help
что-то вроде этого см. ниже (record ctrl+c->v, без чистки ;))
авось пригодится
module1.bas.txt
 

Вложения

  • Module1.bas.txt
    10.3 КБ · Просм.: 1 465
Статус
Закрыто для дальнейших ответов.