使用“保存”提示closures工作簿,提示禁用,默认select“不保存”

好的,我正在处理的工作簿应该阻止USERLISTclosures它,而不允许它先更新另一个工作簿,然后保存。 我试图避免添加一个button来做到这一点,只是当用户点击红色的Xclosures窗口时发生。 但是,有些情况下,其他非用户访问它将无法更新它。 我想给他们select退出而不更新和保存,但我不知道如何禁用“你想保存”对话框,默认设置为“不保存”。 如果我使用的代码

Application.DisplayAlerts = False ActiveWorkbook.Close False 

它会重新启动整个过程并对其进行循环。 有没有办法避免这种情况? 请原谅基本编码,正如你从我以前的问题中可以看到的一样,我正在学习所有这些。

 Private Sub Workbook_BeforeClose(Cancel As Boolean) **Response = MsgBox(prompt:="Are you sure you are ready to close for the day?", Buttons:=vbYesNo) If Response = vbYes Then** SWEEPER = ThisWorkbook.Worksheets("SET").Cells(1, Columns.Count).End(xlToLeft).Column USER = Environ("username") For i = 1 To SWEEPER ThisWorkbook.Worksheets("SET").Activate ThisWorkbook.Worksheets("SET").Cells(1, i).Select If ThisWorkbook.Worksheets("SET").Cells(1, i).Value = USER Then Set DATES = Workbooks.Open _ ("test.xlsx") ActiveWorkbook.Worksheets("DATES").Activate Call Date_Updates Exit Sub End If Next i **Else 'Cancel = True 'MsgBox "Master Not Updated." Response = MsgBox(prompt:="Are you trying to close without saving and updating?", Buttons:=vbYesNo) If Response = vbYes Then Application.DisplayAlerts = False 'ActiveWorkbook.Close False Exit Sub Else Cancel = True MsgBox "Master Not Updated." End If Exit Sub** End If MsgBox "You are not authorized to edit this document." End Sub Sub Date_Updates() USER = Environ("username") SWEEPER = Cells(1, Columns.Count).End(xlToLeft).Column For i = 1 To SWEEPER ActiveWorkbook.Worksheets("DATES").Cells(1, i).Select STATE = ThisWorkbook.Worksheets("SET").Cells(Rows.Count, ActiveCell.Column).End(xlUp).Row If ThisWorkbook.Worksheets("SET").Cells(1, i).Value = USER Then For l = 2 To STATE ActiveWorkbook.Worksheets("DATES").Cells(l, ActiveCell.Column).Activate STName = ThisWorkbook.Worksheets("SET").Cells(l, ActiveCell.Column).Value CHECKED = ThisWorkbook.Worksheets(STName).Range("R4") RESULT = ThisWorkbook.Worksheets(STName).Range("S4") If ThisWorkbook.Worksheets(STName).Range("R4") And ThisWorkbook.Worksheets(STName).Range("S4") > "" Then ActiveWorkbook.Worksheets("DATES").Range("F2:I27").Find(What:=STName, After:=Range("I27"), _ LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, _ SearchDirection:=xlNext, MatchCase:=False).Activate ActiveCell.Next.Activate ActiveCell = CHECKED ActiveCell.Next.Activate ActiveCell = RESULT ActiveWorkbook.Worksheets("DATES").Range("A2:C21").Find(What:=STName, After:=Range("C21"), _ LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, _ SearchDirection:=xlNext, MatchCase:=False).Activate End If Next l MsgBox "Update Complete" DATES.Save DATES.Close ThisWorkbook.Save Exit Sub End If Next i End Sub 

再次,我相信我已经回答了我自己的问题:如何在Excel中closures工作簿时禁止“保存更改”提示

示例1:closures工作簿而不保存更改

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

 Sub Auto_Close() ThisWorkbook.Saved = True End Sub 

我的代码:

 ElseIf response = vbCancel Then response = MsgBox(prompt:="Master not updated. Are you trying to close without saving and updating?", Buttons:=vbYesNo) If response = vbYes Then ActiveWorkbook.Saved = True Exit Sub