Office関連

スライドマスターのフォントを一括変更するPowerPointマクロ

PowerPointでスライドを作成中、マスターのフォントをまとめて変更したくなったのですが、手作業でやるには地味に面倒な作業です。

自分でマクロを書こうかとも思ったのですが、検索したら出てきました↓
さすがは伊藤さん!

このマクロで気になったのは“フォント名を決め打ち”しているところ。

面倒くさがり屋な私的には、正しいフォント名を調べるのも、フォントを変えるたびに一々コードを書き換えるのも面倒です。

そこで、一時的にコンボボックス(コマンドバー)を作成して、フォントの一覧から選択できるよう、マクロを改造することにしました。

Option Explicit

Public Sub ExecChangeSlideMasterFonts()
  Dim cbo As CommandBarControl
  Dim itm As Object
  Const CSIDL_FONTS = 20
  
  With Application.CommandBars.Add(Position:=msoBarPopup, Temporary:=True)
    Set cbo = .Controls.Add(Type:=msoControlComboBox, Temporary:=True)
    With cbo
      .Caption = "フォント"
      .Text = "メイリオ"
      With CreateObject("Shell.Application").Namespace(CSIDL_FONTS)
        For Each itm In .Items
          cbo.AddItem .GetDetailsOf(itm, 8)
        Next
      End With
      .OnAction = "ChangeSlideMasterFonts"
    End With
    .ShowPopup
    .Delete
  End With
End Sub

Public Sub ChangeSlideMasterFonts(Optional ByVal dummy As Long = 0)
'スライドマスターのフォント変更
'https://www.relief.jp/docs/powerpoint-vba-setting-slide-master-fonts.html 参考
  Dim shp As PowerPoint.Shape
  Dim s As String
  
  On Error Resume Next
  s = Application.CommandBars.ActionControl.Text
  If Len(Trim(s)) < 1 Then Exit Sub
  With ActivePresentation.SlideMaster.Shapes
    For Each shp In .Placeholders
      With shp.TextFrame2.TextRange.Font
        .NameFarEast = s
        .Name = s
      End With
    Next
  End With
  On Error GoTo 0
  MsgBox "処理が終了しました。"
End Sub

エラーの処理は手抜きですが、これならばフォントを自由に選択できるので、使い勝手が良くなったのではないかと思います。

ちなみに、フォントの取得部分の処理は下記記事のコードを流用しています。

【アイカツフレンズ!】ベストフレンズ認定会(ピュアパレット)に参加しました。前のページ

[Google Apps Script]Microsoft Graph APIを使ってMicrosoftのサービスと連携する方法次のページ

関連記事

  1. Office関連

    カウントダウンタイマーを作成するPowerPointマクロ

    大分前に書いた記事について問い合わせがありましたので、マクロを作成しな…

  2. Office関連

    Windows 10 Technical PreviewにOffice XPをインストールしてみまし…

    「最新ビルドを詳細レビュー! Windows 10 Technical…

  3. Office関連

    右クリックから図形の配置 for Office 2013

    HPの掲示板に"右クリックから「配置」を実行できないか?"という質問が…

  4. Office関連

    「あのコマンドどこだっけ? for Office 2013」の紹介

    Word MVPの新田さんのブログでも紹介していただいている自作フリー…

  5. Office関連

    「変更履歴とコメントの表示」を設定するWordマクロ

    Microsoft コミュニティに「変更履歴とコメントの表示」オプショ…

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP