在PowerPoint中重命名对象

时间:2008-09-24 23:11:45

标签: ms-office powerpoint powerpoint-vba

可能是一个非常愚蠢的问题,但我无法想象如何在PowerPoint中重命名对象。例如,我的所有图形都默认调用“Graph 1”等。 有人可以帮助我吗? 谢谢!

3 个答案:

答案 0 :(得分:33)

在PowerPoint 2007中,您可以从“选择”窗格执行此操作。

要显示“选择”窗格,请单击功能区中的“主页”选项卡,然后单击“排列”,然后单击底部的“选择窗格...”。 “选择”窗格将在右侧打开。 (或按CTRL + F10)

要重命名对象,首先选择该对象,然后在“选择”窗格中双击对象名称,您就可以键入新的对象名称。

答案 1 :(得分:1)

(这个答案假设您只是在开发过程中分配更有意义的名称,因此引用这些对象的其他代码可以更具可读性。)

将下面的代码放入子文件中,然后从相关幻灯片中运行它。将依次选择每个形状,以便您可以看到正在引用的形状。输入框将告诉您当前名称并要求您输入新名称。如果取消或确定零长度输入,旧名称将保留在原位。此代码中没有名称输入验证,因此请确保只键入有效名称。运行一次之后,您可以再次运行它,以检查您在第一轮中键入的名称是否已应用于您想要的对象。

循环将覆盖当前幻灯片上的所有对象,因此如果要处理多个幻灯片,则必须在每张幻灯片上单独运行。幻灯片上的每个对象都被视为:标题,绘图对象,组,嵌入图片,方程式等等。 - 不要为您不关心的对象键入新名称。

开发完成后,最好隐藏(Private Sub)或删除此代码,这样您的用户就不会错误地更改对象名称。

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

答案 2 :(得分:0)

感谢您的帮助,但实际上我只是使用VBA ...

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

干杯