提问人:user22875845 提问时间:11/8/2023 更新时间:11/8/2023 访问量:29
VBA 如何在开始在 PowerPoint 中的文本框中键入内容之前更改文本颜色
VBA How to change text color before you start typing in a text box in PowerPoint
问:
在PowerPoint中,我有一个文本框,其中已经有灰色的文本。我想添加到该文本框中,并使新的文本颜色为深蓝色,以便您可以看到新增内容。
我试图更改文本框颜色,但这会更改整个文本框的颜色。我需要新文本的颜色为深蓝色
答:
1赞
Tim Williams
11/8/2023
#1
在现有灰色文本的末尾添加一个空格 - 选择它并将字体颜色设置为蓝色。当用户键入其他文本时,它将是蓝色的。
Sub tester()
Dim nm
For Each nm in Array("TextBox1","TextBox2","TextBox3")
ResetFontColor ActivePresentation.Slides(1).Shapes(nm)
Next s
End Sub
Sub ResetFontColor(shp As Shape)
With shp.TextFrame.TextRange
.Text = .Text & " " 'add a space
.Font.Color = RGB(200, 200, 200) 'set all text to grey
.Characters(Len(.Text), 1).Font.Color = vbBlue 'change font color of the space
End With
End Sub
评论
0赞
user22875845
11/8/2023
效果很好!非常感谢!
0赞
user22875845
11/8/2023
有没有一种简单的方法可以将其用于多个形状,例如文本框 1、文本框 2 和文本框 3 以及文本框 4?如下面的代码所示?ResetFontColor ActivePresentation.Slides(1)。形状(文本框 1、文本框 2、文本框 3、文本框 4)?
0赞
Tim Williams
11/8/2023
添加了循环调用的示例。或者,如果文本框名称中有一个通用的子字符串,则可以遍历所有形状,并且仅设置名称包含(例如)“list”的形状的格式
0赞
user22875845
11/8/2023
这很好用,谢谢你的帮助!
0赞
Tim Williams
11/8/2023
如果这回答了您的问题,请标记为“已接受”,以帮助以后遇到类似问题的任何人。
评论