添加新幻灯片时如何获得一致的形状名称?

我有一个宏,可让我根据excel文件在所有幻灯片的文本框中插入文本。问题是,当我插入一个带有占位符的新幻灯片时,即使在幻灯片母版中命名它们时,该新幻灯片中的形状也会用不同的数字重命名。插入新幻灯片时,形状是否可以保留其名称?

示例:

我的PPT VBA代码:

Slide.Shapes("Title 1").TextFrame.textrange.Text = blablabla
Slide.Shapes("Subtitle 2").TextFrame.textrange.Text = blablabla

在幻灯片母版中,我分别将形状命名为“标题1”和“字幕2”。

退出幻灯片母版后,我添加了一张新幻灯片(注意:不重复的幻灯片)。但是,它变成了“标题3”和“字幕4”。编号会有所不同。

感谢您在添加新幻灯片时如何保持名称不变的建议。

wenzhubin 回答:添加新幻灯片时如何获得一致的形状名称?

如果要自动执行此操作,则需要创建事件过程。首先在VBE中添加一个类模块,将其命名为clsAppEvents并添加代码

' Class module clsAppEvents 
Option Explicit

Public WithEvents App As Application

Sub App_PresentationNewSlide(ByVal oSld As Slide)
  ' Add your code here e.g.
  oSld.Shapes(1).Name = "Title 1"
  oSld.Shapes(2).Name = "Subtitle 2"
End Sub

然后在您的Module1中添加此

' Module code
Option Explicit

Public oAppEvents As New clsAppEvents

Sub InitialiseApp()
    Set oAppEvents.App = Application
End Sub

现在,如果每次添加新幻灯片时都运行InitialiseApp()(一次就足够了),则将执行Sub App_PresentationNewSlide。 (在事件类中,您也可以进一步定义其他事件过程)。

本文链接:https://www.f2er.com/3127034.html

大家都在问