PowerPoint VBA

複数台プロジェクタを使用し、スライドを並べて表示したいあなたへ

                    
                    '※※※※※※※※※※※※※   注  意  書  き   ※※※※※※※※※※※※※
                    '※                                        ※
                    '※ このテキストを全コピーし、        『Ctrl + A』、『Ctrl + C』    ※
                    '※ 発表資料のPowerPointを開き、                         ※
                    '※ VBEを開く(※開発タブ(要設定))     『Alt + F11』           ※
                    '※ 標準モジュールを開く           『「Alt」 → 「I」 → 「M」』   ※
                    '※ このテキストをコードウィンドウに貼り付け 『Ctrl + V』           ※
                    '※ マクロの実行               『F5』              ※
                    '※ あとは、ガイドに従い、非表示先頭スライド番号、スライド並列数を入力して下さい ※
                    '※                                        ※
                    '※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
                    
                    Dim sld As Slide
                    Dim i As Long   'スライド番号
                    Dim j As Byte   '非表示の先頭スライドの番号
                    Dim k As Byte   'スライド並列数(スライド非表示間隔)
                    
                    Sub Main()
                        Call 全スライド表示
                        Call 非表示先頭番号とスライド並列数の質問
                        Call スライドを非表示
                    End Sub

                    Sub 全スライド表示()
                        For Each sld In ActivePresentation.Slides
                            sld.SlideShowTransition.Hidden = msoFalse
                        Next sld
                    '※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
                    '※                                        ※
                    '※ 全スライド表示に戻したいときはこの枠内をクリックした後、F5を押下してください。※
                    '※                                        ※
                    '※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
                    End Sub
                    
                    Sub スライドを非表示()
                        With ActivePresentation.Slides
                            For i = j To .Count Step k
                                ActivePresentation.Slides(i).SlideShowTransition.Hidden = msoTrue
                            Next i
                        End With
                    End Sub
                    
                    
                    Sub 非表示先頭番号とスライド並列数の質問()
                        Dim 非表示先頭番号 As String, スライド並列数 As String, 全スライド表示確認 As String
                        Do
                            スライド並列数 = InputBox("「スライド並列数(数値)」を入力してください" _
                            & vbCrLf & "2コ並列なら「2」、3コ並列なら「3」を入力" _
                            & vbCrLf & "" _
                            & vbCrLf & "※ここで入力した番号がスライド非表示間隔となります" _
                                        , "スライド並列数", "2")
                        Loop Until IsNumeric(スライド並列数)
                        k = スライド並列数
                        Do
                            非表示先頭番号 = InputBox("「非表示の先頭スライドの番号(数値)」を入力してください" _
                            & vbCrLf & "【2コスライド並列の場合】" _
                            & vbCrLf & "奇数スライドを非表示なら「1」、偶数スライド非表示なら「2」を入力" _
                            & vbCrLf & "【3コスライド並列の場合】" _
                            & vbCrLf & "左スライド非表示で「1」、中スライド非表示なら「2」、右スライド非表示なら「3」を入力" _
                            & vbCrLf & "" _
                            & vbCrLf & "※ここで入力した番号から非表示スライドとなります" _
                                        , "非表示の先頭スライドの番号", "1")
                        Loop Until IsNumeric(非表示先頭番号)
                        j = 非表示先頭番号
                    End Sub

                    Sub main2()     ' このコードを標準モジュールに貼り付けたら
                        Call Main   ' そのまま「F5」を押して下さい。マクロを実行できます。
                    End Sub