Иногда вам может потребоваться добавить элемент неожиданности в презентацию PowerPoint, перетасовывая слайды в случайном порядке. Например, возможно, вы создаете презентацию для своих учеников и хотите перетасовать некоторые или все карточки.

По умолчанию в PowerPoint нет встроенной функции для этого, но вы можете добиться этого с помощью макроса. В этом пошаговом руководстве мы покажем вам, как перемешивать слайды вручную и как использовать код VBA для автоматизации процесса случайного перемешивания.
Как вручную перемешать слайды в PowerPoint
В Microsoft PowerPoint вы можете вручную перемешивать слайды в презентации, чтобы отображать их в случайном порядке, используя режим «Сортировщик слайдов». Хотя этот метод может быть не таким случайным, как использование макросов, он все же позволяет переставлять слайды в другом порядке.
Чтобы вручную перемешать и рандомизировать слайды в презентации PowerPoint, выполните следующие действия.



Имейте в виду, что этот метод не гарантирует полностью случайный порядок, поскольку он зависит от вашей ручной настройки. Если вы хотите, чтобы после нажатия кнопки отображения следующего слайда появлялся совершенно случайный слайд, вы можете использовать метод макросов VBA для более точного и автоматического случайного перетасовки..
Как рандомизировать слайды PowerPoint с помощью кода VBA
Чтобы убедиться, что ваши слайды PowerPoint воспроизводятся в совершенно случайном порядке, вам нужно немного программировать. Параметр «Макросы» в Microsoft Office PowerPoint позволяет запускать коды VBA для автоматического перемешивания слайдов в презентации.
В этом уроке мы покажем вам, как перемешивать слайды без дубликатов. Чтобы рандомизировать слайды в PowerPoint, чтобы один и тот же слайд не повторялся, выполните следующие действия.




Дополнительные слайды в случайном порядке()
Первый слайд = 2
Последний слайд = 5
Рандомизировать
’генерировать случайное «нет» между первым и последним слайдом’
ГРН:
RSN = Int((LastSlide – FirstSlide + 1) * Rnd + FirstSlide)
Если RSN = ActivePresentation.SlideShowWindow.View.Slide.SlideIndex, то перейдите к GRN
ActivePresentation.SlideShowWindow.View.GotoSlide (RSN)
Завершить подписку
В редакторе VBA настройте номера слайдов после «FirstSlide» и «LastSlide», чтобы указать диапазон слайдов, которые вы хотите включить в перемешивание. По умолчанию перетасовка начинается со слайда 2, чтобы не включать титульный слайд. Если вы хотите исключить перемешивание титульных слайдов, оставьте значение «FirstSlide = 2» как есть.
Например, у вас есть презентация с десятью слайдами, и вы хотите пропустить перетасовку титульного слайда. В этом случае установите «FirstSlide = 2» и «LastSlide = 10». Таким образом, в процесс перемешивания будут включены только слайды со 2 по 10, а титульный слайд останется неизменным.


Теперь войдите в режим презентации и нажмите кнопку на первом слайде, чтобы перемешать слайды в случайном порядке. Наслаждайтесь динамичной и неповторяющейся презентацией.
Как перемешать только четные или нечетные слайды
Если вы хотите перемешать только определенные слайды в презентации, например четные или нечетные, вы можете использовать следующий код VBA, чтобы рандомизировать только слайды с четными или нечетными номерами, не нарушая остальные.
Для этого следуйте инструкциям выше, пока не дойдете до окна редактора Visual Basic и не вставьте следующий код.
Дополнительные слайды в случайном порядке()
EvenShuffle = True (замените на false, если перемешиваются только слайды с нечетными номерами)
FirstSlide = 2 (должно быть четное/нечетное число в зависимости от потребностей).
Последний слайд = 8
Рандомизировать
Для i = FirstSlide To LastSlide, шаг 2
Создать: «генерировать случайное «нет» между первым и последним слайдом»
RSN = Int((LastSlide – FirstSlide + 1) * Rnd) + FirstSlide
Если EvenShuffle = True, то
Если RSN Mod 2 = 1, то перейти к созданию
Еще
Если RSN Mod 2 = 0, то GoTo сгенерировать
Конец, если
ActivePresentation.Slides(i).MoveTo (RSN)
Если i
Если i >RSN, то ActivePresentation.Slides(RSN + 1).MoveTo (i)
Далее я
Конец подзаголовка
Как перемешивать слайды в бесконечном цикле
В приведенном выше руководстве показано, как перемешивать слайды PowerPoint и воспроизводить их в случайном порядке без повторения. Однако после одного цикла тот же порядок перемешивания сохраняется, если вы не перетасуете слайды снова.
Чтобы автоматически просматривать все слайды в бесконечном цикле в режиме слайд-шоу с новым случайным порядком для каждого цикла, вы можете использовать следующий код. Обязательно измените цифры после FirstSlide = и LastSlide =, чтобы они соответствовали количеству слайдов в вашей презентации.
Публичная позиция, диапазон, AllSlides() как целое число
Sub ShuffleAndBegin()
Первый слайд = 2
Последний слайд = 6
Диапазон = (Последний слайд – Первый слайд)
Изменить размер всех слайдов (от 0 до диапазона)
Для i = 0 до диапазона
AllSlides(i) = FirstSlide + i
Далее я
Рандомизировать
Для N = 0 до диапазона
J = Int((Диапазон + 1) * Rnd)
temp = AllSlides(N)
AllSlides(N) = AllSlides(J)
AllSlides(J) = temp
Следующий N
Позиция = 0
ActivePresentation.SlideShowWindow.View.GotoSlide AllSlides(Position)
Конец подзаголовка
Подпродвижение()
Позиция = Позиция + 1
Если позиция >диапазон, то
ShuffleAndBegin
Остальное
ActivePresentation.SlideShowWindow.View.GotoSlide AllSlides(Position)
Закончить, если
Завершить подписку