在PowerPoint中获取普通字体样式

时间:2010-10-24 04:44:04

标签: vba vsto powerpoint powerpoint-vba

我正在尝试检查其中存在的字体的演示文稿。这可以使用ActivePresentation.Fonts完成。我还想检查字体是否正常,粗体和/或斜体。粗体和斜体很容易,但普通不是。例如,假设我有两个文本框,其中一个在Arial Italic中有“Hello World”,另一个在Arial Bold中有相同的文本框。以下代码告诉我我有这两个:

Sub CheckFonts()
    Dim p As Presentation: Set p = ActivePresentation
    Dim f As Font: Set f = p.Fonts(1)
    Dim italic As Boolean: italic = f.italic
    Dim bold As Boolean: bold = f.bold
    Debug.Print "Bold in use: " & bold; vbTab & "Italic in use: " & italic
End Sub

现在让我们假设我有一个没有Italic的文本框,但它只是普通的Arial字体。没有循环遍历所有形状的每个字体对象,无论如何我可以告诉它Presentation.Fonts是普通字体(即没有应用斜体/粗体的格式)?

提前谢谢。

1 个答案:

答案 0 :(得分:2)

抱歉这是不是答案,但太搞笑了,不能传递。在我对你的字体问题的小研究中,我遇到了MSDN reference page for the Fonts object

显然,微软有人为Genigraphics工作,或者有人从其他产品中复制文档......

alt text

这里摘录保存为永恒:

  

Geni向导使用字体集合来确定是否有   指定的字体   在以下情况下不支持演示文稿   Genigraphics对幻灯片进行成像。如果你   只想设置字符格式   对于特定的项目符号或文本范围,   使用Font属性返回   项目符号或文本的字体对象   范围。

     

Genigraphics向导为用户提供支持   传送他们的演讲   直接到Genigraphics   转换成电影幻灯片,开销   透明胶片或其他专业的   媒体格式。欲获得更多信息   关于Genigraphics的服务   提供,访问Genigraphics网站   现场。这项服务可能不是   可在美国境外使用。

文本在MSDN上做了什么? : - )