Разобрать документ Word по шрифту? - PullRequest
1 голос
/ 28 июня 2011

В настоящее время я пытаюсь написать скрипт, который будет проходить через текстовый документ и выводить в текстовый файл все строки, которые написаны определенным шрифтом.

Так что, если бы у меня был документ:

"Это первая строка документа. Это вторая строка документа. Это третья строка документа. "

И, скажем, нормальные строки - Times New Roman, жирный - Arial, курсив - Sans Serif.

Тогда, в идеале, я мог бы проанализировать документ для всех строк в Arial, и в выводе текстового файла должна быть строка:

Это вторая строка документа.

Есть идеи, как это сделать из сценария?Я думал о том, чтобы сначала преобразовать документ в xml, но я не думаю, что это возможно в сценарии.

1 Ответ

1 голос
/ 29 июня 2011

Вы захотите использовать объект FIND и свойство FONT объекта FIND.

Итак, как-то так:

Public Sub FindTest()
    Dim r As Range
    Set r = ActiveDocument.Content
    With r.Find
        .ClearFormatting
        .Style = "SomeStyleName"
        Do While .Execute(Forward:=True, Format:=True) = True
            '---- we found a range
            Dim duperange As Range
            Set duperange = r.Duplicate
            Debug.Print r.Text
        Loop
    End With
End Sub

Обратите внимание, что там, где я указал стиль, вы можете указать форматирование шрифта через объект FIND.FONT или другие различные параметры форматирования. Просто найдите объект FIND, чтобы увидеть, что доступно.

...