我想在打开PowerPoint演示文稿时运行VBA代码



我正在尝试弄清楚打开演示文稿时如何打乱其中一个Power Point演示文稿中的幻灯片。

我有代码,但试图找出如何使其作为电源点工作没有事件处理程序。我尝试了不同的解决方案,但无法使其工作。

我尝试过auto_open加载项和不同的代码,但没有运气,感谢任何帮助

当用户打开演示文稿时,我想运行的代码:

Sub shuffleRange((

Dim Iupper As Integer
Dim ilower As Integer
Dim ifrom As Integer
Dim Ito As Integer
Dim i As Integer
Iupper = 21
ilower = 2
If Iupper > ActivePresentation.Slides.Count Or ilower < 1 Then GoTo Err
For i = 1 To 2 * Iupper
Randomize
ifrom = Int((Iupper - ilower + 1) * Rnd + ilower)
Ito = Int((Iupper - ilower + 1) * Rnd + ilower)
ActivePresentation.Slides(ifrom).MoveTo (Ito)
Next i
Exit Sub

犯 错: MsgBox "Shuffle failed", vbCritical

结束子

未经测试并从另一个站点滑动,但下面是一个随机化幻灯片的代码段。至于在启动时运行,我没有代码答案,但是如果您制作带有开始游戏/学习抽认卡/(无论您的用途是什么(按钮的标题幻灯片,该按钮运行宏并在单击时关闭高级幻灯片怎么办?

子sort_rand((

Dim i As Integer
Dim myvalue As Integer
Dim islides As Integer
islides = ActivePresentation.Slides.Count
For i = 1 To ActivePresentation.Slides.Count
myvalue = Int((i * Rnd) + 1)
ActiveWindow.ViewType = ppViewSlideSorter
ActivePresentation.Slides(myvalue).Select
ActiveWindow.Selection.Cut
ActivePresentation.Slides(islides - 1).Select
ActiveWindow.View.Paste
Next

结束子

Auto_Open子例程将在加载包含它的外接程序时运行,但在打开包含它的演示文稿时不会运行。

如果可以在用户系统上安装外接程序,则该外接程序可以为"演示文稿打开"事件设置事件陷阱,检查新打开的演示文稿中是否有某些功能(名称、幻灯片/母版上是否存在已知形状、标记(,以将其标识为"您的"演示文稿,如果是,请运行现有代码。

谷歌搜索"PowerPoint events"(没有引号(将指向有关 vba 中事件处理程序代码的更多信息

最新更新