PowerPointのスライドをランダムにシャッフルする方法

Sara Wanasek

Sara Wanasek

PowerPointのスライドをランダムにシャッフルする方法

あなたは、PowerPointのスライドをシャッフルする方法を疑問に思っていますか? パワーポイントを使って聴衆や自分自身にクイズを出題し、質問をシャッフルしたり、ウォーミングアップ用の質問デッキを持っていてランダムに選んだり、デッキに植えられた名前やトピックをランダムに選んだりすることもできます! あなたがのためにPowerPointのスライドをシャッフルする必要があるものは何でも、ここではランダムにあなたのスライドを提示する方法についてのステップバイステップガイドです。

まず、注意事項として、ちょっとしたコーディングの助けを借りることになります! しかし、心配しないでください、主に提供されたコードを貼り付けるだけです。 (難しいことはなく、すべてPowerPointの中で完結します!)

次に、あなたの目標:スライドをどのようにシャッフルしてほしいか? PowerPointのスライドを繰り返しや重複なく、一度シャッフルしたいですか? それとも、スライドをランダムにシャッフルして、繰り返しや重複を許容したいですか?

以下、2つのバージョンについて手順を説明します:

  1. スライドをダブりなくシャッフルする方法
  2. スライドをシャッフルしたり、リピートを入れたりして、本当にランダムにする方法。

1つのバージョンにしか興味がない場合は、目次を使って以下に移動し、見て学ぶのが好きな場合は、ビデオガイドをチェックしてください。👇

バージョン1:重複のないPowerPointのスライドをシャッフルする方法

ステップ1:PowerPoint Developerタブを有効にする

PowerPointのスライドのシャッフルを始めるには、PowerPointのリボンの「開発者」タブにアクセスする必要があります。 このタブはデフォルトでは自動的に表示されないので、上部リボンの任意の場所で右クリックし、「リボンのカスタマイズ」をクリックして有効にすることができます。 右のメニューから「デベロッパー」を探し、その横のチェックボックスにチェックを入れます。 これで、PowerPointのリボンに「開発者」タブが表示され、準備が整いました!

ステップ2:マクロの作成

Developer」タブ内の「Macro」ボタンをクリックします。 これでVisual Basicのエディターが開き、コードを貼り付けることができるようになります。 VBA(Visual Basic for Applications)エディターは、VBAのコードを書いたり、マクロを作成したりする場所です。 この処理では、次のステップでコードを貼り付けるだけで、書き込みは不要です!

open VBAでPowerPointのスライドをランダムにシャッフルしてプレゼンする

ステップ3:VBAコードの貼り付け

このコードをコピーし、開いているVisual Basicのウィンドウに貼り付けます。

Public Position
Public AllSlides() As Integer

Sub ShuffleJump()

Dim FirstSlide As Integer
Dim LastSlide As Integer

FirstSlide = 2
LastSlide = 22

Dim ThisSlide As Integer
Dim Range As Integer
Range = (LastSlide - FirstSlide)

ReDim AllSlides(0 To Range)

For i = 0 To Range
AllSlides(i) = FirstSlide + i
Next

Dim N As Long
Dim temp As Variant
Dim K As Long
Randomize
For N = LBound(AllSlides) To UBound(AllSlides)
J = CLng(((UBound(AllSlides) - N) * Rnd) + N)
If N <> J Then
temp = AllSlides(N)
AllSlides(N) = AllSlides(J)
AllSlides(J) = temp

End If
Next N

Position = 0

ActivePresentation.SlideShowWindow.View.GotoSlide AllSlides(Position)

End Sub

Sub RandomSlide()

Position = Position + 1
If Position > UBound(AllSlides) Then
ActivePresentation.SlideShowWindow.View.GotoSlide (1)

End If

ActivePresentation.SlideShowWindow.View.GotoSlide AllSlides(Position)

End Sub

ステップ4:VBAコードのカスタマイズ

1.シャッフル範囲の決定

先ほど貼り付けたコードでは、スライド2~22がシャッフルされることになっていますが、プレゼンテーションでは22枚のスライドがない場合もあります。 ご安心ください! この部分をカスタマイズすることができます。

VBA Editorで、FirstSlideLastSlide の後に続く数字を、シャッフルに含めたい最初のスライドと最後のスライドに変更します。 このコードでは、タイトルスライドを含めないようにしたため、スライド2からシャッフルを開始しています。 タイトルスライドをシャッフルから省きたい場合は、FirstSlide = 2 を保持します。

例えば、10枚のスライドがあるプレゼンテーションで、タイトルスライドをシャッフルしたくない場合、FirstSlide = 2LastSlide = 10.

PowerPointのスライドを自動的にシャッフルするためのVBAコードをコピー&ペーストします。

2.シャッフルを終了する方法を決定する

  • オプション1: やり直し

