MS Access VBA如何抑制;是否要保存更改";excel行删除对话框?
类似于中的一个问题 但是,问题是Excel会询问“是否要保存对…所做的更改?”MS Access VBA如何抑制;是否要保存更改";excel行删除对话框?,excel,ms-access,vba,Excel,Ms Access,Vba,类似于中的一个问题 但是,问题是Excel会询问“是否要保存对…所做的更改?” 有没有办法强制保存更改并禁用任何消息框?我尝试使用DoCmd.SetWarnings False,但它不起作用。您需要将以下代码添加到此工作簿中 Private Sub Workbook_BeforeClose(Cancel As Boolean) ThisWorkbook.Save End Sub 如果您在Access中运行vba并访问Excel对象,只需在关闭前将工作簿(例如xlApp.ThisWor
有没有办法强制保存更改并禁用任何消息框?我尝试使用DoCmd.SetWarnings False,但它不起作用。您需要将以下代码添加到此工作簿中
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Save
End Sub
如果您在Access中运行vba并访问Excel对象,只需在关闭前将工作簿(例如
xlApp.ThisWorkbook.save
)保存在代码中即可您可以使用Application.DisplayAlerts=False,也可以使用Access中的xlApp.DisplayAlerts=False来抑制警告消息,但如果工作簿已保存,则不必执行此操作。@GrahamAnderson起初我也这么认为,但在excel中,如果您对工作簿进行新编辑,然后在不保存的情况下关闭工作簿,则使用Application.DisplayAlerts=False将不起作用。我认为这是因为Excel在宏运行后将DisplayAlerts
设置为true,并且由于Workbook\u BeforeClose
完成而不保存(然后自动将DisplayAlerts设置为true),系统会提示您保存更改,这取决于您的操作方式,您可以在DisplayAlerts关闭的情况下运行宏时关闭工作簿,因此不会收到警告。通常,当一本书中的宏打开和关闭其他工作簿时,您会执行此操作。当然,workbook.close
方法有一个关闭而不保存的选项,当您将保存选项设置为false时,它不会发送任何消息。