Suprimarea inchiderii userform si workbook folosind "X"
Scris: Mar Sep 12, 2017 9:11 am
Salutare.
Am un workbook pentru care vreau sa suprim posibilitatea de a fi inchis cu click pe butonul "X", cu un msgbox de genul:
Motivul este ca vreau sa dirijez userul catre o inchidere care sa asigure si salvarea modificarilor si atunci am pus un buton care il duce la un userform.
Acest userform are un buton Save and Close dar as vrea sa suprim de asemenea inchiderea prin click pe "X", cu un msgbox de genul:
Ideea este ca userul sa nu aiba de ales intre Save, Don't save si Cancel pentru a nu risca sa aleaga o optiune care nu salveaza modificarile.
Codurile utilizate sunt urmatoarele:
- In ThisWorkbook
- In Userform1:
- In Module (cod simplu, fara legatura cu problema, dar il postez totusi)
Treaba este ca daca apas butonul Save and Close in intoarce msgbox-ul de la inchiderea workbookului, si intru intr-un cerc fara iesire.
Va solicit ajutorul pentru rezolvarea problemei. Am atasat un workbook pentru exemplificare.
Multumesc in avans.
Am un workbook pentru care vreau sa suprim posibilitatea de a fi inchis cu click pe butonul "X", cu un msgbox de genul:
Cod: Selectaţi tot
MsgBox "Utilizati butonul FINALIZARE", vbOKOnly, "Actiune nepermisa"
Acest userform are un buton Save and Close dar as vrea sa suprim de asemenea inchiderea prin click pe "X", cu un msgbox de genul:
Cod: Selectaţi tot
MsgBox "Utilizati butonul Save and Close", vbOKOnly, "Actiune nepermisa"
Codurile utilizate sunt urmatoarele:
- In ThisWorkbook
Cod: Selectaţi tot
Option Explicit
Public BooleanForClosing As Boolean
--------------------------------------------------------------------
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If BooleanForClosing = False Then
MsgBox "Utilizati butonul FINALIZARE", vbOKOnly, "Actiune nepermisa"
Cancel = True
End If
End Sub
-------------------------------------------------------------------
Private Sub Workbook_Open()
Application.Visible = False
UserForm1.Show
End Sub
Cod: Selectaţi tot
Private Sub CommandButton1_Click()
Me.Hide
Application.Visible = True
End Sub
------------------------------------------------------------------
Private Sub CommandButton2_Click()
Application.DisplayAlerts = False
With ThisWorkbook
.Save
.Close
End With
Application.DisplayAlerts = True
End Sub
------------------------------------------------------------------
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = vbFormControlMenu Then
Cancel = True
MsgBox "Utilizati butonul Save and Close", vbOKOnly, "Actiune nepermisa"
End If
End Sub
Cod: Selectaţi tot
Sub Finalizare()
Application.Visible = False
UserForm1.Show
End Sub
Va solicit ajutorul pentru rezolvarea problemei. Am atasat un workbook pentru exemplificare.
Multumesc in avans.