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では動作しません。