때로는 파워포인트 프레젠테이션에 슬라이드를 무작위로 섞어 신선한 재미를 더하고 싶을 때가 있습니다. 예를 들어 학생들을 위해 만든 프레젠테이션에서 플래시카드 일부 또는 전체를 랜덤한 순서로 보여주고 싶은 경우가 대표적입니다.
기본적으로 파워포인트에는 슬라이드 섞기 기능이 내장되어 있지 않지만, 매크로를 활용하면 충분히 구현할 수 있습니다. 이번 가이드에서는 슬라이드를 수동으로 섞는 방법과 VBA 코드로 무작위 셔플을 자동화하는 방법을 단계별로 자세히 알려드립니다.
파워포인트에서 슬라이드 수동으로 섞기
Microsoft PowerPoint에서는 '슬라이드 정렬(Slide Sorter)' 보기를 사용해 프레젠테이션의 슬라이드를 직접 드래그하여 임의의 순서로 재배치할 수 있습니다. 매크로만큼 완벽하게 무작위적이지는 않지만, 간단하게 순서를 바꿔볼 수 있는 실용적인 방법입니다.
수동으로 슬라이드를 섞으려면 아래 단계를 따라 해보세요.
- 파워포인트 프레젠테이션을 연 뒤 화면 상단 리본 메뉴에서 보기(View) 탭을 클릭해 보기 메뉴를 엽니다.
- 보기 메뉴의 프레젠테이션 보기(Presentation Views) 그룹에서 슬라이드 정렬(Slide Sorter) 옵션을 선택합니다. 그러면 모든 슬라이드 썸네일을 한눈에 확인할 수 있는 슬라이드 정렬 보기로 전환됩니다.
- 슬라이드 정렬 보기에서는 슬라이드가 큰 썸네일로 표시됩니다. 슬라이드가 많다면 하단 도구 모음의 –(마이너스) 아이콘인 축소(Zoom Out) 버튼을 클릭해 전체 슬라이드가 한 화면에 모두 들어올 때까지 계속 줄여보세요.
- 이제 슬라이드를 클릭한 후 화면상 원하는 위치로 드래그하면 손쉽게 순서를 바꿀 수 있습니다. 다른 슬라이드도 같은 방식으로 반복해 마음에 드는 순서가 나올 때까지 배치를 조정하세요.
다만 이 방법은 사용자가 직접 배열하기 때문에 완전한 무작위성은 보장되지 않습니다. 버튼을 누를 때마다 완전히 랜덤한 슬라이드가 나타나길 원한다면 아래에서 소개하는 VBA 매크로 방식을 활용하는 것이 좋습니다.
VBA 코드로 파워포인트 슬라이드 무작위로 섞기
슬라이드가 완전히 무작위 순서로 재생되도록 하려면 약간의 코딩이 필요합니다. Microsoft Office PowerPoint의 매크로(Macros) 기능을 사용하면 VBA 코드를 실행해 프레젠테이션의 슬라이드를 자동으로 섞을 수 있습니다.
이 튜토리얼에서는 중복 없이 슬라이드를 섞는 방법을 알려드립니다. 같은 슬라이드가 반복해서 등장하지 않도록 무작위화하려면 아래 단계를 따르세요.
- 먼저 파워포인트 리본 메뉴에서 개발 도구(Developer) 탭을 활성화해야 합니다. 파일 > 옵션으로 이동하거나, 리본 메뉴의 빈 공간을 마우스 오른쪽 버튼으로 클릭한 후 리본 사용자 지정(Customize the Ribbon)을 선택하세요.
- PowerPoint 옵션 대화 상자에서 목록을 스크롤해 개발 도구(Developer) 항목을 찾은 뒤 체크박스를 선택하고 확인(OK)을 클릭합니다.
- 개발 도구 탭을 선택하고 매크로(Macros)를 클릭합니다. 팝업 창이 열리면 새 매크로 이름을 입력하고(예: Shuffleslides) 만들기(Create)를 클릭해 계속 진행합니다.
- 그러면 Visual Basic 편집기 창이 열리며, 여기에 슬라이드를 무작위화하는 코드를 입력할 수 있습니다.
- 아래의 VBA 코드를 복사해 열려 있는 Visual Basic 창에 붙여넣습니다.
Sub Shuffleslides()
FirstSlide = 2
LastSlide = 5
Randomize
'첫 슬라이드와 마지막 슬라이드 사이에서 난수 생성'
GRN:
RSN = Int((LastSlide – FirstSlide + 1) * Rnd + FirstSlide)
If RSN = ActivePresentation.SlideShowWindow.View.Slide.SlideIndex Then GoTo GRN
ActivePresentation.SlideShowWindow.View.GotoSlide (RSN)
End Sub
- 코드를 붙여넣으면 기본 설정상 2번부터 5번까지의 슬라이드를 섞도록 되어 있습니다. 프레젠테이션의 슬라이드 수가 꼭 5장일 필요는 없으며, 이 부분은 얼마든지 원하는 대로 수정할 수 있습니다.
VBA 편집기에서 FirstSlide와 LastSlide 뒤의 슬라이드 번호를 조정해 셔플에 포함할 슬라이드 범위를 지정하세요. 기본적으로 제목 슬라이드는 셔플에서 제외되도록 2번 슬라이드부터 시작됩니다. 제목 슬라이드를 제외한 채로 두려면 'FirstSlide = 2'를 그대로 유지하면 됩니다.
예를 들어 총 10장으로 구성된 프레젠테이션에서 제목 슬라이드를 건너뛰고 섞고 싶다면 'FirstSlide = 2', 'LastSlide = 10'으로 설정하면 됩니다. 이렇게 하면 2~10번 슬라이드만 셔플에 포함되고 제목 슬라이드는 그대로 유지됩니다.
- 코드 작성과 커스터마이징이 끝났다면 이제 슬라이드에 동작 버튼을 추가할 차례입니다. 첫 번째 슬라이드(또는 원하는 슬라이드)에 도형을 하나 삽입한 후 해당 도형을 선택하고 삽입 > 동작 > 매크로 실행(Run Macro)으로 이동해 방금 만든 매크로를 선택합니다. 이렇게 하면 슬라이드 쇼 모드에서 버튼을 누를 때마다 슬라이드가 섞여 관객에게 흥미로운 경험을 선사할 수 있습니다.
- 마지막으로 만들어 둔 매크로가 사라지지 않도록 파일을 PPTM 형식(매크로 포함 프레젠테이션)으로 저장합니다. 파일 > 다른 이름으로 저장을 선택한 후 드롭다운 목록에서 PPTM을 고르면 생성한 매크로가 안전하게 보존됩니다.
이제 프레젠테이션 모드로 진입해 첫 번째 슬라이드의 버튼을 클릭하면 슬라이드가 무작위로 섞입니다. 반복 없이 역동적으로 이어지는 프레젠테이션을 즐겨보세요.
짝수 또는 홀수 슬라이드만 섞기
프레젠테이션에서 특정 슬라이드, 예를 들어 짝수나 홀수 번호의 슬라이드만 섞고 싶다면 아래의 VBA 코드를 사용하면 됩니다. 이 코드를 활용하면 나머지 슬라이드는 그대로 둔 채 짝수 또는 홀수 슬라이드만 무작위화할 수 있습니다.
앞서 설명한 과정을 그대로 따라 Visual Basic 편집기 창까지 진입한 뒤 아래 코드를 입력하세요.
Sub Shuffleslides()
EvenShuffle = True (홀수 슬라이드만 섞을 경우 False로 변경)
FirstSlide = 2 (필요에 따라 짝수 또는 홀수로 지정)
LastSlide = 8
Randomize
For i = FirstSlide To LastSlide Step 2
Generate: '첫 슬라이드와 마지막 슬라이드 사이에서 난수 생성'
RSN = Int((LastSlide – FirstSlide + 1) * Rnd) + FirstSlide
If EvenShuffle = True Then
If RSN Mod 2 = 1 Then GoTo generate
Else
If RSN Mod 2 = 0 Then GoTo generate
End If
ActivePresentation.Slides(i).MoveTo (RSN)
If i < RSN Then ActivePresentation.Slides(RSN – 1).MoveTo (i)
If i > RSN Then ActivePresentation.Slides(RSN + 1).MoveTo (i)
Next i
End Sub
끝없는 루프로 슬라이드 섞기
앞선 튜토리얼은 파워포인트 슬라이드를 섞어 반복 없이 무작위 순서로 재생하는 방법을 다룹니다. 하지만 한 바퀴의 루프가 끝나면 슬라이드를 다시 섞기 전까지는 동일한 순서가 그대로 유지됩니다.
슬라이드 쇼 모드에서 매번 새로운 무작위 순서로 모든 슬라이드를 끝없이 반복 재생하려면 아래 코드를 사용하세요. FirstSlide = 과 LastSlide = 뒤의 숫자를 자신의 프레젠테이션 슬라이드 수에 맞게 변경하는 것을 잊지 마세요.
Public Position, Range, AllSlides() As Integer
Sub ShuffleAndBegin()
FirstSlide = 2
LastSlide = 6
Range = (LastSlide – FirstSlide)
ReDim AllSlides(0 To Range)
For i = 0 To Range
AllSlides(i) = FirstSlide + i
Next i
Randomize
For N = 0 To Range
J = Int((Range + 1) * Rnd)
temp = AllSlides(N)
AllSlides(N) = AllSlides(J)
AllSlides(J) = temp
Next N
Position = 0
ActivePresentation.SlideShowWindow.View.GotoSlide AllSlides(Position)
End Sub
Sub Advance()
Position = Position + 1
If Position > Range Then
ShuffleAndBegin
Else
ActivePresentation.SlideShowWindow.View.GotoSlide AllSlides(Position)
End If
End Sub
이제 프레젠테이션을 시작해 보세요
이제 프로처럼 파워포인트 슬라이드를 섞는 방법을 익혔습니다. 소개한 방법들을 다양하게 시도해 보며 교육자, 비즈니스 전문가, 혹은 무작위 슬라이드 순서가 필요한 어떤 상황에서도 몰입도 높은 프레젠테이션을 만들어 보세요. 역동적이고 매력적인 슬라이드쇼를 마음껏 즐기시길 바랍니다.