Не удается найти текст шрифтом Calibri в Word - PullRequest
0 голосов
/ 03 июля 2018

Я работаю над макросом, который ищет текст в определенных шрифтах.

Однако я не могу найти текст, написанный шрифтом Calibri; поиск других шрифтов работает нормально.

Я пробовал его в диалоговом окне Найти и заменить также с теми же результатами.

Почему это случилось?

1 Ответ

0 голосов
/ 03 июля 2018

В Office 2007 введено понятие «темы». В то время документы автоматически связывались с «темой», а шрифт темы становился шрифтом по умолчанию. Word распознает два шрифта по умолчанию, один для основного текста и один для заголовков. Они перечислены в разных местах, таких как список шрифтов, как +body и +heading. Word ищет шрифт, присвоенный +Body или +Heading, но этот формат шрифта не применяется непосредственно к тексту, даже если это то, что видно, например, в списке шрифтов на ленте.

Чтобы «найти» текст, отформатированный по умолчанию в теле, вам нужно выполнить поиск:

Range.Find.Font.Name = "+Body"

Это стандарт Word начиная с Word 2007, но его, конечно, можно изменить, добавив к документу тему с другим шрифтом. Чтобы определить шрифт по умолчанию, используйте:

Document.Documenttheme.ThemeFontScheme.MinorFont(msoThemeLatin)
...