VBA - 如何在特定集3,5,7,9,11,13中生成随机数。 这些数字表示用户在单击按钮时将被带到的幻灯片编号(目的地)。
答案 0 :(得分:1)
编辑:根据OP
的要求进行了修改,以包含更全面的解决方案目标:在单击按钮后随机选择六个可能的幻灯片编号之一。
第1步:随机化幻灯片编号选择的代码
将目标值映射到数组中。注意结果数组中元素的数量 - 在这种情况下,6。生成1到6的随机整数,并使用该值作为数组的索引,返回该索引位置的值。
类似以下内容(未经测试)
function randomSlideNumber() as Integer
Dim index
Dim targetValues(1 to 6) as Integer
targetValues(1) = 3
targetValues(2) = 5
targetValues(3) = 7
targetValues(4) = 9
targetValues(5) = 11
targetValues(6) = 13
index = Int(6 * Rnd + 1)
randomSlideNumber = targetValues(index)
end function
第2步:将幻灯片添加到Powerpoint演示文稿中,最多可达随机选择器中所需的数字
我假设OP在他的演讲中已经有至少13张幻灯片:)
步骤3:向演示文稿添加其他幻灯片,并向其添加CommandButton
CommandButton
,然后将其绘制到新幻灯片上。
CommandButton1_Click()
。
P
Private Sub CommandButton1_Click()
SlideShowWindows(1).View.GotoSlide randomSlideNumber
End Sub
步骤5:使用带有新CommandButton作为起点的幻灯片开始幻灯片放映
步骤6:点击幻灯片上的CommandButton,并验证活动幻灯片是否更改为randomSlideNumber()
功能返回的其中一个
瞧! :)
代码讨论
注意:这涉及有关PowerPoint VBA对象模型的一些细节。
单击步骤3中创建的幻灯片中的CommandButton会触发在步骤4中创建的CommandButtton1_Click()
事件处理程序。事件处理程序将转到第一个View
对象的当前SlideShowWindow
{ {1}},并调用SlideShowWindow(1).View
的{{1}}方法。 GotoSlide
方法需要幻灯片编号作为参数,该参数由对' randomSlideNumber'的随机调用提供。之前定义的函数。该函数应返回3,5,7,9,11或13中的一个。
那应该做的伎俩。 警告:此代码中显然没有错误处理;它的添加留作练习。此外,这已经未针对最新版本的Powerpoint进行了广泛测试,但确实可以在我创建的测试shell中使用。