「パワーポイント マクロ スライドに名前」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。
アプリケーションとしてのPowerPoint側からしか操作していないときには意識することはありませんが、スライドには「Slide11」といった名前が自動的につけられています。
VBAから操作するときには、この名前を利用するほうが便利なこともあるため、その変更方法などを探している方による検索でしょう。
参考になりそうな、マクロを作成してみました。
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
- Newer:独学より習得の近道だと感じた
- Older:Office 2013を終了するボタンをクイックアクセスツールバーに
Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Slide・スライド » スライドの名前を変更するPowerPointマクロ