Jag har en tillämpning som ibland visar rutan för lösenord för kod när den stängs. Försöker man klicka bort rutan så kommer det ett meddelande om att Excel har upphört att fungera. Jag har alltså låst koden för att man inte ska kunna se den utan lösenord. Programmet körs i kompabilitetsläge för att möjliggöra drift för användare som har äldre varianter av Exel. Den kod programmet kör vid avslut ser ut så här:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim msg As String
Dim iFlik As Integer
Application.ScreenUpdating = False
If ActiveWorkbook.Saved = False Then
msg = "Vill du spara de ändringar du gjort i "
msg = msg & Me.Name & "?"
Ans = MsgBox(msg, vbQuestion + vbYesNoCancel)
Select Case Ans
Case vbYes
ActiveWorkbook.Protect Lösen, True
ActiveWorkbook.Save
Case vbCancel
Cancel = True
Exit Sub
End Select
End If
ActiveWorkbook.Protect Lösen, True
ActiveWorkbook.Saved = True
End Sub
Jag vill naturligtvis att programmet ska avslutas på normalt sätt utan att rutan för lösenordet för koden ska komma fram.