PowerPointについての「よくあるご質問」はこちらからご覧いただけます。
スポンサーリンク
スポンサーリンク

PowerPoint VBA ガイドを上下左右に追加するマクロ

PowerPoint VBAを使い、ガイドを上下左右に追加してマージン(余白)を作るマクロをご紹介します。フォームにスライドの境界線から何cm空けた位置にガイドを引きたいかを入力するだけで、ガイドが自動で追加されるマクロです。

通常PowerPointでガイドを追加するには、右クリックメニューの「グリッドとガイド」から追加し、ドラッグしながら指定の場所へ移動させます。スライドの上下左右にガイドを追加するには、この動作を4回繰り返さなければなりません。

しかも、ガイドの移動時に表示される値がスライドサイズのセンターからの距離になっているため、非常に設定がしづらい仕様となっています。

スポンサーリンク

ガイドを上下左右に追加するマクロ

コード

Sub ガイドを追加しマージンを作成()

    Dim margin As String
    Dim msg As String
    Dim w As Double
    Dim h As Double
    Dim guideColor As Long
    
    'ガイドを全て削除
    Call ガイドを全て削除
    
    'マージン入力フォーム
    margin = InputBox("マージンを入力してください。" & vbCrLf & _
    "(単位: mm)")
    
    '数値以外が入力された場合はマクロ終了
    If IsNumeric(margin) Then
    ElseIf margin = "" Then
        Exit Sub
    Else
        msg = "数値を入力してください。"
        MsgBox msg
        Exit Sub
    End If
    
    'マージンを「mm」に変換
    margin = Round(margin * 72 / 25.4, 0)
    
    'スライドサイズ取得
    w = ActivePresentation.PageSetup.SlideWidth
    h = ActivePresentation.PageSetup.SlideHeight
    
    'ガイドを表示
    Application.DisplayGuides = True
    
    'ガイドの色
    guideColor = VBA.RGB(164, 163, 164)
    
    'マージンの位置にガイドを追加
    With ActivePresentation.Guides
    
        '上ガイドを追加
        .Add(ppHorizontalGuide, margin).Color = guideColor
        
        '下ガイドを追加
        .Add(ppHorizontalGuide, h - margin).Color = guideColor
        
        '左ガイドを追加
        .Add(ppVerticalGuide, margin).Color = guideColor
        
        '右ガイドを追加
        .Add(ppVerticalGuide, w - margin).Color = guideColor
        
        'センターガイドを追加
        .Add(ppHorizontalGuide, h / 2).Color = guideColor
        .Add(ppVerticalGuide, w / 2).Color = guideColor
        
  End With
End Sub

Sub ガイドを全て削除()
    
    Dim i As Long
 
    With Application.ActivePresentation
  
        'ガイドの数だけ処理を繰り返す
        If .Guides.Count > 0 Then
            For i = .Guides.Count To 1 Step -1
            
            'ガイドを削除
            .Guides(i).Delete
        Next

        End If
    End With
End Sub

マージンを「cm」で入力したければ、「margin = Round(margin * 720 / 25.4, 0)」に変更してください。

すでに追加されているガイドを全て削除するため、センターガイドも新たに追加しています。ガイドを削除したくなければ、「Call ガイドを全て削除」を削除してください。

ガイドの色を設定する

PowerPointのガイドの色は10色の中から選べます。

それぞれのRGB値は以下の通りです。お好きな色を設定してください。

'グレー色
guideColor = VBA.RGB(164, 163, 164)
'赤色
guideColor = VBA.RGB(242, 107, 67)
'オレンジ色
guideColor = VBA.RGB(251, 174, 64)
'黄色
guideColor = VBA.RGB(253, 229, 60)
'黄緑色
guideColor = VBA.RGB(159, 204, 59)
'水色
guideColor = VBA.RGB(90, 203, 240)
'青色
guideColor = VBA.RGB(84, 126, 191)
'紫色
guideColor = VBA.RGB(195, 94, 164)
'黒色
guideColor = VBA.RGB(0, 0, 0)
'白色
guideColor = VBA.RGB(255, 255, 255)

実行方法

フォームにマージンの値を入力して「OK」をクリックします。

A4サイズのスライドにマージンを「15mm」で設定しました。

  • PowerPoint 2016 for Macでは動作しません。