modifica macro open/close

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
xam99
00venerdì 17 marzo 2017 22:19
Ciao a tutti.
Nel workbook allegato in Private Sub WorkBook_Open() c'è una macro Sub ExpirationCode() che all'avvio controlla la scadenza del workbook.
Fino a qui funziona.
Se è inserita una password sbagliata dovrebbe chiudersi il workbook ma purtroppo alla chiusura va in conflitto con gli avvisi che sono dentro a
Private Sub Workbook_BeforeClose(Cancel As Boolean) che non dovrebbero comparire se la password è sbagliata.
Un aiuto per correggere?
xam
patel45
00sabato 18 marzo 2017 08:04
prima di Sub ExpirationCode() inserisci
Public FLAG As Integer
poi modifica così
        avviso = MsgBox("Sign. " & Environ("UserName") & Chr(13) & _
          "password errata o non inserita," & Chr(13) & _
          "il workbook verrà chiuso!!!", vbCritical + vbOKOnly, "ERRORE!")
        FLAG = 1 ' <<<<<<<<<<<<<<<<<
        ThisWorkbook.Close savechanges:=False

e così
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim risposta As String, sPath As String
If FLAG = 1 Then Exit Sub ' <<<<<<<<<<<<<<<
If ThisWorkbook.Saved = False Then
   If MsgBox("Sign. " & Environ("UserName") & Chr(13) & _
       "hai salvato il/i modulo/i?", vbQuestion + vbYesNo + vbDefaultButton2, "AVVISO!") = vbNo Then
       Cancel = True
       Exit Sub
   End If
End If
End Sub


xam99
00sabato 18 marzo 2017 08:54
Grazie patet45,
qui a casa funziona. [SM=g27811]
Lunedì lo provo in ufficio con vari workbook. [SM=g27811]
ma penso sia perfetto.
Grazie tantissime.
xam
xam99
00sabato 18 marzo 2017 14:50
[SM=g27811]
Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 02:07.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com