从 Excel 开始在 PowerPoint 中关闭显示通知

Turning Display Alerts off in PowerPoint from Excel

我正在编写一个从 Excel 打开和关闭 PowerPoint 演示文稿的宏。 现在我遇到的问题是,当我尝试保存 PowerPoint 文件时,会弹出一个消息框。为了解决这个问题,我使用了:

Application.DisplayAlerts = False

然而,这在某些情况下有效,因为我遍历了多个演示文稿,但不是全部。所以我尝试了这个:

pptPres.Application.DisplayAlerts = False

但这只会导致显示警报总是弹出。

所以我尝试使用

复制它

Application.DisplayAlerts = True

这没有用。所以我很困惑我做错了什么。我需要关闭 DisplayAlerts 否则我的宏会停止。

问题发生在我打开带有宏的 PowerPoint 文件时 *.pptm 文件,在保存时系统询问我是否使用宏保存。

这是我当前的代码,也许你可以重现这个问题:

Dim pptPres As PowerPoint.Presentation

Set pptApp = CreateObject("powerpoint.Application")

Set pptPres = pptApp.Presentations.Open(strPfad & strDat, False, True, True)

pptPres.Application.DisplayAlerts = False


strFirma = "Test123"
pptPres.SaveAs strPfad + "\Berichte" & "\" & strFirma & ".pptx"
pptPres.Close

非常感谢任何帮助。

Powerpoint 的 Application.DisplayAlerts 略有不同。它有两个选项:ppAlertsAllppAlertsNone.

尝试pptApp.DisplayAlerts = ppAlertsNone。请注意,您混合使用了早期绑定和后期绑定,并且可能应该保持一致。如果使用后期绑定,ppAlertsAll对应的值为2ppAlertsNone对应的值为1.

感谢 @Matthieu Guindon 指出因为你是 运行 这个来自 Excel,Application 指的是 Excel.Application,这不是你的PowerPoint 实例。因此 Application.DisplayAlerts 根本不会影响 PowerPoint 的警报设置。您想使用 pptApp,PowerPoint 实例。