【工具】pptx自动插入当前日期和自动页码

使用VBA代码直接修改

使用方式,ppt界面,同时按住Alt + F11两个键 ,弹出的页面中,点击文件名称,然后右键创建模块 ,见下图

接着把下面的代码复制粘贴到模块文件中,再点击F5键即可。

vba 复制代码
Sub AddFooter()
    Dim s As Slide
    Dim sh As Shape
    Dim n As Integer
    Dim i As Integer
    
    ' 获取总页数
    n = ActivePresentation.Slides.Count
    
    ' 遍历所有幻灯片
    For i = 1 To n
        Set s = ActivePresentation.Slides(i)
        
        ' ==============================================
        ' 【关键修复】强力删除所有旧页脚,不管内容是什么
        ' ==============================================
        For j = s.Shapes.Count To 1 Step -1
            Set sh = s.Shapes(j)
            If sh.Type = msoTextBox Then
                ' 判断位置:只要是你页脚的位置,就全部删除
                If sh.Top > 500 And sh.Left > 800 Then
                    sh.Delete
                End If
            End If
        Next j
        
        ' 添加新页脚
        Set sh = s.Shapes.AddTextbox(msoTextOrientationHorizontal, Left:=755, Top:=515, Width:=300, Height:=30)
        
        ' 内容:日期 + 时间 + 页码
        With sh.TextFrame.TextRange
            .Text = Format(Date, "yyyy-mm-dd") & "   第 " & CStr(i) & "/" & CStr(n) & " 页"
            .Font.Name = "微软雅黑"
            .Font.Size = 16
            .Font.Color = vbWhite   ' 白色字体
        End With
        
        ' 垂直居中
        sh.TextFrame2.VerticalAnchor = msoAnchorMiddle
        
    Next i
    
    MsgBox "✅ 所有幻灯片页脚更新完成!"
End Sub
相关推荐
pcplayer2 天前
非常好用的 Excel 读写控件
excel·delphi·office
weitingfu17 天前
Excel VBA 入门到精通(十):实战项目——自动化报表系统开发
ai·信息可视化·自动化·excel·vba·office·报表系统
humors22119 天前
微软工具包下载网址
windows·microsoft·微软·office·工具包·sysintervals
simple_whu1 个月前
目录中不显示标题中间的软换行符Shift+Enter
word·office
lczdyx3 个月前
告别付费与隐私泄露!用Pandoc在本地免费、安全地将Markdown转为Word(保姆级教程)
安全·职场和发展·word·办公·自由职业者
Texous3 个月前
Java解析Excel图片
java·excel·wps·office·excel图片处理·excel图片解析·excel图片提取
初九之潜龙勿用3 个月前
C# 操作Word模拟解析HTML标记之背景色
开发语言·c#·word·.net·office
零零发聊技术3 个月前
Office各版本的简介、下载和注册
office
零零发聊技术3 个月前
Excel实现数字与列标之间的转换
excel·vba·office