残業を減らす!Officeテクニック
【Copilot for Microsoft 365】パワポもマクロ作成をAIに任せて大幅に効率化!
手動では面倒なテキストボックスからの改行削除を自動化
2024年6月24日 06:55
日頃からPowerPointの“マクロ”を活用している人は少ないですよね。スライドの分割やテキストボックスの連結、フォルダー内の画像を各スライドに挿入など、手動では辛い作業も多いのですが、力技で済ましてしまっているのではないでしょうか。
スライド作成はデザインが注目されがちで、Excelのマクロと比較して積極的に覚えようという気にならないものです。そんな人は、Copilotに助けてもらうのはいかがでしょうか。
「○○するVBAのコードを記述して」と指示すれば、あっという間にコードが生成されます。後は、VBEの画面を呼び出して実行するだけ。今回は、選択中のテキストボックスに含まれる改行をまとめて削除するVBAコードをCopilotに記述してもらいます。
なお、Web版のCopilotでも同じようにVBAコードを書いてもらうことは可能です。
CopilotにVBAコードを生成してもらう
画面右上の[Copilot]ボタンからサイドウィンドウを表示してプロンプトを入力するだけです。ここでは、以下のように入力しました。
複数選択しているテキストボックスに含まれる改行を削除するVBAコードを書いてください
なお、プロンプトを改行する場合は[Shift]+[Enter]キーを押してください。[Enter]キーはプロンプトの送信となります。
Web版のCopilotでコードを検証可能
生成されたVBAコードは以下の通りです。「Chr(13)」と「Chr(10)」は改行を表しています。大きな問題はなさそうですが、「" "」に置換(Replace)する箇所が気になりますね。
Sub RemoveLineBreaks()
Dim shp As Shape
Dim sText As String
For Each shp In ActiveWindow.Selection.ShapeRange
If shp.Type = msoTextBox Then
sText = shp.TextFrame.TextRange.Text
sText = Replace(sText, Chr(13) & Chr(10), " ")
sText = Replace(sText, Chr(13), " ")
shp.TextFrame.TextRange.Text = sText
End If
Next
End Sub
このままでは、半角スペースに置換されるはずです。Web版のCopilotに検証してもらいましょう。
VBEの画面に貼り付けて実行する
問題の箇所を修正して、VBEの画面に貼り付けて実行してみます。[開発]タブが表示されていない場合は[ファイル]-[オプション]の順にクリックして[PowerPointのオプション]を表示、[リボンのユーザー設定]から[開発]にチェックを付けておきましょう。
このままVBEの画面で[マクロの実行]ボタンをクリックすれば処理が実行されます。ここがPowerPointのマクロの便利なところで、“マクロ有効”として保存しなくても、起動中のファイルからマクロを呼び出すことが可能です。
ただし、ファイルを閉じるとコードは消えてしまうことに注意。マクロを残しておきたい場合は、マクロ有効プレゼンテーション(PPTM形式)で保存しておいてください。