1

Тема: Как выделить все абзацы начинающиеся с определенного символа ?

Как выделить в тексте все абзацы начинающиеся с определенного символа ?
Есть такой макрос ?

2

Re: Как выделить все абзацы начинающиеся с определенного символа ?

[quote=myreg]Как выделить в тексте все абзацы начинающиеся с определенного символа ?
Есть такой макрос ?[/quote]

Можно предложить такой макрос:

Sub ParaBold1()
    Dim Symb As String
    Dim Par As Paragraph

    For Each Par In ActiveDocument.Paragraphs
        Selection.MoveDown Unit:=wdParagraph, Count:=1
        
        Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend
        Symb = Selection.Text
        If Symb = "В" Then
            Selection.MoveDown Unit:=wdParagraph, Count:=1, Extend:=wdExtend
            Selection.Font.Bold = True
        End If
     Next Par
End Sub

В строку:

If Symb = "В" Then

вместо символа В подставьте тот символ, который Вам нужен.

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

3

Re: Как выделить все абзацы начинающиеся с определенного символа ?

Огромное спасибо

4

Re: Как выделить все абзацы начинающиеся с определенного символа ?

Так будет покорректнее:

Sub ParaBold2()
    Dim Symb As String
    Dim Par As Paragraph

    For Each Par In ActiveDocument.Paragraphs
        Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend
        Symb = Selection.Text
        If Symb = "В" Then
            Selection.MoveDown Unit:=wdParagraph, Count:=1, Extend:=wdExtend
            Selection.Font.Bold = True
        End If
        Selection.MoveDown Unit:=wdParagraph, Count:=1

     Next Par
End Sub

Перед запуском макроса нужно установить курсор перед отрывком, в котором нужно выделять параграфы.

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

5

Re: Как выделить все абзацы начинающиеся с определенного символа ?

Пробовал использовать второй вариант - не работает:
Compile error:
Expected End Sub

6

Re: Как выделить все абзацы начинающиеся с определенного символа ?

myreg пишет:

Пробовал использовать второй вариант - не работает:
Compile error:
Expected End Sub

А первый вариант работает?

Ошибка "Expected End Sub", как мне кажется, говорит о том, что отсутствует оператор:

End Sub

парный для оператора:

Sub... 

Скорее всего, Вы его не скопировали, скопировали не туда или ранее у Вас не хватало этого оператора.
Проверьте, пожалуйста, в рабочем модуле макросов следующие пары операторов:

Sub...
...
End Sub

За каждым оператором:

Sub... 

должен следовать свой оператор:

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

7

Re: Как выделить все абзацы начинающиеся с определенного символа ?

Второй скопировал полностью. См. скрин ошибки.
Сейчас испытал и 1-й - таже самая ошибка см. скрин.

Post's attachments

Макрос.jpg 367.28 Кб, файл не был скачан. 

You don't have the permssions to download the attachments of this post.

8

Re: Как выделить все абзацы начинающиеся с определенного символа ?

На скрине видно, что два раза подряд идет оператор

Sub...

Один из них нужно удалить.

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

9

Re: Как выделить все абзацы начинающиеся с определенного символа ?

Удалил, но .. оба макроса после запуска перелистывают документ, но строки остаются не выделенными. см. видео
внешняя ссылка

10

Re: Как выделить все абзацы начинающиеся с определенного символа ?

If Symb = "В" Then

Насколько я помню, сюда (вместо В) надо ввести символ, который Вам нужен.
Если возникнут проблемы, выложите, пожалуйста, часть Вашего файла и укажите символ, по которому нужно выделять абзацы.

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

11

Re: Как выделить все абзацы начинающиеся с определенного символа ?

См. файл - нужно выделить строки начинающиеся с символа *
Макросы и первый и второй делают эти строчки жирным шрифтом

Post's attachments

obshchestvoznanie.docx 55.8 Кб, файл не был скачан. 

You don't have the permssions to download the attachments of this post.

12

Re: Как выделить все абзацы начинающиеся с определенного символа ?

myreg пишет:

Макросы и первый и второй делают эти строчки жирным шрифтом

Да, выделяют жирным шрифтом.
Можно сделать с этими абзацами и что-то другое.
Что именно Вы хотели бы сделать с выделенным текстом?

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

13

Re: Как выделить все абзацы начинающиеся с определенного символа ?

Применить другой макрос и отформатировать по другому. Буду выделять этот текст по формату "жирный шрифт" и т.д. 
ОК. Большое спасибо.

14

Re: Как выделить все абзацы начинающиеся с определенного символа ?

К сожалению, не нашел способ объединения нескольких диапазонов в Ворде.
Поэтому, если больше никто ничего не предложит, советую вставить Ваш второй макрос в указанный выше.

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

15

Re: Как выделить все абзацы начинающиеся с определенного символа ?

Тоже задавался вопросом объединения областей документа, но, видимо, такая функция не доступно. Есть вариант - запоминать номера параграфов в массив или текст параграфов, а затем воспроизводить действия для параграфов из массива.  neutral

16

Re: Как выделить все абзацы начинающиеся с определенного символа ?

Fck_This пишет:

Тоже задавался вопросом объединения областей документа, но, видимо, такая функция не доступно. Есть вариант - запоминать номера параграфов в массив или текст параграфов, а затем воспроизводить действия для параграфов из массива.  neutral

Мне кажется, это будет сложновато и для выделения нескольких параграфов с разрывами (не подряд) вряд ли подойдет.

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

17

Re: Как выделить все абзацы начинающиеся с определенного символа ?

Alex_Gur пишет:
Fck_This пишет:

Тоже задавался вопросом объединения областей документа, но, видимо, такая функция не доступно. Есть вариант - запоминать номера параграфов в массив или текст параграфов, а затем воспроизводить действия для параграфов из массива.  neutral

Мне кажется, это будет сложновато и для выделения нескольких параграфов с разрывами (не подряд) вряд ли подойдет.

Не, не сложно - Делаем поиск по маске

Selection.Find.execute

Потом

Do while execute

- Помещаем найденный текст (или номера параграфов) в динамический массив

Loop


Опять же через цикл выполняем необходимые действия. Но именно выделить! одновременно несколько абзацев с разрывами - такого я не смог сделать, хотя задумка такая была.

18

Re: Как выделить все абзацы начинающиеся с определенного символа ?

Создал специальные темы на форумах: http://wordexpert.ru/forum/viewtopic.php?id=3042 и внешняя ссылка.
Все говорят, что выделить диапазоны с промежутками в Word нельзя.
Так что - приходится пользоваться теми возможностями, которые есть.

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