Hi zusammen,
mein VBA-Code ist mit Passwort geschützt.
Nach dem Beenden des Programmes verlangt Excel die Eingabe des VBA-Passworts, die Meldung lässt sich zwar abbrechen bzw durch Passworteingabe verschwindet sie auch, ist aber lästig. Die passiert allerdings nur, wenn ich das Passwort NICHT vorher eingegeben habe, also wenn ich einfach nur die Datei öffne, etwas bearbeite oder auch nicht, und dann wieder schließe.
Ich habe den Verdacht, dass es damit zu tun hat, dass ich vor dem Schließen ein Sub durchlaufen lasse, um ne Sicherungskopie zu erstellen. Hier der entsprechende Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If schliessenerlaubt = False Then Call schliessen
Cancel = Not schliessenerlaubt
End Sub
Private Sub schliessen()
Dim dateiname As String
dateiname = Application.DefaultFilePath & "\Sicherungskopie.xlsm"
Application.DisplayAlerts = False
If MsgBox("Sind Sie sicher dass Sie das Programm schließen möchten?", vbYesNo) = vbYes Then
ThisWorkbook.Save
ThisWorkbook.SaveCopyAs dateiname
schliessenerlaubt = True
If Application.Workbooks.Count = 1 Then
Application.Quit
Else
schliessenerlaubt = True
ActiveWorkbook.Close
End If
Else: schliessenerlaubt = False
Exit Sub
End If
End Sub
Die Variable schliessenerlaubt ist als public boolean in einem Allgemeinen Modul deklariert und wird beim Workbook_open auf false gesetzt.
Falls jemand ne Idee hat woran das liegen könnte (ggf. auch andere Fehlerquelle als meine Code?) wäre ich sehr dankbar.
Grüße
Jonas
|