我正在写一个 AddIn PowerPoint。我正在使用 PowerPoint 2013、C#、Visual Studio 2013。
当我打开在另一台计算机(例如 Mac 或 Linux)上创建和修改的现有演示文稿时,非标准 True Type 字体中的一些文本阻止我保存演示文稿。
所以我的问题是
1)是否可以在代码中捕获并处理此错误?
2)或者有什么方法可以检查演示文稿是否包含一些非标准字体?
谢谢
我正在写一个 AddIn PowerPoint。我正在使用 PowerPoint 2013、C#、Visual Studio 2013。
当我打开在另一台计算机(例如 Mac 或 Linux)上创建和修改的现有演示文稿时,非标准 True Type 字体中的一些文本阻止我保存演示文稿。
所以我的问题是
1)是否可以在代码中捕获并处理此错误?
2)或者有什么方法可以检查演示文稿是否包含一些非标准字体?
谢谢
没有什么能阻止您保存演示文稿。该消息告诉您,由于演示文稿使用了不可嵌入的字体,因此您无法保存嵌入了字体的演示文稿。
您可以查看演示文稿的 .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 不会告诉您它是什么字体。