PPT中单个幻灯片添加不同编号

发布时间 2023-07-09 22:29:03作者: Ezharjan

  1. 情景:一个PPT中会有页码,也会有多个其它的编号,对于页码,好办,可以自动生成,但对于其他自定义的、只想在部分页面添加的编号,则需要写VBA脚本进行处理,使页码和自定义编号共存并真正实现编号在各个幻灯片中的自定义特征。

  2. 采用如下VBA脚本实现自定义编号:

Sub AddCustomPageNumber()
    Dim currentSlide As Slide
    Dim pageNum As Long
    Dim totalSlides As Long
    Dim startPage As Long
    Dim endPage As Long
    
    ' 设置起始页码和终止页码
    startPage = 7
    endPage = 42
    
    ' 设置初始页码和总页数
    pageNum = 1
    totalSlides = 36

    For Each currentSlide In ActivePresentation.Slides
        If pageNum >= startPage And pageNum <= endPage Then
            
            Dim pageNumberShape As Shape
            Set pageNumberShape = currentSlide.Shapes.AddShape(msoShapeRectangle, 460, 18, 80, 30)
            
            
            With pageNumberShape
                .Fill.Visible = msoFalse
                .Line.Visible = msoFalse
                .TextFrame2.TextRange.Text = "(" & pageNum - 6 & "/" & totalSlides & ")"
                .TextFrame2.TextRange.Font.Size = 14
                .TextFrame2.TextRange.Font.Name = "Times New Roman"
                .TextFrame2.TextRange.Paragraphs.ParagraphFormat.Alignment = ppAlignCenter
            End With
        End If
        
        pageNum = pageNum + 1
    Next currentSlide
End Sub
  1. PPT 2016中点击开发工具并新建模块,粘贴上述代码并运行,将会在页面右上部位看到自定义页面编码的情况,只需要修改上述代码中的各个数字即可实现自定义编码。