如何在ppt中格式化VBA文本框中的颜色和字体

时间:2013-06-24 20:10:54

标签: vba textbox powerpoint

我在ppt中创建了一个宏来插入一个带有明年日期的文本框,因为内置的插入日期仅适用于当前年份:

Sub displaynextyear()

present = Year(Date)

ActivePresentation.Slides(3).Shapes.AddShape _
(Type:=msoTextOrientationHorizontal, Left:=500, Top:=150, Width:=100, Height:=25) _
.TextFrame.TextRange.Text = "{" & present + 1 & "}"

End Sub

它可以工作,但我想对它进行微调,使其与幻灯片的背景颜色,字体大小等相匹配。每次我尝试插入可能的格式化参数时,都会收到错误消息。 我该如何定制?如果打开ppt演示文稿,我将如何让它自动运行?

谢谢! 约翰

1 个答案:

答案 0 :(得分:0)

.Background方法使形状背景与其幻灯片相匹配。

Sub displaynextyear()
    Dim shp As Shape

    present = Year(Date)

    Set shp = ActivePresentation.Slides(3).Shapes.AddShape _
    (Type:=msoTextOrientationHorizontal, Left:=500, Top:=150, Width:=100, Height:=25)
    shp.TextFrame.TextRange.Text = "{" & present + 1 & "}"

    shp.TextFrame.TextRange.Font.Size = 20
    shp.Fill.Background     'match the slide background

End Sub

这适用于PowerPoint 2010,因此很可能也适用于PPt 2007。

注意:我们无法在PPt 2010中记录宏以帮助查找方法/属性。