在vba中处理“保存更改”弹出窗口

问题描述 投票:1回答:1

我希望我的VBA代码在保存更改弹出窗口上单击“取消”。

这似乎很奇怪,但我正在尝试使SAP事务自动化。事务将一些数据提取到excel模板中,以显示生成的excel文件,并出于某种原因尝试退出该文件,该文件显示“保存更改”弹出窗口,这是事务结束的地方。

我想运行一个在不同项目上执行此事务的VBA,并将生成的.xls文件保存到特定位置,问题是此弹出窗口停止了代码,我必须手动单击它。

禁用弹出窗口将无济于事,因为国际剑联将不经保存即退出并丢失。我无权更改SAP代码,因此我唯一的选择是通过VBA运行脚本。

excel vba popup sap
1个回答
0
投票

要强制工作簿保存更改,请在该工作簿的Visual Basic模块中键入以下代码:

Sub Auto_Close()

    If ThisWorkbook.Saved = False Then
        ThisWorkbook.Save 
    End If

End Sub

此子过程检查以查看文件Saved属性是否已设置为False。如果是这样,则自上次保存以来已更改了工作簿,并保存了这些更改。

来源:https://support.microsoft.com/en-us/office/-how-to-suppress-save-changes-prompt-when-you-close-a-workbook-in-excel-189a257e-ec1b-40f7-9195-56d82e673071?ui=en-us&rs=en-us&ad=us

© www.soinside.com 2019 - 2024. All rights reserved.