PowerPointを使っていると、スライド内の特定の文字列のフォントを一括で変更したい場面が出てきますよね。例えば、プレゼンテーション中の「重要」や「注意」といったキーワードを目立たせたいときなどです。そんなときに活躍するのが、PowerPoint VBA(Visual Basic for Applications)を使ったマクロです。
今回は、初心者の方でもわかりやすいように、PowerPoint VBAを使ってスライド内の文字列を検索し、そのフォントを変更する方法をご紹介します。
PowerPoint VBAとは?
PowerPoint VBAとは、PowerPointに組み込まれているプログラミング言語で、スライドの操作を自動化したり、複雑な作業を効率化したりするためのツールです。例えば、スライドのレイアウトを一括で変更したり、特定の文字列を検索してそのフォントを変更したりすることができます。
文字列を検索してフォントを変更するマクロの作成
まずは、PowerPoint VBAを使って、スライド内の特定の文字列を検索し、そのフォントを変更するマクロを作成してみましょう。
サンプルコード
vba
Sub 文字列を検索してフォントを変更する()
Const FIND_TXT = "重要"
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
このマクロは、プレゼンテーション内のすべてのスライドを順番にチェックし、「重要」という文字列を見つけたら、そのフォントを「Arial Black」に変更します。
Excelと連携して複数の文字列を検索する方法
複数の文字列を一度に検索してフォントを変更したい場合、ExcelとPowerPoint VBAを連携させる方法があります。Excelに検索したい文字列をリストとして入力し、そのリストを元にPowerPoint内の文字列を検索していきます。
サンプルコード
vba
Sub Excelから検索文字列を取得してフォントを変更する()
Dim xlApp As Object
Dim xlBook As Object
Dim xlSheet As Object
Dim ppt As Presentation
Dim sld As Slide
Dim shp As Shape
Dim i As Integer
Dim strSearch As String
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open("C:\path\to\your\excel\file.xlsx")
Set xlSheet = xlBook.Worksheets(1)
Set ppt = ActivePresentation
For Each sld In ppt.Slides
For Each shp In sld.Shapes
If shp.HasTextFrame Then
For i = 1 To xlSheet.Cells(xlSheet.Rows.Count, 1).End(-4162).Row
strSearch = xlSheet.Cells(i, 1).Value
If InStr(shp.TextFrame.TextRange.Text, strSearch) > 0 Then
shp.TextFrame.TextRange.Font.Name = "Arial Black"
End If
Next i
End If
Next shp
Next sld
xlBook.Close
xlApp.Quit
End Sub
このマクロは、Excelの1列目に入力された文字列を順番に読み込み、PowerPoint内のスライドをチェックして一致する文字列があれば、そのフォントを「Arial Black」に変更します。
よくある質問や疑問
Q1: VBAのコードを実行するにはどうすればいいですか?
PowerPointを開き、「Alt」+「F11」キーでVBAエディタを起動します。新しいモジュールを挿入し、上記のコードを貼り付けて、「F5」キーで実行できます。
Q2: 複数の文字列を一度に検索してフォントを変更するにはどうすればいいですか?
ExcelとPowerPoint VBAを連携させる方法をご紹介しました。Excelに検索したい文字列をリストとして入力し、そのリストを元にPowerPoint内の文字列を検索していきます。
Q3: フォントを変更するだけでなく、文字の色やサイズも変更できますか?
はい、可能です。例えば、`.Font.Color.RGB = RGB(255, 0, 0)`で文字色を赤に、`.Font.Size = 24`で文字サイズを24に変更できます。
今すぐ解決したい!どうしたらいい?
いま、あなたを悩ませているITの問題を解決します!
「エラーメッセージ、フリーズ、接続不良…もうイライラしない!」
あなたはこんな経験はありませんか?
✅ ExcelやWordの使い方がわからない💦
✅ 仕事の締め切り直前にパソコンがフリーズ💦
✅ 家族との大切な写真が突然見られなくなった💦
✅ オンライン会議に参加できずに焦った💦
✅ スマホの重くて重要な連絡ができなかった💦
平均的な人は、こうしたパソコンやスマホ関連の問題で年間73時間(約9日分の働く時間!)を無駄にしています。あなたの大切な時間が今この悩んでいる瞬間も失われています。
LINEでメッセージを送れば即時解決!
すでに多くの方が私の公式LINEからお悩みを解決しています。
最新のAIを使った自動応答機能を活用していますので、24時間いつでも即返信いたします。
誰でも無料で使えますので、安心して使えます。
問題は先のばしにするほど深刻化します。
小さなエラーがデータ消失や重大なシステム障害につながることも。解決できずに大切な機会を逃すリスクは、あなたが思う以上に高いのです。
あなたが今困っていて、すぐにでも解決したいのであれば下のボタンをクリックして、LINEからあなたのお困りごとを送って下さい。
ぜひ、あなたの悩みを私に解決させてください。
まとめ
PowerPoint VBAを使うことで、スライド内の特定の文字列を検索してそのフォントを変更する作業を自動化できます。Excelと連携させることで、複数の文字列を一度に検索して変更することも可能です。これらのマクロを活用して、プレゼンテーションの作業効率を大幅に向上させましょう。
他にも疑問やお悩み事があればお気軽にLINEからお声掛けください。
コメント