对于每个循环 - 从颜色 X 到 Y 的文本
For Each Loop - Text from color X to Y
我正在使用 VBA 在 PPT 中制作一个基本的游戏。其中一个组成部分是带有多项选择题的性格测试。我决定这样做的方法是将四个答案作为单独的文本框,默认颜色为黑色。单击任何文本块时,它将将该文本块中的文本更改为红色,并将所有其他文本块变为黑色,因此一次只有一个文本块是红色的。底部的按钮将确定哪个文本框有红色文本,并基于此将变量保存在数组中,该变量将用于计算个性类型。
现在,我想要一个遍历单张幻灯片的循环语句来评估文本。稍后我将对其进行修改以接受传入的幻灯片编号(这样我就可以在每张幻灯片上使用该功能来解决问题)。我什至不担心 if 语句来决定何时交换颜色,我什至无法让循环简单地更改所有文本(这应该很简单......)
在我看来,循环需要:
1) 检查一张预先确定的幻灯片中的每个对象,看它是否有文本
2) 将所有文本的颜色更改为代码中输入的颜色。
'''
Sub fontChangeWhy()
Dim oSl As Slide
Dim oSh As Shape
oSl = ActivePresentation.Slides(2)
For Each oSh In oSl.Shapes
If oSh.HasTextFrame Then
If oSh.TextFrame.HasText Then
oSh.TextFrame.TextRange.Font.Color.RGB = RGB(0, 0, 0)
End If
End If
Next oSh
结束子
'''
oSl是对象,需要设置
Set oSl = ActivePresentation.Slides(2)
我正在使用 VBA 在 PPT 中制作一个基本的游戏。其中一个组成部分是带有多项选择题的性格测试。我决定这样做的方法是将四个答案作为单独的文本框,默认颜色为黑色。单击任何文本块时,它将将该文本块中的文本更改为红色,并将所有其他文本块变为黑色,因此一次只有一个文本块是红色的。底部的按钮将确定哪个文本框有红色文本,并基于此将变量保存在数组中,该变量将用于计算个性类型。
现在,我想要一个遍历单张幻灯片的循环语句来评估文本。稍后我将对其进行修改以接受传入的幻灯片编号(这样我就可以在每张幻灯片上使用该功能来解决问题)。我什至不担心 if 语句来决定何时交换颜色,我什至无法让循环简单地更改所有文本(这应该很简单......)
在我看来,循环需要: 1) 检查一张预先确定的幻灯片中的每个对象,看它是否有文本 2) 将所有文本的颜色更改为代码中输入的颜色。
''' Sub fontChangeWhy()
Dim oSl As Slide
Dim oSh As Shape
oSl = ActivePresentation.Slides(2)
For Each oSh In oSl.Shapes
If oSh.HasTextFrame Then
If oSh.TextFrame.HasText Then
oSh.TextFrame.TextRange.Font.Color.RGB = RGB(0, 0, 0)
End If
End If
Next oSh
结束子 '''
oSl是对象,需要设置
Set oSl = ActivePresentation.Slides(2)