PowerPoint VBAを使い、複数の文字列を一括で検索置換するマクロをご紹介します。
通常の検索置換では1つの文字列に対してのみ有効ですが、マクロを使うと複数の文字列に対して一括で実行することが可能です。
コードは神AI「ChatGPT」で開発しました。ChatGPTについては、次の記事で解説しています。
神AI「ChatGPT」でパワポVBAを開発【始め方から解説】
ChatGPTとは、質問を投げると人工知能が回答してくれるチャットサービスです。Excelでの数式や…
この記事の目次
複数の文字列を一括で検索置換するマクロ
Sub ReplaceText() Dim sld As Slide Dim shp As shape Dim arrA As Variant Dim arrB As Variant Dim i As Integer '変換前の文字列と変換後の文字列を配列で指定 arrA = Array("変換前の文字列1", "変換前の文字列2", "変換前の文字列3") arrB = Array("変換後の文字列1", "変換後の文字列2", "変換後の文字列3") For Each sld In ActivePresentation.Slides For Each shp In sld.Shapes If shp.HasTextFrame Then For i = 0 To UBound(arrA) '文字列Aを文字列Bに置換 shp.TextFrame.TextRange.Text = Replace(shp.TextFrame.TextRange.Text, arrA(i), arrB(i)) Next i End If Next shp Next sld End Sub
Array関数を使用して複数の文字列を置換します。変換する前の文字列と変換後の文字列を、それぞれ「arrA」と「arrB」という配列に格納しています。
そして、Forループを使い「arrA」と「arrB」の要素を1つずつ取り出して置換を行います。配列の数は検索置換したい文字列の数によって調整が必要です。
マクロの使い方は、次の記事で解説しています。
PowerPointマクロ入門 | コピペで始める楽々コース
PowerPointでマクロを始めたいけど、難しそうでよく分からないという方向けの入門編です。PPD…
実行結果
検索置換したいファイルを開いてマクロを実行します。
変更後の文字列に置換されました。