吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 608|回复: 1
收起左侧

[其他原创] PPT VBA 加页码

[复制链接]
etkane 发表于 2024-8-19 10:09
PPT只有首页不加页码,如果有首页,有目录,有尾页,加页码就比较麻烦,可以用下面的VBA实线,老页码会自动删除。
其中Set pg = ActivePresentation.Slides(X).Shapes.AddTextbox(msoTextOrientationHorizontal, .Width - 55, .Height - 20, 55, 35)里面的-55,-20为右下角便宜。
For X = 3 To ActivePresentation.Slides.Count - 1 '统计隐藏的幻灯片数   3 和1分别是首页起始和最后不加。
如上。
.Text = X - 2 & "/" & ActivePresentation.Slides.Count - 3  这个是页码/总页码
.Font.Size = 12   这个是字号
.Font.Color.RGB = RGB(255, 255, 255)   这个是颜色



[Visual Basic] 纯文本查看 复制代码
Sub 加页码()

    On Error Resume Next
    For X = 1 To ActivePresentation.Slides.Count  '统计隐藏的幻灯片数
     ActivePresentation.Slides(X).Shapes("页码").Delete
     Next
     For X = 3 To ActivePresentation.Slides.Count - 1 '统计隐藏的幻灯片数
     With Application.ActivePresentation.SlideMaster
     
    Set pg = ActivePresentation.Slides(X).Shapes.AddTextbox(msoTextOrientationHorizontal, .Width - 55, .Height - 20, 55, 35)
    End With
    
    pg.Name = "页码"
    With pg.TextFrame.TextRange
     .Text = X - 2 & "/" & ActivePresentation.Slides.Count - 3
     .Font.Size = 12
     .Font.Color.RGB = RGB(255, 255, 255)
         
     End With
         pg.TextFrame.HorizontalAnchor = msoAnchorCenter
        pg.TextFrame.VerticalAnchor = mmsoAnchorMiddle
       
    Next

End Sub

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| etkane 发表于 2024-8-22 11:10
更新,加了个隐藏页判断,和另一个加进度条呼应。

[Visual Basic] 纯文本查看 复制代码
Sub 加页码2()
    前部不加页码数 = 2  '可视页
    后部不加页码数 = 1  '可视页
    k = 1
    m = 0
    On Error Resume Next
    For x = 1 To ActivePresentation.Slides.Count
        ActivePresentation.Slides(x).Shapes("页码").Delete
        If ActivePresentation.Slides(x).SlideShowTransition.Hidden = msoFalse Then
        m = m + 1
        End If
    Next
        m = m - 前部不加页码数 - 后部不加页码数
        
    
    
    For x = 1 + 前部不加页码数 To ActivePresentation.Slides.Count - 后部不加页码数
        With Application.ActivePresentation.SlideMaster
        Set pg = ActivePresentation.Slides(x).Shapes.AddTextbox(msoTextOrientationHorizontal, .Width - 55, .Height - 20, 55, 35)
        End With
        
            pg.Name = "页码"
            pg.TextFrame.HorizontalAnchor = msoAnchorCenter
            pg.TextFrame.VerticalAnchor = mmsoAnchorMiddle
           
        If ActivePresentation.Slides(x).SlideShowTransition.Hidden = msoTrue Then
            pg.Delete
        Else
             With pg.TextFrame.TextRange
            .Text = k & "/" & m
            .Font.Size = 12
            .Font.Color.RGB = RGB(255, 255, 255)
             k = k + 1
        End With
        
         
        End If
    



    Next
End Sub
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 12:32

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表