基本上,我想在我的ppt中添加一个进度条,而不是覆盖整个演示文稿。但是,我有一些在演示时可能不需要的额外幻灯片,因此希望从进度条中排除。
Sub AddProgressBar()
On Error Resume Next
With ActivePresentation
sHeight = .PageSetup.SlideHeight - 12
n = 0
j = 0
For i = 1 To .Slides.Count
If .Slides(i).SlideShowTransition.Hidden Then j = j + 1
Next i:
For i = 2 To .Slides.Count
.Slides(i).Shapes("progressBar").Delete
If .Slides(i).SlideShowTransition.Hidden = msoFalse Then
Set slider = .Slides(i).Shapes.AddShape(msoShapeRectangle, 0, sHeight, (i - n) * .PageSetup.SlideWidth / (.Slides.Count - j), 12)
With slider
.Fill.ForeColor.RGB = ActivePresentation.SlideMaster.ColorScheme.Colors(ppFill).RGB
.Name = "progressBar"
End With
Else
n = n + 1
End If
Next i:
End With
End Sub
Sub RemoveProgressBar()
On Error Resume Next
With ActivePresentation
For i = 22 To .Slides.Count
.Slides(i).Shapes("progressBar").Delete
.Slides(i).Shapes("pageNumber").Delete
Next i:
End With
End Sub
这就是我目前所做的,但它显示了一个未完成的进度条和包含进度条的"最终"幻灯片。
替换幻灯片。使用您希望显示进度条的最后一张幻灯片的索引计数。您可以使用InputBox来输入值,使其成为动态的。