PowerPointでVBAしてて困る事の一つは、シートやシェイプを指定する時。
PowerPointって勝手に管理しにくい名前着けるわ、コピーしたシェイプは同じ名前だわ、その上名前を変える操作が無い(!?)ときたもんだ。
あれこれ触ってみましたが、結論はVBAで変えるしかないですな(多分)
'##############################################
'### PowerPoint 選択しているスライドに任意の名前をつける
'##############################################
Sub スライド名前変更()
Dim strOldSlideName, strNewSlideName As String
Dim strTitle, strDescription As String
strTitle = "スライド名入力"
strDescription = "新しいスライド名を入力してください。" & VbCrLf & "現在
のスライド名 = "
strOldSlideName = ActiveWindow.Selection.SlideRange.Name
strNewSlideName = InputBox(strTitle, strDescription & strOldSlideName)
If strNewSlideName <> "" Then
ActiveWindow.Selection.SlideRange.Name = strNewSlideName
End If
End Sub
'###############################################
'### PowerPoint 選択しているシェイプに任意の名前をつける
'###############################################
Sub シェイプ名前変更()
Dim strOldShapesName, strNewShapesName As String
Dim strTitle, strDescription As String
strTitle = "シェイプ名入力"
strDescription = "新しいシェイプ名を入力してください。" & VbCrLf & "現在
のシェイプ名 = "
strOldShapesName = ActiveWindow.Selection.ShapeRange.Name
strNewShapesName = InputBox(strTitle, strDescription & strOldShapesName)
If strNewShapesName <> "" Then
ActiveWindow.Selection.ShapeRange.Name = strNewShapesName
End If
End Sub
PowerPointって勝手に管理しにくい名前着けるわ、コピーしたシェイプは同じ名前だわ、その上名前を変える操作が無い(!?)ときたもんだ。
あれこれ触ってみましたが、結論はVBAで変えるしかないですな(多分)
'#######################
'### PowerPoint 選択しているスライドに任意の名前をつける
'#######################
Sub スライド名前変更()
Dim strOldSlideName, strNewSlideName As String
Dim strTitle, strDescription As String
strTitle = "スライド名入力"
strDescription = "新しいスライド名を入力してください。" & VbCrLf & "現在
のスライド名 = "
strOldSlideName = ActiveWindow.Selection.
strNewSlideName = InputBox(strTitle, strDescription & strOldSlideName)
If strNewSlideName <> "" Then
ActiveWindow.Selection.
End If
End Sub
'#######################
'### PowerPoint 選択しているシェイプに任意の名前をつける
'#######################
Sub シェイプ名前変更()
Dim strOldShapesName, strNewShapesName As String
Dim strTitle, strDescription As String
strTitle = "シェイプ名入力"
strDescription = "新しいシェイプ名を入力してください。" & VbCrLf & "現在
のシェイプ名 = "
strOldShapesName = ActiveWindow.Selection.
strNewShapesName = InputBox(strTitle, strDescription & strOldShapesName)
If strNewShapesName <> "" Then
ActiveWindow.Selection.
End If
End Sub
