Renaming Objects in PowerPoint

2019-03-15 00:59发布

Probably a very stupid question but I can't figure how to rename an object in PowerPoint.. For example, all my Graphs are called by default "Graph 1" etc. Could someone help me on that? Thanks!

3条回答
做自己的国王
2楼-- · 2019-03-15 01:34

Thanks for your help but actually I am just doing it using VBA...

ActiveWindow.Selection.ShapeRange(1).Name = "newname"

Cheers

查看更多
淡お忘
3楼-- · 2019-03-15 01:43

In PowerPoint 2007 you can do this from the Selection pane.

To show the Selection pane, click on the Home tab in the ribbon, then click on Arrange and then 'Selection Pane...' at the bottom. The Selection pane will open on the right. (Or press CTRL+F10)

To rename an object, first select the object and then double click on the object name in the Selection pane and you will be able to type the new object name.

查看更多
混吃等死
4楼-- · 2019-03-15 01:44

(This answer assumes you are merely assigning more meaningful names during development, so your other code that references the objects can be more readable).

Put the code below into a sub, then run it from the slide in question. Each shape will be selected in turn, so you can see what shape is being referenced. An input box will tell you the current name and ask you for a new name. If you cancel or OK a zero-length input, the old name will stay in place. There is no name entry validation in this code, so be sure you type only valid names. After running it once, you can run it again just to check that the names you typed in the first round were applied to the object you intended.

The loop will cover all objects on the current slide, so if you want to process multiple slides, you have to run this separately on each slide. Every object on the slide is considered: title, drawing objects, groups, embedded pictures, equations, etc. etc. - just don't type a new name for objects that you don't care.

After your development is finished, best hide (Private Sub) or erase this code, so your users don't change object names by mistake.

Dim s As Integer, NewName As String

With ActiveWindow.Selection.SlideRange
    For s = 1 To .Shapes.Count
        .Shapes(s).Select ' So you can see the object in question
        NewName = InputBox(.Shapes(s).Name) ' Tell what current name it is and ask for new name
        If Len(NewName) > 0 Then .Shapes(s).Name = NewName ' If you typed a new name, apply it
    Next s ' 1 To .Shapes.Count
End With ' ActiveWindow.Selection.SlideRange
查看更多
登录 后发表回答