このコードの2番目の部分、Sub RandomSlide には、ActivePresentation.SlideShowWindow.View.GotoSlide (1) というコードがあります。この行は、すべてのスライドがシャッフルされた後、必要に応じてもう一度始められるように、最初のスライドに戻ることを意味します。

  • オプション2: 最後のスライドで終了

最初のスライドに戻るのではなく、すべてのスライドがシャッフルされた後、最後のスライドでプレゼンテーションを終了したい場合は、ActivePresentation.SlideShowWindow.View.GotoSlide (1) 行の(1) を最後のスライドの番号に変更することができます。

例えば、タイトルスライド(スライド1)、シャッフルする4枚のスライド(スライド2~5)、締めくくりのスライド(スライド6)がある場合、私の範囲は次のようになります: FirstSlide = 2 &LastSlide = 5. そして、ActivePresentation.SlideShowWindow.View.GotoSlide (1)(1) を、ActivePresentation.SlideShowWindow.View.GotoSlide (6) に変更します。 このプロセスのビジュアルは、4:23から始まるビデオをご覧ください。

ステップ5:スライドにアクションボタンを追加する

コードが完成し、プレゼンテーションに合うように更新されたので、作成したマクロを実行するためのボタンをスライドに追加する必要があります。 これを行うには、挿入タブから最初のスライドに任意の図形(本当にプレゼンテーションに有効な任意の図形、色、サイズ)を追加します。 シェイプをアクションボタンにするには、シェイプをクリックし、「挿入」タブで「アクション」をクリックします。 メニューが表示されます。 ウィンドウ上部の「マウスクリック」セクションにいることを確認し、「マクロの実行」を選択し、「マクロ」ShuffleJump を選択します。

そして、この作業を次のスライドで繰り返します。 ただし、マクロにShuffleJump を選ぶのではなく、マクロRandomSlide を選んでください。 このボタンをコピーして、シャッフル範囲の各スライドに貼り付けることができるようになりました。

ステップ6:PPTMとして保存する

それがすべて完了したら、プレゼンテーションを保存することを忘れないでください、さらに重要なのは、このプレゼンテーションをPPTM、マクロ対応プレゼンテーションとして保存する必要があることです。 こうすることで、せっかく作成したマクロが失われることはありません!

ステップ7:試しに使ってみる

さて、お楽しみの「テスト」です! プレゼンテーションモードにして、最初のスライドで作ったボタンをクリックして、スライドをシャッフルします。 PowerPointは、プレゼンテーションのランダムなスライドに自動的に移動します。 ボタンをクリックすると、ランダムなスライドから次のスライドへ移動し続けることができます。 すべてのスライドがシャッフルされ、繰り返しがないことにお気づきでしょうか! 繰り返しを含むPowerPointのスライドをランダムにシャッフルする場合は、次のセクションをご覧ください。

バージョン2:重複したPowerPointのスライドをランダムにシャッフルする。

ステップ1:PowerPoint Developerタブを有効にする

バージョン1と同様に、PowerPointのスライドを重複なくシャッフルしたい場合は、PowerPointのリボンの「開発者」タブにアクセスする必要があります。 デフォルトでは、このタブは自動的に表示されないので、トップリボンの任意の場所で右クリックし、「リボンのカスタマイズ」をクリックすることで有効にすることができます。 右のメニューから「デベロッパー」を探し、その横のチェックボックスにチェックを入れます。 これで、PowerPointのリボンに「開発者」タブが表示され、準備が整いました!

ステップ2:マクロの作成

Developer」タブ内の「Macro」ボタンをクリックします。 これでVisual Basicのエディターが開き、コードを貼り付けることができるようになります。 VBA(Visual Basic for Applications)エディターは、VBAのコードを書いたり、マクロを作成したりする場所です。 この処理では、次のステップでコードを貼り付けるだけで、書き込みは不要です!

PowerPoint Visual Basic Editorが開き、マクロを作成可能

ステップ3:VBAコードの貼り付け

このコードをコピーし、開いているVisual Basicのウィンドウに貼り付けます。

Sub Jumptorandomslide()

FirstSlide = 2
LastSlide = 25

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

ステップ4:VBAコードのカスタマイズ

先ほど貼り付けたコードでは、スライド2~22がシャッフルされることになっていますが、プレゼンテーションでは22枚のスライドがない場合もあります。 ご安心ください! この部分をカスタマイズすることができます。

VBA Editorで、FirstSlideLastSlide の後に続く数字を、シャッフルに含めたい最初のスライドと最後のスライドに変更します。 このコードでは、タイトルスライドを含めないようにしたため、スライド2からシャッフルを開始しています。 タイトルスライドをシャッフルから省きたい場合は、FirstSlide = 2 を保持します。

