【技术】适合抽奖的PPT页面随机排列

2024 / 11 / 15

前一阵为了活动,做一个根据人员姓名,随机抽奖的ppt,用到了页面随机排序的宏,在这里浅浅记录一下。

原理概述

原理很简单,就是利用切换里的自动换片和幻灯片放映里的循环放映,效果不算完美,只能说刚刚够用,按“S”键是暂停,画面刚好出现一个名字,其中随机播放效果就是利用随机宏,把幻灯片的页面随机排序,从而模拟随机抽奖,目前还达不到自动删除抽到的人名,这个以后解决了会更新。

技术演示

以Office365为例。(WPS的操作可能会不同)

首先选择“文件/选项/自定义功能区”把开发工具加入到功能区

分别设置换片时间和循环放映

再打开“开发工具/Visual Basic”

选择“插入/模块”

把随机宏的代码粘贴进去

Sub ShuffleSlides()

Dim slideCount As Long

Dim i As Long

Dim j As Long

Dim temp As Long

Dim slideIndices() As Long

' 获取幻灯片数量

slideCount = ActivePresentation.Slides.Count

' 创建一个数组存储幻灯片索引

ReDim slideIndices(1 To slideCount)

' 初始化数组

For i = 1 To slideCount

slideIndices(i) = i

Next i

' 使用 Fisher-Yates 洗牌算法打乱数组

For i = slideCount To 2 Step -1

j = Int((i - 1 + 1) \* Rnd + 1)

temp = slideIndices(i)

slideIndices(i) = slideIndices(j)

slideIndices(j) = temp

Next i

' 按照打乱的顺序重新排列幻灯片

For i = 1 To slideCount

ActivePresentation.Slides(slideIndices(i)).MoveTo toPos := i

Next i

End Sub

关闭Visual Basic,最后打开宏窗口

选择ShuffleSlides随机排列宏,点击运行即可

十二星座の灵魂伴侣
嗨!👋 刷新网页以加载神秘星座搭配哦!✨

有点枯燥乏味?🎶 要不试试听听这个!😊



QQ | Email lyfgta@outlook.com

Copyright  ©2024  小兔跳跳安全屋

回到顶部