Выбор текста шрифтом в Word - PullRequest
5 голосов
/ 02 января 2012

Есть ли способ извлечь из слова все строки, использующие определенный шрифт (размер, жирный шрифт, имя шрифта и т. Д.), Через C #?

Кроме того, есть ли способ узнать, какой шрифт для некоторого текста в документе?

Я догадываюсь, что в пространстве имен Microsoft.Office.Interop.Word есть функции, которые могут это сделать, но я не могу их найти.

Редактировать: Я использую слово 2010.

1 Ответ

2 голосов
/ 02 января 2012

Вы можете просмотреть документ , используя Find объект из Word Interop.Вы можете установить свойство Find.Font.Name для выбора или диапазона из вашего документа.Обратите внимание, что интерфейс Font имеет несколько свойств Name* для различных кодировок.

EDIT

Вот эквивалентный код VBA:

Dim selectionRange As Range
Set selectionRange = Application.ActiveDocument.Range

With selectionRange.Find
    .ClearFormatting
    .Format = True
    .Font.NameBi = "Narkisim" //for doc without bidirectional script, use Name
    Do While .Execute
        MsgBox selectionRange.Text
    Loop
End With

Объектная модель из Word Interop такая же, см. Ссылку выше.

Не спрашивайте меня сейчас о коде C # ... это ТАК, мы не делаем серебряные пластины.И если вы когда-нибудь собираетесь серьезно работать с API Office Interop, вам понадобится прочитать код VBA.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...