首页 文章

用于在消息框中选择否按钮的代码

提问于
浏览
-3

我试图弄清楚如何使用vba代码选择消息框中的否按钮 . 我有一个工作簿,可以打开和关闭另一个工作簿 . 当工作簿关闭时,弹出一个消息框,即“选择是或否” . 用户通常手动必须单击否 . 有没有办法用代码执行此操作?

这是第一个打开第二个工作簿的工作簿,其中包含消息框 .

Option Explicit

Private Sub DONEBTN_Click()
Dim WRKBK2 As Workbook
Dim Name As String

Name = "Someones Name"

Set WRKBK2 = Workbooks.Open("C:\Second Workbook.xlsm")        

WRKBK2.Sheets(1).Range("H7").Value = Name                 'Name        

WRKBK2.SaveAs Filename:="C:\New File Name For Workbook2.xlsm", _
FileFormat:=52, CreateBackup:=False, local:=True

Application.DisplayAlerts = False
WRKBK2.Close
Application.ScreenUpdating = True
End Sub

这是位于ThisWorkbook Private Sub Workbook_BeforeClose(取消为布尔值)下的第二个工作簿中的代码

Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim MSG1 As String

 MSG1 = MsgBox("Select yes or no?", vbYesNo, "Message Box")

 If MSG1 = vbYes Then

 ' Code does something

 Else

 ThisWorkbook.Save

 ThisWorkbook.Close


 End If
 End Sub

1 回答

  • 0

    如果您指的是“保存工作簿?”对话框,使用Workbook.Close方法的SaveChanges选项或Application.DisplayAlerts = False . 以下示例显示了两者 .

    Application.DisplayAlerts = False
    Workbook("Sample Workbook.xlsx").Close SaveChanges:=False 'Or use .True to save the workbook before closing
    Application.DisplayAlerts = True
    

相关问题