Makro ausführen bei schließen der Mappe
26.01.2010 08:21:02
Wolle
Guten Morgen Forum,
habe da ein Problem mit einem Makro. Ich möchte das es beim schließen der Mappe ausgeführt wird.
Das Makro unterbindet das Kopieren und ziehen von Zellen und wid beim start der Mappe aktiviert mit:
Private Sub Workbook_Open()
CutCopyOff
End Sub
Dann wollte ich ich das das zweite Makro (zum deaktivieren) beim schließen der Mappe ausgeführt wird, damit es in anderen Anwendungen nicht mehr aktiv ist. NUR KLAPPT DAS NICHT SO RICHTIG!!!!Private Sub Workbook_Close()
CutCopyOn
End Sub
Zur Zeit habe ich das Problem das ich, wenn das Makro einmal ausgeführt wurde ich anschließend in keiner Excel Anwendung mehr Koieren durch ziehen kann.
Der Code zum sperren und entsperren habe ich irgendwo aus dem Netz :
Sub CutCopyOff()
CutCopyOnOff 19, False 'Menübefehl "Kopieren"
CutCopyOnOff 21, False 'Menübefehl "Ausschneiden"
CutCopyOnOff 22, False 'Menübefehl "Einfügen"
CutCopyOnOff 755, False 'Menübefehl "Inhalte einfügen"
Application.OnKey "^c", "" 'Kopieren mit "Strg + C"
Application.OnKey "^x", "" 'Ausschneiden mit "Strg + X"
Application.OnKey "^v", "" 'Einfügen mit "Strg + V"
Application.OnKey "^{INSERT}", "" 'Kopieren mit "Strg + Einfg"
Application.OnKey "+{DEL}", "" 'Ausschneiden mit "Umsch + Entf"
Application.OnKey "+{INSERT}", "" 'Einfügen mit "Umsch + Einfg"
Application.CellDragAndDrop = False 'Ziehen mit der Maus
End Sub Sub CutCopyOn()
CutCopyOnOff 19, True
CutCopyOnOff 21, True
CutCopyOnOff 22, True
CutCopyOnOff 755, True
Application.OnKey "^c"
Application.OnKey "^x"
Application.OnKey "^v"
Application.OnKey "^{INSERT}"
Application.OnKey "+{DEL}"
Application.OnKey "+{INSERT}"
Application.CellDragAndDrop = True
End Sub Sub CutCopyOnOff(Id As Variant, AnAus As Boolean)
Dim cb As CommandBar
Dim ctl As CommandBarControl
For Each cb In Application.CommandBars
Set ctl = cb.FindControl(Id:=Id, Recursive:=True)
If Not ctl Is Nothing Then ctl.Enabled = AnAus
Next
End Sub Kann mir jemand helfen, und wenn ja wie???
Gruß und Danke von Wolfgang