例えば、10枚のスライドがあるプレゼンテーションで、省略したいタイトルスライドがあった場合、LastSlide の後に、22という数字を10に変更するだけです。

PowerPointのスライドのシャッフルやジャンプを実行するためのコードをコピー、ペースト、編集します。

ステップ5:スライドにアクションボタンを追加する

コードが完成し、プレゼンテーションに合うように更新されたので、作成したマクロを実行するためのボタンをスライドに追加する必要があります。 そのためには、「挿入」タブから最初のスライドに任意の図形を追加します。 シェイプをアクションボタンにするには、シェイプをクリックし、「挿入」タブで「アクション」をクリックします。 メニューが表示されます。 ウィンドウ上部の「マウスクリック」セクションにいることを確認し、「マクロの実行」を選択し、「マクロ」JumpToRandomSlide を選択します。

このボタンをコピーして、シャッフル範囲内のすべてのスライドに追加します! これにより、プレゼンテーション中にランダムなスライドからランダムなスライドにジャンプし続けることができるようになります。

ステップ6: 試してみる

さて、お楽しみの「テスト」です! プレゼンテーションモードにして、最初のスライドで作ったボタンをクリックして、スライドをシャッフルします。 PowerPointが自動的にランダムなスライドにジャンプします。 サイコロを振るようにスライドがランダムに選ばれるため、すべてのスライドを見る前に、2回スライドを見ることがあります。 重複を避けたい場合は、手順に従い、上記のセクションのコードを使用してください。

ステップ7:PPTMとして保存する

それがすべて完了したら、プレゼンテーションをマクロ対応プレゼンテーションであるPPTMとして保存する必要があります。 こうすることで、せっかく作成したマクロが失われることはありません!

これで、PowerPointのスライドをプロ並みにシャッフルする方法がわかりました!

しかし、もしこのテクニックを使って、生徒の名前を書いたスライドを作成してランダムに呼び出すのであれば、アドインのClassPointと、PowerPointに組み込まれた無料のネームピッカーツールを使うことで、コードを使わない方法があります。

ClassPointで名前をランダムに選ぶ

聴衆やクラスからランダムに名前を選ぶには、ClassPointを使ってPowerPoint上で名前を描けば、時間を節約できます! ClassPointは、生徒の回答問題注釈や ホワイトボードツールなどのプレゼンテーションツールや、ランダムネームピッカーなどのティーチングツールを追加することで、プレゼンテーションの配信やオーディエンスの参加率を向上させるために設計されたMicrosoft PowerPointアドインです。

そのためには、アドインをダウンロードした場合、プレゼンテーション中に表示されるクラスポイントツールバーにあるネームピッカーアイコンをクリックし、ホイールを回すかカードビューから選択するだけです! 簡単でワクワクします。

ネームピッカー内の名前を取得するには、以下のどちらかの方法があります:

  1. 保存されたクラスを作成することで、クラスリストを自分で追加します。
  2. プレゼンテーションの右上にあるクラスコードを使って、聴衆が自分のデバイスからクラスに参加するようにします。 ライブで参加する場合は、インタラクティブな応答質問を実行することもできます。

PowerPoint Name Pickerツールの詳細については、こちらのビデオをご覧ください。

ご質問や、これらのコードの動作を確認したい場合は、上のビデオでPowerPointのスライドをランダムにシャッフルするすべての異なる方法の完全なチュートリアルをご覧ください。 また、コードで遊ぶのは厄介なことなので、何か質問があればコメントで教えてください!

コードはどこでコピーできるのでしょうか?

上記のコード、またはこちらのリンクからコピーしてください: http://bit.ly/3Dvmdjc

すべてのスライドが提示済みでも、シャッフルを使い続けたい場合はどうすればよいですか?

この行の()内に、開始したいスライド番号を入れて、処理を再開してください(お使いのコードのバージョンによります):ActivePresentation.SlideShowWindow.View.GotoSlide (1)

セクションごとのシャッフルは可能ですか?

はい! マクロのスライド番号の範囲をシャッフルしたいセクションのスライド番号の範囲にします。 次に、他のセクションのために新しいマクロを作成します。 マクロにセクションごとのラベルを付け、ボタンをスライドに追加する際に適切なマクロを選択します。

Sara Wanasek

About Sara Wanasek

Sara Wanasek is a PowerPoint expert with a deep understanding of education technology tools. She has been writing for ClassPoint for over 3 years, sharing her knowledge and insights in educational technology and PowerPoint to teachers. Her passion extends beyond writing, as she also shares innovative ideas and practical presentation tips on ClassPoint's YouTube channel. If you are looking for innovative ideas and practical tips to elevate your presentations as well as the latest trends in educational technology, be sure to check out it out for a wealth of insightful content.

Supercharge your PowerPoint.
Start today.

800,000+ people like you use ClassPoint to boost student engagement in PowerPoint presentations.