幻灯片 VBA 上标编号



我一直在尝试创建一个宏,将幻灯片上的文本框中的所有数字转换为上标,但我发现Powerpoint VBA非常奇怪。

我已经尝试了这行简短的代码作为初学者,但这似乎没有正确选择。

ActivePresentation.Slides(1).Select.Font.superscript = True

任何帮助将不胜感激。

谢谢!

首先,除非你绝对必须,否则永远不要选择任何东西(很少见,非常罕见(。 接下来,您已经选择一个幻灯片对象。幻灯片没有任何字体属性,因此您无法设置它们。

下面的示例将当前所选形状中的所有字符设置为上标。您可能希望对其进行优化以循环访问幻灯片中的所有形状,并跳过任何不是数字的字符。 [编辑为超级字符而不是下标字符和仅数字字符]

Sub SuperscriptMe()
Dim oSh As Shape
Dim x As Long
Set oSh = ActiveWindow.Selection.ShapeRange(1)
With oSh.TextFrame.TextRange
For x = 1 To .Characters.Count
' verify that the character is a number
If IsNumeric(.Characters(x)) then
.Characters(x).Font.Superscript = True
End If
Next
End With
End Sub

最新更新