Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


cher, примерно так:
Код: Выделить весь код
Option Explicit

Sub ReformatDocument()
    Const strQuestionTag = "ВОПРОС - "
    Const strAnswerTag = "ОТВЕТ - "
    
    Dim objParagraph As Paragraph
    Dim objDocument As Document
    Dim objRange As Range
    
    
    Set objDocument = Application.Documents.Add()
    Set objRange = objDocument.Range
    
    For Each objParagraph In ThisDocument.Content.Paragraphs
        If Trim(objParagraph.Range.Text) = vbCr Then
            ' Nothing to do
        ElseIf Left(objParagraph.Range.Text, Len(strQuestionTag)) = strQuestionTag Then
            With objRange
                .InsertAfter Mid(objParagraph.Range.Text, Len(strQuestionTag) + 1)
                .Bold = True
                .Collapse wdCollapseEnd
            End With
        ElseIf Left(objParagraph.Range.Text, Len(strAnswerTag)) = strAnswerTag Then
            With objRange
                .InsertAfter Mid(objParagraph.Range.Text, Len(strAnswerTag) + 1)
                .Bold = False
                .Collapse wdCollapseEnd
            End With
        End If
    Next
End Sub
Вставьте данный код в модуль «ThisDocument» документа и выполните его. Получите новый документ потребного вида.
Это сообщение посчитали полезным следующие участники:

Отправлено: 01:33, 16-05-2012 | #2