Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Excel2000-VBA: Standardbefehle durch eigene Makros ersetzen





Frage

Hi, in Word-VBA kann ich recht einfach die Standardbefehle durch eigene Makros ersetzen, indem ich dem Makro den entsprechenden Namen gebe, z.B. wird mein selbst erstelltes Makro Sub DateiSpeichernUnter() ...irgendwelche Aktionen... End sub IMMER aufgerufen, wenn der User das Speichern-unter-Symbol anklickt, oder auch den Menübefehl Speichern-unter wählt. (wohl auch beliebt in Makro-Viren ;o) In Excel scheint es diese einfache Möglichkeit nicht zu geben? Wie könnte ich sowas in Excel realisieren? Massaraksch

Antwort 1 von Nepumuk

Hallo Massaraksch,

inden du dem Control eine andere OnAction - Eigenschaft gibst. Beim beenden musst du das aber wieder zurücksetzten.

Beispiel für "Speichern unter":

 
Public Sub prcSet()
    Dim myCommandBar As CommandBar, myCommandBarControl As CommandBarControl
    For Each myCommandBar In Application.CommandBars
        Set myCommandBarControl = myCommandBar.FindControl(ID:=748, Recursive:=True)
        If Not myCommandBarControl Is Nothing Then myCommandBarControl.OnAction = "MeinMakro"
    Next
End Sub

Public Sub prcReset()
    Dim myCommandBar As CommandBar, myCommandBarControl As CommandBarControl
    For Each myCommandBar In Application.CommandBars
        Set myCommandBarControl = myCommandBar.FindControl(ID:=748, Recursive:=True)
        If Not myCommandBarControl Is Nothing Then myCommandBarControl.Reset
    Next
End Sub


Gruß
Nepumuk

Antwort 2 von Massaraksch

Muß ich mich also mit den CommandBarControls direkt "herumschlagen". Dachte, es ginge ähnlich einfach wie bei Word.
Naja, warum sollte es Microsoft dem Anwender auch zu leicht machen ;o)

Vielen Dank für die Beispiele. Damit komme ich sicher zurecht.

Massaraksch