PowerPointスライドのシャッフル方法|手動操作とVBAマクロでランダムなプレゼンを実現
PowerPointのプレゼンテーションに「予想外の演出」を加えたいと思ったことはありませんか?例えば、学生向けのフラッシュカード教材を作成し、一部またはすべてのカードをランダムな順序で表示したい場合などが挙げられます。
残念ながら、PowerPointには標準でスライドをシャッフルする機能は搭載されていません。しかし、マクロ(VBA)を使えば簡単に実現できます。この記事では、スライド一覧表示を使った手動のシャッフル方法と、VBAコードによる自動ランダムシャッフルの手順を、ステップバイステップでわかりやすく解説します。
PowerPointでスライドを手動でシャッフルする方法
Microsoft PowerPointでは、「スライド一覧」表示を活用することで、スライドをランダムな順序に手動で並べ替えられます。マクロほど完全なランダム性は得られませんが、スライドの順番を自由に入れ替えたい場合には十分便利な方法です。
以下の手順に従って、スライドを手動でシャッフルしてみましょう。
- PowerPointのプレゼンテーションを開き、画面上部のリボンメニューにある「表示」タブをクリックして、表示メニューを開きます。
- 「表示」メニュー内の「プレゼンテーション表示」グループから「スライド一覧」を選択します。これにより、すべてのスライドのサムネイルを一覧できる「スライド一覧」表示に切り替わります。
- スライド一覧表示では、スライドのサムネイルが大きめに表示されます。スライド枚数が多い場合は、画面下部ツールバーの「−(ズームアウト)」アイコンをクリックして縮小すると、全体をひと目で把握できて便利です。すべてのスライドが画面に収まるまで調整しましょう。
- あとは、任意のスライドをクリックしてドラッグし、好きな位置に移動するだけです。これを繰り返して、納得のいく順序になるまでスライドを入れ替えてください。
ただし、この方法はあくまで手作業による並べ替えのため、完全なランダム性は保証されません。「次へ」ボタンを押すたびに完全にランダムなスライドを表示したい場合は、後述のVBAマクロを使った方法がおすすめです。より正確で自動化されたランダムシャッフルが可能になります。
VBAコードでPowerPointスライドをランダム化する方法
スライドを完全にランダムな順序で再生したい場合は、少しのコードが必要です。Microsoft Office PowerPointの「マクロ」機能を使えば、VBAコードを実行してプレゼンテーション内のスライドを自動的にシャッフルできます。
ここでは、同じスライドが重複しないようにシャッフルする方法をご紹介します。以下の手順に従ってください。
- まず、リボンメニューの「開発」タブを表示させる必要があります。「ファイル > オプション」を選択するか、リボンの空いている部分を右クリックして「リボンのユーザー設定」を選択し、ダイアログボックスを開きます。
- 「PowerPointのオプション」ダイアログボックスで下にスクロールし、「開発」にチェックを入れて「OK」をクリックします。
- 「開発」タブを選択し、「マクロ」をクリックします。ポップアップウィンドウが開くので、新しいマクロに名前を付けます(例:「Shuffleslides」)。「作成」をクリックして先へ進みます。
- Visual Basic Editor(VBE)ウィンドウが開くので、ここにスライドをランダム化するためのコードを入力します。
- 以下のVBAコードをコピーして、開いたVisual Basicウィンドウに貼り付けてください。
Sub Shuffleslides()
FirstSlide = 2
LastSlide = 5
Randomize
'generate a random no between first slide and last slide'
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枚目までのスライドだけがシャッフルされ、タイトルスライドはそのまま維持されます。
- コードの入力とカスタマイズが完了したら、次はスライドにアクションボタンを追加しましょう。1枚目のスライド(または任意のスライド)に図形を挿入し、その図形を選択した状態で「挿入 > アクション > マクロの実行」を選択します。そして、先ほど作成したマクロを選んでください。これで、スライドショー実行中にボタンをクリックするたびにスライドがシャッフルされ、観客を引き込む魅力的な演出が可能になります。
- 最後に、作成したマクロを保持するために、PowerPointファイルを「PPTM形式(マクロ有効プレゼンテーション)」で保存します。「ファイル > 名前を付けて保存」を選択し、ドロップダウンリストからPPTM形式を選べば、作成したマクロが失われることなく保存されます。
あとはスライドショーを開始し、1枚目のスライド上のボタンをクリックすれば、スライドがランダムにシャッフルされます。重複のない、ダイナミックなプレゼンテーションをお楽しみください。
偶数・奇数スライドだけをシャッフルする方法
プレゼンテーションの中でも特定のスライドだけ(例えば偶数ページや奇数ページのみ)をシャッフルしたい場合は、以下のVBAコードを使用することで、他のスライドに影響を与えることなく、偶数番号または奇数番号のスライドだけをランダム化できます。
手順は前述の方法と同じです。Visual Basic Editorウィンドウを開くところまで進んだら、以下のコードを挿入してください。
Sub Shuffleslides()
EvenShuffle = True (奇数番号のスライドのみをシャッフルする場合は False に置き換えてください)
FirstSlide = 2 (必要に応じて偶数/奇数の番号を指定)
LastSlide = 8
Randomize
For i = FirstSlide To LastSlide Step 2
Generate: 'generate a random no between first slide and last slide'
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
スライドを無限ループでシャッフル再生する方法
ここまでのチュートリアルでは、PowerPointのスライドを重複なしでランダムな順序に再生する方法を紹介しました。ただし、1周終わると同じシャッフル順序のままになるため、再度シャッフルしない限り順序は変わりません。
スライドショーモード中にすべてのスライドをエンドレスでループ再生し、かつ各ループごとに新しいランダム順序を自動生成したい場合は、以下のコードを使用してください。「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
さあ、プレゼンテーションを始めましょう
これで、プロのようにPowerPointスライドをシャッフルできるようになりました。教育現場やビジネスシーンなど、ランダムなスライド順序が求められるあらゆる場面で、これらの方法を試して、魅力的なプレゼンテーションを作成してください。ダイナミックで心をつかむスライドショーをぜひお楽しみください。
-
Chrome・EdgeでERR_CONNECTION_RESETエラーが出たときの対処法10選【原因と解決策を徹底解説】
Google ChromeやMicrosoft Edgeでウェブサイトに接続しようとした際、「ERR_CONNECTION_RESET」エラーが表示されることがあります。この記事では、このエラーが発生する原因を解説し、実践的な10の解決方法をわかりやすくご紹介します。 「ERR_CONNECTION_RESET」エラーが発生する原因とは? 「ERR_CONNECTION_RESET」エラーは、Chromeがアクセスしようとしたウェブサイトに到達できないときに発生します。エラーページには「サイトにアクセスできません」と表示され、ネットワーク接続、プロキシ、ファイアウォールの確認を促されます。 こ
-
Androidの「信頼できるデバイス」でスマホを自動ロック解除する方法
Android OSに追加された便利な新機能のひとつに、「信頼できるデバイス」が近くにあるだけでスマートフォンのロックを自動解除できる機能があります。 「信頼できるデバイス」とは何でしょうか?これは、AndroidデバイスとBluetoothで接続できるものであれば何でも該当します。スマートウォッチ、ワイヤレスイヤホン、他のパソコン、さらにはスマートホーム機器なども含まれます。条件はただひとつ、そのデバイスがBluetooth対応であり、Androidデバイスに接続できることです。 この記事では、Androidの信頼できるデバイスの設定方法と、それに関連するセキュリティ設定について解説