1

Тема: Форматирование абзаца по его первым символам

Доброго времени суток!
Подскажите, пожалуйста, как автоматизировать процес форматирования абзаца, по его первым символам, т.е.: если абзац начинается с тире и пробела (речь), то игнорировать, если сразу текст - добавить отступ первой строки абзаца (1,25 см). В аттаче приведён пример текста как выглядит до и должен выглядеть после форматирования.

Post's attachments

text.doc 37 Кб, 3 скачиваний с 2010-06-14 

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

2

Re: Форматирование абзаца по его первым символам

Вот так, наверное.

Sub ConditionalFormat()

  Dim opar As Paragraph
  Set opar = ActiveDocument.Paragraphs.First
  
  Do Until opar Is Nothing
    If Left(opar.Range.Text, 2) = Chr(151) & " " Then
      opar.FirstLineIndent = 0
    Else
      opar.FirstLineIndent = CentimetersToPoints(1.25)
    End If
    Set opar = opar.Next
    DoEvents
  Loop
  
End Sub

В диалогах после тире должен идти неразрывный пробел.

Лучше день потерять — потом за пять минут долететь!

3

Re: Форматирование абзаца по его первым символам

Спасибо огромное, работает в лучшем виде. Есть ещё вопрос не в тему: что можно почитать по VBA, что бы описывались не сами основы программирования, а именно работа с элементами текста (слово, предложение, абзац, страница и т.д.)

4

Re: Форматирование абзаца по его первым символам

Удивитесь, но почти всё есть в справке. По крайней мере, на первое время. Есть ещё рекомендуемый список литературы, но я могу порекомендовать только книгу Марка Розенберга "Microsoft Word. Комфортная работа с помощью макросов", которую стоит приобрести и держать у себя под рукой

Лучше день потерять — потом за пять минут долететь!

5

Re: Форматирование абзаца по его первым символам

Благодарю. Литерабуры действительно много, но вот стоящей, к сожалению, маловать sad Правда, если не ошибаюсь, у книги тираж всего 2000 экз. sad