我的PowerPoint有一个时间表,我使用“ SmartArt”和Shapes创建了自己的时间表。现在,我希望如果我编辑第一个日期,此时间轴中的所有形状都将自动填充日期。
我对PowerPoint VBA完全陌生,所以我什至不知道如何调用此宏。
我会这样写马克罗:
Sub Fill_Shapes()
Dim StartDate As Date
Dim myShape As Object
Set myShape = ActiveSlide.Shapes(1)
StartDate = myShape.Text
For i = 2 To 14
Set myShape = ActiveSlide.Shapes(i)
With Application.Presentations(1).Slides(3).Shapes(i).TextFrame.TextRange
.Text = StartDate + 15
End With
StartDate = myShape.Text
Next
End If
所以我的两个问题是,如果我将日期填充为1号形状(红色箭头左侧),怎么调用宏,我的宏甚至可以按照我写的方式工作?
答案 0 :(得分:0)
我认为您是将Shape与SmartArt的各个元素(节点)混淆了。
Smart Art实际上是具有其自身内置元素的单一形状。因此,以 i 为您的循环播放器,您应该查看
With Application.Presentations(1).Slides(3).Shapes(99).SmartArt.AllNodes.Item(i).TextFrame2.TextRange
99 是形状的编号(尽管最好用名称来指代它)。