Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powerpoint VBA上标数字_Vba_Powerpoint - Fatal编程技术网

Powerpoint VBA上标数字

Powerpoint VBA上标数字,vba,powerpoint,Vba,Powerpoint,我一直在尝试创建一个宏,将幻灯片上文本框中的所有数字转换为上标,但我发现Powerpoint VBA非常奇怪 我尝试了这一短行代码作为起点,但似乎选择不正确 ActivePresentation.Slides(1).Select.Font.superscript = True 任何帮助都将不胜感激 谢谢大家! 首先,不要选择任何东西,除非你绝对必须是稀有的,非常稀有的。 接下来,您选择了一个幻灯片对象。幻灯片没有任何字体属性,因此无法设置它们 下面的示例将当前选定形状中的所有字符设置为上标。您

我一直在尝试创建一个宏,将幻灯片上文本框中的所有数字转换为上标,但我发现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
        ' add code here to verify that the character is a number
        .Characters(x).Font.Subscript = True
        
    Next
End With

End Sub

这似乎没有正确选择,不是问题描述。如何调用该代码?它选择了什么?为什么这样做不合适?应该怎么办?我可能猜,要么a不选择任何文本,只激活幻灯片,要么b将所有内容转换为上标,而不仅仅是数字,但既然您已经尝试过了,您可以告诉读者结果,而无需我们猜测!