2026年10月19日月曜日

パワーポイントで、スライドをランダムに表示するが、クリックで次のスライドに進むようにする

 アニメーションウィンドウで、ここの設定を忘れないように。

-------------------------------------------------------------------------------------------------

Sub RandomSlideShow()

    Dim totalSlides As Integer

    Dim i As Integer, j As Integer

    Dim temp As Integer

    Dim slideArray() As Long ' SlideIDはLong型推奨

    totalSlides = ActivePresentation.Slides.Count

    ReDim slideArray(1 To totalSlides)

    ' スライドIDを配列に取得(インデックス順)

    For i = 1 To totalSlides

        slideArray(i) = ActivePresentation.Slides(i).SlideID

    Next i

    ' シャッフル(フィッシャー・イェーツ)

    Randomize

    For i = totalSlides To 2 Step -1

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

        temp = slideArray(i)

        slideArray(i) = slideArray(j)

        slideArray(j) = temp

    Next i

    ' カスタムスライドショーの設定名

    Dim customName As String

    customName = "RandomShow"

    ' 既存の同名設定があれば削除

    On Error Resume Next

    ActivePresentation.SlideShowSettings.NamedSlideShows(customName).Delete

    On Error GoTo 0

    ' 配列からスライドIDのリストを作成してカスタムショーを追加

    ActivePresentation.SlideShowSettings.NamedSlideShows.Add _

        Name:=customName, SafeArrayOfSlideIDs:=slideArray

    ' スライドショーを開始

    With ActivePresentation.SlideShowSettings

        .RangeType = ppShowNamedSlideShow

        .SlideShowName = customName

        .Run

    End With

End Sub

-------------------------------------------------------------------------------------------------------------

0 件のコメント:

コメントを投稿