Home » パワーポイントマクロ・PowerPoint VBAの使い方 » TextFrame・TextRange » 文字列を検索してフォントを変更するPowerPointマクロ

文字列を検索してフォントを変更するPowerPointマクロ

対象:PowerPoint2007, PowerPoint2010, PowerPoint2013

「パワーポイント 特定の文字列 フォント変更 マクロ」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

指定した文字列のフォントだけを変更するPowerPointマクロ・VBA(Visual Basic for Applications)のコードを探している方による検索です。

Wordの場合、[検索と置換]ダイアログを使って、特定の文字列のフォント書式を変更することが可能です。

文字列を検索してフォントを変更するPowerPointマクロ

[スポンサードリンク]

しかしPowerPointの[置換]ダイアログでは書式の変更を行うことができませんから、

文字列を検索してフォントを変更するPowerPointマクロ

特定の文字列のフォント書式を変更するマクロが欲しいというのはとても納得できます。

文字列を検索してフォントを変更するサンプルマクロ

以下のようなマクロで、文字列を検索してフォントを変更することができます。

Sub 文字列を検索してフォントを変更する()
 Const FIND_TXT = "Contoso.com"
 Const FONT_NAME = "Arial Black"

 Dim sld As Slide
 Dim shp As Shape
 Dim rng As TextRange
 Dim find_rng As TextRange

 For Each sld In ActivePresentation.Slides

  For Each shp In sld.Shapes
  If shp.HasTextFrame Then

   Set rng = shp.TextFrame.TextRange
   Set find_rng = rng.Find(FindWhat:=FIND_TXT)

   Do Until find_rng Is Nothing
   With find_rng

    .Font.Name = FONT_NAME

    Set find_rng = rng.Find( _
     FindWhat:=FIND_TXT, _
     After:=.Start + .Length - 1)

   End With
   Loop

  End If
  Next

 Next
End Sub

上記のマクロを実行すると、アクティブなプレゼンテーションファイル上で「Contoso.com」という文字列を検索して、フォントを「Arial Black」に変更します。

PowerPoint VBA(Visual Basic for Applications)のTextRange.Findメソッドのヘルプに掲載されているコードに、少しだけ手をいれたマクロです。

サンプルマクロの解説

検索する文字列とフォント名は定数で指定するようにしています。
 Const FIND_TXT = "Contoso.com"
 Const FONT_NAME = "Arial Black"

アクティブなプレゼンテーションファイル上のすべてのSlideにループを回して、
 For Each sld In ActivePresentation.Slides

各スライド内のすべてのShapeにループを回し、
  For Each shp In sld.Shapes

もしも文字列が含まれていたら、
  If shp.HasTextFrame Then

定数・FIND_TXTで指定された文字列を検索します。
   Set rng = shp.TextFrame.TextRange
   Set find_rng = rng.Find(FindWhat:=FIND_TXT)

文字列が見つからなくなるまでループを回して、
   Do Until find_rng Is Nothing

みつかった場合は、定数・FONT_NAMEで指定したフォントに変更してから、
   With find_rng
    .Font.Name = FONT_NAME

また文字列を探します。
    Set find_rng = rng.Find( _
     FindWhat:=FIND_TXT, _
     After:=.Start + .Length - 1)

[スポンサードリンク]

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » TextFrame・TextRange » 文字列を検索してフォントを変更するPowerPointマクロ

「TextFrame・TextRange」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.