PowerPoint VBAで文字列を含む図形を探して操作する方法

パソコンパソコン・スマホ教室
スポンサーリンク

「PowerPointでVBAを使って、スライド内の特定の文字列を含む図形を見つけて操作したい」と考えているあなたへ。特にパソコンやスマホに詳しくない方でもわかりやすく、実際に使えるコードとともに解説します。

スポンサーリンク

PowerPoint VBAで文字列を含む図形を探す基本的な方法

PowerPointのイメージ

PowerPointのイメージ

まず、PowerPointのスライド内で特定の文字列を含む図形を探す方法をご紹介します。

TextRange.Findメソッドを使う

PowerPoint VBAには、スライド内のテキストを検索するための「TextRange.Find」メソッドがあります。このメソッドを使うと、指定した文字列を含むテキストを見つけることができます。

例えば、スライド内のすべての図形を調べて、「重要」という文字列を含むものを見つけるコードは以下のようになります。

vba
Sub FindTextInShapes()
Dim sld As slide
Dim shp As shape
Dim txtRng As TextRange
Dim foundText As TextRange

' アクティブなプレゼンテーションのすべてのスライドをループ
For Each sld In ActivePresentation.Slides
' 各スライド内のすべての図形をループ
For Each shp In sld.Shapes
If shp.HasTextFrame Then
' 図形にテキストが含まれている場合
Set txtRng = shp.TextFrame.TextRange
Set foundText = txtRng.Find("重要")
' 見つかった場合
If Not foundText Is Nothing Then
MsgBox "スライド " & sld.SlideIndex & " の図形に「重要」が含まれています。"
End If
End If
Next shp
Next sld
End Sub

このコードを実行すると、「重要」という文字列を含む図形があるスライド番号がメッセージボックスで表示されます。

InStr関数を使う

もう一つの方法として、「InStr」関数を使う方法があります。この関数は、指定した文字列が他の文字列の中に含まれているかを調べることができます。

以下は、スライド内のすべての図形を調べて、「重要」という文字列を含むものを見つけるコードです。

vba
Sub FindTextInShapesUsingInStr()
Dim sld As slide
Dim shp As shape

' アクティブなプレゼンテーションのすべてのスライドをループ
For Each sld In ActivePresentation.Slides
' 各スライド内のすべての図形をループ
For Each shp In sld.Shapes
If shp.HasTextFrame Then
' 図形にテキストが含まれている場合
If InStr(shp.TextFrame.TextRange.Text, "重要") > 0 Then
MsgBox "スライド " & sld.SlideIndex & " の図形に「重要」が含まれています。"
End If
End If
Next shp
Next sld
End Sub

このコードも、先ほどと同様に「重要」という文字列を含む図形があるスライド番号をメッセージボックスで表示します。

よくある質問や疑問

Q1: VBAのコードをどこに入力すればいいですか?

PowerPointでVBAのコードを入力するには、まず「Alt + F11」を押してVBAエディタを開きます。次に、「挿入」→「モジュール」を選択し、表示されたウィンドウにコードを貼り付けてください。コードを貼り付けたら、「F5」キーを押すことで実行できます。

Q2: 特定の文字列を含む図形だけを操作するにはどうすればいいですか?

特定の文字列を含む図形だけを操作するには、先ほどご紹介したコード内で「If InStr(shp.TextFrame.TextRange.Text, “重要”) > 0 Then」の部分を使って条件を設定します。この条件を満たす図形に対して、フォントの変更や色の変更などの操作を追加することができます。

Q3: 複数の文字列を同時に検索するにはどうすればいいですか?

複数の文字列を同時に検索するには、Excelと連携して検索ワードを管理する方法があります。Excelに検索ワードをリストとして入力し、VBAでそのリストを読み込んでPowerPoint内を検索することができます。詳細なコード例については、以下のリンクをご参照ください。

今すぐ解決したい!どうしたらいい?

LINE公式

いま、あなたを悩ませているITの問題を解決します!
「エラーメッセージ、フリーズ、接続不良…もうイライラしない!」

あなたはこんな経験はありませんか?

✅ ExcelやWordの使い方がわからない💦
✅ 仕事の締め切り直前にパソコンがフリーズ💦
✅ 家族との大切な写真が突然見られなくなった💦
✅ オンライン会議に参加できずに焦った💦
✅ スマホの重くて重要な連絡ができなかった💦

平均的な人は、こうしたパソコンやスマホ関連の問題で年間73時間(約9日分の働く時間!)を無駄にしています。あなたの大切な時間が今この悩んでいる瞬間も失われています。

LINEでメッセージを送れば即時解決!

すでに多くの方が私の公式LINEからお悩みを解決しています。

最新のAIを使った自動応答機能を活用していますので、24時間いつでも即返信いたします。

誰でも無料で使えますので、安心して使えます。

問題は先のばしにするほど深刻化します。

小さなエラーがデータ消失重大なシステム障害につながることも。解決できずに大切な機会を逃すリスクは、あなたが思う以上に高いのです。

あなたが今困っていて、すぐにでも解決したいのであれば下のボタンをクリックして、LINEからあなたのお困りごとを送って下さい。

相談しに行く

ぜひ、あなたの悩みを私に解決させてください。

まとめ

PowerPoint VBAを使って、スライド内の特定の文字列を含む図形を見つけて操作する方法をご紹介しました。初心者の方でも実践できるように、コードとともにわかりやすく解説しました。

他にも疑問やお悩み事があれば、お気軽にLINEからお声掛けください。

コメント

タイトルとURLをコピーしました