1

Тема: Перебор абзацев с помощью макроса

Коллеги, прошу Вас посоветовать.
Был сформирована макрос-процедура, обрабатывающая определенным образом текущий абзац в файле Word.
Как изменить макрос так, чтобы он обрабатывала все абзацы до конца файла?

Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.

2

Re: Перебор абзацев с помощью макроса

Dim prg as Paragraph

     For each prg in ActiveDocument.Paragraphs
             With prg
             .............. ' Команды обработки либо процедура использующая в качестве аргумента Paragraph
             End With
     Next prg

3

Re: Перебор абзацев с помощью макроса

Пришлите макрос.......

4

Re: Перебор абзацев с помощью макроса

aap77 пишет:

Пришлите макрос.......

Это к вопросу http://wordexpert.ru/forum/viewtopic.php?id=938

Там макрос такой:

Sub Макрос1()
'
' Макрос1 - Перемещение последнего слова на первое место
' в текущей строке
'
Dim StringA, wordLast, wordsFirst As String
Dim xx1, xx2 As Integer
Selection.HomeKey Unit:=wdLine
Selection.Paragraphs(1).Range.Select
xx1 = 1
xx2 = 1
StringA = Selection.Paragraphs(1)
Do While xx1 > 0 And xx2 > 0
    xx1 = InStr(xx1, Trim(StringA), " ")
    xx2 = InStr(xx1 + 1, StringA, " ")
    If xx2 > 0 Then
        xx1 = xx2
    End If
Loop
wordLast = Mid(Trim(StringA), xx1 + 1, Len(StringA) - xx1 - 1)
wordsFirst = Mid(StringA, 1, xx1)
Selection.EndKey Unit:=wdLine
Selection.TypeParagraph
Selection.TypeText (Trim(wordLast) & " " & Trim(wordsFirst))
End Sub

Он позволяет переместить последнее слово в абзаце на первое место.

Проблема состоит в том, чтобы сделать это для всех строк файла.

Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.

5

Re: Перебор абзацев с помощью макроса

Макрос не доработан, нет учета регистра 1 знака 1 слова и 1 знака последнего слова, также есть другие условия.