Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Slide・スライド » スライドの名前を変更するPowerPointマクロ

スライドの名前を変更するPowerPointマクロ

対象:PowerPoint2003, PowerPoint2007, PowerPoint2010, PowerPoint2013

「パワーポイント マクロ スライドに名前」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

アプリケーションとしてのPowerPoint側からしか操作していないときには意識することはありませんが、スライドには「Slide11」といった名前が自動的につけられています。

VBAから操作するときには、この名前を利用するほうが便利なこともあるため、その変更方法などを探している方による検索でしょう。

[スポンサードリンク]

参考になりそうな、マクロを作成してみました。

Sub アクティブスライドの名前を変更する()
 Dim old_name As String
 Dim new_name As String
 Dim msg As String

 old_name = ActiveWindow.Selection.SlideRange.Name

 msg = "現在のスライド名は『" & old_name & "』です。"
 msg = msg & "新しいスライド名を入力してください。"
 new_name = InputBox(Prompt:=msg, Default:=old_name)

 If StrPtr(new_name) = 0 Then Exit Sub 'キャンセル時にはマクロを終了

 On Error GoTo ERR_HNDL
 If new_name = "" Then Err.Raise -1

 ActiveWindow.Selection.SlideRange.Name = new_name

 msg = "スライド名を『" & new_name & "』に変更しました。"
 MsgBox msg

 Exit Sub

ERR_HNDL:
 msg = "スライド名を変更できませんでした。"
 MsgBox msg
End Sub

上記のマクロを実行すると、現在のスライドの名前を表示したインプットボックスが表示され、インプットボックスに名前を入力すると、その名前に変更されます。

現在のスライドの名前は、ActiveWindow.Selection.SlideRange.Nameプロパティで取得・設定することができます。

実際に名前を変更する処理は、
  ActiveWindow.Selection.SlideRange.Name = new_name
の部分ですが、インプットボックスで名前を入力してもらうために、各種エラー処理を入れています。

インプットボックスで[キャンセル]ボタンが押されたかどうかは、StrPtr関数を使って判別してキャンセルならマクロを終了しています。
  If StrPtr(new_name) = 0 Then Exit Sub

既に同じ名前のスライドが存在していたときなどのエラー処理はERR_HNDLでまとめて行うようにして、
  On Error GoTo ERR_HNDL

インプットボックスで空白文字列が入力されたときも仮のErrをRaiseしてERR_HNDLに飛ばしています。
  If new_name = "" Then Err.Raise -1

[スポンサードリンク]

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Slide・スライド » スライドの名前を変更するPowerPointマクロ

「Slide・スライド」の記事一覧

検索


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

.