Я делаю надстройку для PowerPoint 2013. Моя цель - преобразовать все уравнения, найденные на слайдах, в обычный текст, чтобы изменить шрифт этих уравнений.
Потому что это не позволит мне изменить шрифт, пока они являются уравнениями. Мне удалось найти уравнения, перебирая текстовые диапазоны и находя название шрифта, они используют «Cambria Math». Итак, мой вопрос: как программно изменить уравнения в обычный текст, как это делает кнопка в инструментах уравнений? И кажется, по какой-то причине они удалили «макрос записи» из PowerPoint, поэтому я не мог получить помощь от этого.
Я попытался записать макрос в слове и сделал то же самое, и я получил: Selection.OMaths(1).ConvertToMathText
, но в PowerPoint это не похоже на OMath.
Dim Application As PowerPoint.Application = New PowerPoint.Application
Dim Presentation As PowerPoint.Presentation = Application.ActivePresentation
Dim Windows As PowerPoint.DocumentWindows = Application.Windows
For Each Slide As PowerPoint.Slide In Presentation.Slides
For Each Shape As PowerPoint.Shape In Slide.Shapes
For Each Paragraph As PowerPoint.TextRange In Shape.TextFrame.TextRange
For Each Line As PowerPoint.TextRange In Paragraph.Lines
If Line.Font.Name = "Cambria Math" Then
With Line.Font
.Name = "Calibri"
.Bold = True
End With
ElseIf Line.Font.Name = "Calibri" Then
With Line.Font
.Name = "Palatino"
End With
End If
Next Line
Next Paragraph
Next Shape
Next Slide
End Sub
Другой текст здесь обычно изменяется, но уравнения с шрифтом "Math Cambria" остаются без изменений.
Я также пытался получить выделение, затем что-то с OMaths, как в Word Vsto, но, похоже, OMaths не является частью PowerPoint. Этот следующий код на самом деле должен заменить его на уравнение, но я думаю, если бы он работал, мог бы найти способ обратить его вспять.
For Each Window As PowerPoint.DocumentWindow In Windows
Selection.OMaths(1).ConvertToMathText
Next Window