如何在PowerPoint中添加可自动更新的昨日、明日动态日期字段
PowerPoint 2016 添加昨日/明日动态日期字段解决方案
PowerPoint 原生的「日期和时间」插入功能不支持直接生成偏移计算的动态日期,可通过以下两种常用方案实现需求:
方案一:VBA 宏实现(打开自动更新,无外部依赖)
- 打开目标演示文稿,按
Alt + F11调出 VBA 编辑器 - 在左侧工程资源管理器右键点击当前演示文稿,依次选择「插入」→「模块」
- 在弹出的模块编辑窗口粘贴如下代码:
Sub UpdateOffsetDates() Dim curSlide As Slide Dim curShape As Shape Dim todayDate As Date todayDate = Date ' 遍历所有幻灯片匹配指定名称的文本框 For Each curSlide In ActivePresentation.Slides For Each curShape In curSlide.Shapes ' 昨日日期文本框,需提前修改对应文本框名称为yesterday_date If curShape.Name = "yesterday_date" Then curShape.TextFrame.TextRange.Text = Format(todayDate - 1, "dd.mm.yyyy") End If ' 明日日期文本框,需提前修改对应文本框名称为tomorrow_date If curShape.Name = "tomorrow_date" Then curShape.TextFrame.TextRange.Text = Format(todayDate + 1, "dd.mm.yyyy") End If Next curShape Next curSlide End Sub ' 绑定打开文件自动执行更新 Private Sub Presentation_Open() Call UpdateOffsetDates End Sub
- 回到幻灯片编辑页,在昨日、明日列分别插入普通文本框,选中后在「格式」选项卡右侧的「选择窗格」中,把两个文本框的名称分别修改为
yesterday_date和tomorrow_date - 将演示文稿保存为
.pptm(启用宏的演示文稿)格式即可,每次打开文件会自动刷新三个日期,也可以手动运行宏即时更新。
方案二:链接 Excel 单元格实现(无需写代码)
- 新建一个 Excel 文件,A1 单元格输入公式
=TODAY()-1,A2 单元格输入=TODAY(),A3 单元格输入=TODAY()+1,把三个单元格的格式设置为dd.mm.yyyy日期格式 - 选中A1单元格按
Ctrl+C复制,回到 PowerPoint 昨日列的对应位置,右键选择「粘贴选项」→「选择性粘贴」→ 勾选「粘贴链接」→ 选中「Microsoft Excel 工作表对象」后确认 - 重复上述操作把A2、A3单元格分别粘贴链接到今日、明日对应位置即可
- 之后每次打开 PowerPoint 会提示是否更新链接,选择更新即可同步最新日期,也可以右键点击日期对象选择「更新链接」手动刷新。
注意:使用方案二时不要随意移动 Excel 源文件的存储位置,否则链接会失效,建议把 Excel 文件和 PPT 文件放在同一个文件夹统一管理。
内容的提问来源于stack exchange,提问作者Thanthla
相关产品推荐
相关产品推荐

