0

我正在写一个 AddIn PowerPoint。我正在使用 PowerPoint 2013、C#、Visual Studio 2013。

当我打开在另一台计算机(例如 Mac 或 Linux)上创建和修改的现有演示文稿时,非标准 True Type 字体中的一些文本阻止我保存演示文稿。

错误

所以我的问题是

1)是否可以在代码中捕获并处理此错误?

2)或者有什么方法可以检查演示文稿是否包含一些非标准字体?

谢谢

4

1 回答 1

0

没有什么能阻止您保存演示文稿。该消息告诉您,由于演示文稿使用了不可嵌入的字体,因此您无法保存嵌入了字体的演示文稿。

您可以查看演示文稿的 .Fonts 集合并确定每种字体是否可嵌入:

Sub FontList()
    Dim x As Long
    With ActivePresentation.Fonts
        For x = 1 To .Count
            Debug.Print .Item(x).Name & vbTab & .Item(x).Embeddable
        Next
    End With
End Sub

如果您发现不可嵌入的字体,您可以选择不使用嵌入字体保存演示文稿(SaveAs 的第三个参数设置为 False 而不是 True)。

或者可能更实际,使用 .Fonts.Replace 替换不同的字体(可嵌入的字体)。我希望您必须为此创建自己的替换表;如果您的系统上不存在该字体,Windows 将替换另一种字体,但 PPT 不会告诉您它是什么字体。

于 2015-04-29T15:17:24.400 回答