Excel VBAでPowerPointのスライド番号のスタイルを一括変更する方法

この記事では、Excel VBAを使用してPowerPointのスライド番号のスタイルを一括で変更する方法について詳しく説明します。具体的なコード例、その詳細な解説、さらには応用例を3つ紹介しています。PowerPointのプレゼンテーションの見た目を統一する際に大変役立ちます。

目次

Excel VBAの基本

Excel VBA(Visual Basic for Applications)は、Microsoft Excelに組み込まれたプログラミング言語です。これを用いると、単純作業の自動化だけでなく、高度なデータ分析やレポート作成も可能になります。

そもそも、どこにVBAコードを書いて、どう実行すれば良いのか分からない場合は、以下の記事をご参照ください。

基本のコード

以下は、PowerPointのすべてのスライドの番号のスタイルを一括で変更するExcel VBAのコードです。


Sub ChangeSlideNumberStyle()
    Dim PPTApp As Object
    Dim PPTPres As Object
    Dim Slide As Object
    
    ' PowerPoint アプリケーションを起動
    Set PPTApp = CreateObject("PowerPoint.Application")
    Set PPTPres = PPTApp.Presentations.Open("C:\path\to\your\presentation.pptx")
    
    For Each Slide In PPTPres.Slides
        With Slide.HeadersFooters.SlideNumber
            .Visible = True
            .Font.Name = "Arial"
            .Font.Size = 12
            .Font.Bold = True
            .Font.Color = RGB(255, 0, 0) ' 赤色に設定
        End With
    Next Slide
    
    PPTPres.Save
    PPTPres.Close
    Set PPTPres = Nothing
    Set PPTApp = Nothing
End Sub

コードの詳細解説

このコードは、指定されたPowerPointファイルを開き、すべてのスライドの番号のスタイルを一括で変更します。具体的には、フォントをArialに変更し、サイズを12に設定、太字にし、色を赤に変更します。

– **Set PPTApp = CreateObject(“PowerPoint.Application”)** : PowerPointアプリケーションを起動します。
– **Set PPTPres = PPTApp.Presentations.Open(パス)** : 指定したパスのPowerPointプレゼンテーションを開きます。
– **For Each Slide In PPTPres.Slides** : 各スライドに対して繰り返し処理を行います。
– **.Visible = True** : スライド番号を表示します。
– **.Font.Name, .Font.Size, .Font.Bold, .Font.Color** : フォントの名前、サイズ、太字の設定、色を変更します。

応用例

1. 特定のスライドのみスタイル変更

特定のスライドのみ、番号のスタイルを変更したい場合のコード例です。


Sub ChangeSpecificSlideNumberStyle()
    Dim PPTApp As Object
    Dim PPTPres As Object
    Dim Slide As Object
    Dim TargetSlides As Variant
    TargetSlides = Array(1, 3, 5) ' 1, 3, 5番目のスライドを対象とする

    ' PowerPoint アプリケーションを起動
    Set PPTApp = CreateObject("PowerPoint.Application")
    Set PPTPres = PPTApp.Presentations.Open("C:\path\to\your\presentation.pptx")
    
    For Each Slide In PPTPres.Slides
        If IsInArray(Slide.SlideIndex, TargetSlides) Then
            With Slide.HeadersFooters.SlideNumber
                .Visible = True
                .Font.Name = "Arial"
                .Font.Size = 14
                .Font.Bold = True
                .Font.Color = RGB(0, 0, 255) ' 青色に設定
            End With
        End If
    Next Slide
    
    PPTPres.Save
    PPTPres.Close
    Set PPTPres = Nothing
    Set PPTApp = Nothing
End Sub

Function IsInArray(valToBeFound As Variant, arr As Variant) As Boolean
    IsInArray = (UBound(Filter(arr, valToBeFound)) > -1)
End Function

このコードでは、`TargetSlides`に変更を適用したいスライドの番号を配列として指定します。指定されたスライド番号のみ、スタイルが変更されます。

2. スライド番号の位置を変更

スライド番号の表示位置を変更するコード例です。


Sub ChangeSlideNumberPosition()
    Dim PPTApp As Object
    Dim PPTPres As Object
    Dim Slide As Object
    
    ' PowerPoint アプリケーションを起動
    Set PPTApp = CreateObject("PowerPoint.Application")
    Set PPTPres = PPTApp.Presentations.Open("C:\path\to\your\presentation.pptx")
    
    For Each Slide In PPTPres.Slides
        With Slide.HeadersFooters.SlideNumber.Shape
            .Top = 10 ' 上から10ピクセルの位置に設定
            .Left = 10 ' 左から10ピクセルの位置に設定
        End With
    Next Slide
    
    PPTPres.Save
    PPTPres.Close
    Set PPTPres = Nothing
    Set PPTApp = Nothing
End Sub

このコードは、すべてのスライドの番号の表示位置を左上隅に移動します。

3. スライド番号の背景色を変更

スラ

イド番号の背景色を変更するコード例です。


Sub ChangeSlideNumberBackgroundColor()
    Dim PPTApp As Object
    Dim PPTPres As Object
    Dim Slide As Object
    
    ' PowerPoint アプリケーションを起動
    Set PPTApp = CreateObject("PowerPoint.Application")
    Set PPTPres = PPTApp.Presentations.Open("C:\path\to\your\presentation.pptx")
    
    For Each Slide In PPTPres.Slides
        With Slide.HeadersFooters.SlideNumber.Shape.Fill
            .ForeColor.RGB = RGB(0, 255, 0) ' 緑色に設定
        End With
    Next Slide
    
    PPTPres.Save
    PPTPres.Close
    Set PPTPres = Nothing
    Set PPTApp = Nothing
End Sub

このコードは、すべてのスライドの番号の背景色を緑に変更します。

まとめ

Excel VBAを使用することで、PowerPointのスライド番号のスタイルや位置、背景色などを簡単に一括で変更することが可能です。これにより、プレゼンテーション資料の品質を向上させることができます。

VBAも良いけどパワークエリも良い

VBAの解説をしてきましたが、VBAは正直煩雑でメンテナンス性が悪いです。最近はモダンExcelと呼ばれるパワークエリやパワーピボットへのシフトが進んできています。本サイトでもパワークエリの特集をしており、サンプルデータを含む全11回の学習コンテンツでパワークエリを習得することができます。

クリックするとパワークエリの全11講座が表示されます。

パワーピボットの記事はありません。興味がある場合は、書籍で学んでみてください

コメント

コメントする

目次