Fonts 在Word中以Calibri字体搜索文本失败

Fonts 在Word中以Calibri字体搜索文本失败,fonts,ms-word,find,Fonts,Ms Word,Find,我正在开发一个宏,可以搜索特定字体的文本 但是,我无法找到Calibri字体的文本;搜索其他字体效果良好 我在“查找和替换”对话框中也尝试过它,结果也一样 为什么会发生这种情况?Office2007引入了“主题”的概念。当时,文档自动链接到“主题”,主题字体成为默认字体。Word识别两种默认字体,一种用于正文,另一种用于标题。它们列在不同的位置,例如字体列表,如+正文和+标题。Word会查找指定给+Body或+Heading的字体,但该字体格式不会直接应用于文本,即使在功能区中的字体列表中可以看

我正在开发一个宏,可以搜索特定字体的文本

但是,我无法找到Calibri字体的文本;搜索其他字体效果良好

我在“查找和替换”对话框中也尝试过它,结果也一样


为什么会发生这种情况?

Office2007引入了“主题”的概念。当时,文档自动链接到“主题”,主题字体成为默认字体。Word识别两种默认字体,一种用于正文,另一种用于标题。它们列在不同的位置,例如字体列表,如
+正文
+标题
。Word会查找指定给
+Body
+Heading
的字体,但该字体格式不会直接应用于文本,即使在功能区中的字体列表中可以看到该字体格式

要“查找”使用正文默认格式的文本,您需要搜索:

Range.Find.Font.Name = "+Body"
这是自Word2007以来的Word标准,但当然可以通过在文档中附加具有不同字体的主题来更改。要确定默认字体是什么,请使用:

Document.Documenttheme.ThemeFontScheme.MinorFont(msoThemeLatin)

请提供失败的代码,以及重现其运行环境的步骤。另外:本文件是亚洲语言还是其他非拉丁语言?哪个版本的单词?非常感谢辛迪。你的代码Range.Find.Font.Name=“+Body”适合我。我尝试了Range.Find.Font.Name=“(Body)”但没有成功