【パワポ】魔法のガイドラインを引くマクロ(その2) | みんなのワードマクロ

みんなのワードマクロ

ワードマクロで、文書作成とオフィス事務を効率化!!

先日のパワポマクロ「【パワポ】魔法のガイドラインを引くマクロ 」の改良版です。

ブログ記事を公開したところ、Microsoft MVP for Office System のきぬあささん からガイドラインの色の変更もできることを教えていただき、それもそうだと思って作り替えました。

実際に、前回マクロを使っていて不便だと思ったことがあったので、その点も修正しました。



▼このマクロでできること

パワポの用紙サイズにかかわらず、標準画面(4:3)とワイド画面(16:9)の場合に、魔法のガイドラインを引きます。

ガイドラインには、色をつけられます。

あんまりカラフルにすると気が散りますから(笑)、私は目立ちすぎず、でも気分がよくなる色(自分の趣味で選んでますが)をつけることにしました。


マクロを実行すると以下のダイアログボックスが表示されます。
番号を入力してください。




すると、現在開かれているスライドのサイズを自動判定して、それにあったガイドラインを引きます。

たとえば、今週末のセミナー用の資料です。標準の4:3で作っています。




来週のJTFツールセミナーの資料は作り始めたばかりですが、こんな感じ。山吹色で線を引きました。





クイックアクセスツールバーのボタンは、これ!
それっぽいです。







▼マクロの解説

前半で、色の選択をできるようにしてみました。

インプットボックスに番号を入力し、その番号をSelect Caseステートメントで場合分けをしています。
1~3以外を入力するとマクロは終了します。

オレンジ色部分で、色の設定をしています。


青文字部分で、現在表示されている(カーソルがおかれている)スライドの寸法を取得しています。

この寸法の比率を測定してSelect Case ステートメントで処理をしています。

前回のブログで紹介した線の位置は、横幅が720ピクセルのものだったので、その比率をもとにmyRatioで計算しなおしています。


赤文字部分で、前回のマクロと同様、すでに引かれているガイドラインの削除をします。


▼マクロ

Sub 魔法のガイドライン2()
 
 Dim myHeight As Single
 Dim myWidth As Single
 Dim myRatio As Single
 Dim myColor As Long
 Dim myMessage As String
 
 'ガイドラインの色を設定
 myMessage = "色を選択してください。" & vbCr & _
        "1: ライムグリーン" & vbCr & _
        "2: 山吹色" & vbCr & _
        "3: 50%灰色"

 Select Case CInt(InputBox(myMessage, "ガイドラインの色の設定", 1))
  Case 1
   myColor = RGB(153, 204, 0) 'ライムグリーン
  Case 2
   myColor = RGB(255, 153, 0) '山吹色
  Case 3
   myColor = RGB(128, 128, 128) '50%灰色
  Case Else
   Exit Sub
 End Select

 
 With Application.ActivePresentation
 
  myHeight = .PageSetup.SlideHeight
  myWidth = .PageSetup.SlideWidth

  
  Select Case myHeight / myWidth
   Case 0.75 '標準画面(4:3)
    DelAllGuides
    myRatio = myWidth / 720
    .Guides.Add(ppHorizontalGuide, 15 * myRatio).Color = myColor
    .Guides.Add(ppHorizontalGuide, 185 * myRatio).Color = myColor
    .Guides.Add(ppHorizontalGuide, 270 * myRatio).Color = myColor
    .Guides.Add(ppHorizontalGuide, 355 * myRatio).Color = myColor
    .Guides.Add(ppHorizontalGuide, 525 * myRatio).Color = myColor
    .Guides.Add(ppVerticalGuide, 20 * myRatio).Color = myColor
    .Guides.Add(ppVerticalGuide, 246 * myRatio).Color = myColor
    .Guides.Add(ppVerticalGuide, 360 * myRatio).Color = myColor
    .Guides.Add(ppVerticalGuide, 474 * myRatio).Color = myColor
    .Guides.Add(ppVerticalGuide, 700 * myRatio).Color = myColor

   Case 0.5625 'ワイド画面(16:9)
    DelAllGuides
    myRatio = myWidth / 720
    .Guides.Add(ppHorizontalGuide, 15 * myRatio).Color = myColor
    .Guides.Add(ppHorizontalGuide, 140 * myRatio).Color = myColor
    .Guides.Add(ppHorizontalGuide, 202.5 * myRatio).Color = myColor
    .Guides.Add(ppHorizontalGuide, 265 * myRatio).Color = myColor
    .Guides.Add(ppHorizontalGuide, 390 * myRatio).Color = myColor
    .Guides.Add(ppVerticalGuide, 20 * myRatio).Color = myColor
    .Guides.Add(ppVerticalGuide, 246 * myRatio).Color = myColor
    .Guides.Add(ppVerticalGuide, 360 * myRatio).Color = myColor
    .Guides.Add(ppVerticalGuide, 474 * myRatio).Color = myColor
    .Guides.Add(ppVerticalGuide, 700 * myRatio).Color = myColor
    
   Case Else 'その他
    '何もしない
    
  End Select
 End With
 
 'ガイドの表示
 Application.DisplayGuides = True

End Sub


Private Sub DelAllGuides()
'表示中のプレゼンテーションのガイドをすべて削除する
 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



▼関連記事

【パワポ】魔法のガイドラインを引くマクロ