如何使用PowerPoint VBA创建进度条?它应该在幻灯片上以动画形式完成。
答案 0 :(得分:5)
这是你要找的吗?
答案 1 :(得分:2)
这个将把条放在顶部并防止它出现在第一张幻灯片上(与pptfaq脚本不同):
http://www.faronics.com/news/blog/how-to-add-a-progress-bar-to-powerpoint/
在Power Point中,转到工具>宏> Visual Basic编辑器。
在Office 2010中,您可能需要激活“开发人员”选项卡才能访问 编辑。 Mac版本将通过开发人员带您到那里 标签>编辑。
进入编辑器后,请插入>模块。
四个。将以下代码粘贴到这个新创建的模块中:
Sub Presentation_Progress_Marker()
On Error Resume Next
With ActivePresentation
For N = 2 To .Slides.Count
.Slides(N).Shapes(“Progress_Marker”).Delete
Set s = .Slides(N).Shapes.AddShape(msoShapeRectangle, 0, 0, N * .PageSetup.SlideWidth /.Slides.Count, 10)
Call s.Fill.Solid
s.Fill.ForeColor.RGB = RGB(23, 55, 94)
s.Line.Visible = False
s.Name = “Progress_Marker” Next N: End With End Sub
五。关闭编辑器。最后,运行宏:工具>宏>宏和 选择-Presentation_Progress_Marker。
答案 2 :(得分:0)
如何添加Microsoft的进度条控件?
由于PowerPoint不是实时应用程序,因此如果使用某些形状进行制作,则可能无法看到进度条移动。有时你可能最终只看到最终结果 - 只有完整的条甚至根本没有。 相反,进度条控件更实时'或者更多的时间。(我承认这是一个经典的设计。)
这是某人的一些步骤:
要添加进度条控件,首先需要在VBE(Alt-F11)窗口中添加UserForm。 (菜单:插入 - 用户窗体)
右键单击出现的工具箱窗口,然后选择其他控件。 向下滚动并检查“Microsoft Progress Bar Control,版本x.0' (此控件由MSCOMCTL.OCX提供)
单击“确定”。现在,您可以在工具列表的末尾看到进度条图标。 单击它并在UserForm1上绘制一个进度条。调整UserForm1窗口的大小。越小越好。 您可以在' UserForm1'中更改窗口的标题。进步......'或者通过更改“属性”窗口中的“标题”值来表示您喜欢的任何消息。
Option Explicit
Sub MyJob()
'Show the Progress Bar window
UserForm1.Show vbModeless 'vbModeless option should be added
Dim i As Long, Total As Long
Total = 200
Randomize
For i = 1 To Total
'put some code here. Especially, some jobs that take some time.
'for example, add a rounded box with random color on slide #1
With ActivePresentation.Slides(1).Shapes.AddShape(msoShapeRoundedRectangle, i, i, 500, 200)
.Name = "Shape_" & i
.Fill.ForeColor.RGB = RGB(255 * Rnd, 255 * Rnd, 255 * Rnd)
.Adjustments(1) = 0.5
.Line.Visible = msoFalse
.TextFrame.TextRange = i
End With
'Update the Progress bar
UserForm1.ProgressBar1.Value = Int(i * 100 / Total)
'integer between 0 and 100. Otherwise, pops up an error
UserForm1.Repaint 'refresh the Userform
Next i
'close ProgressBar UserForm
Unload UserForm1
End Sub
默认情况下,进度条的值应为0到100之间的整数。如果是' 101',则会出现错误。所以要小心。
进度条有些过时,但比用户创建的形状类型进度条更快(?)反应很有用。