VBA: Menüs ändern und erzeugen

Benutzerdefinierte Menüs, ganz nach Wunsch!

Von: Lorenz Hölscher
Stand: 4. Mai 2011
Anmelden um Kommentare zu schreiben

Downloads zu diesem Beitrag

Über den Autor: Lorenz Hölscher

bild80517

Lorenz Hölscher ist freiberuflicher Dozent, Berater und Programmierer mit Schwerpunkt Anwendungs-Programmierung. Vorrangig widmet er sich Access, Word und Excel sowie begleitenden grafischen Arbeiten. Er legt viel Wert auf benutzerfreundliche Oberflächen und ordentliches Design in Optik und Programmierung. Zu Hilfe kommen ihm da seine langjährigen "branchenfremden" Erfahrungen als Architekt, Layouter und Designer.

Lorenz Hölscher bietet eigene Hilfeseiten an und hat bei Microsoft Press mehrere Bücher veröffentlicht zu Access 2007, Access 2007 VBA, Word 2007 VBA und Access 2010.

Beiträge des Autors als Atom-Feed Atom-Feed: Neues von akademie.de

Menüeinträge bearbeiten

Wenn Sie jetzt die neuen Menüeinträge anklicken, erhalten Sie, je nach Word-Version, eine Fehlermeldung wie die folgende:

Bild vergrößernAufruf eines nicht vorhandenen Makros per Menüeintrag

Aktionen auslösen

Sie müssen also rechtzeitig dafür sorgen, dass die in der OnAction-Eigenschaft angekündigten Makros auch vorhanden sind:

Sub ZeigeInfo()
	MsgBox "Autor: Lorenz Hölscher" & vbCrLf & _
		"Version: 1.0", vbInformation, "Info"
End Sub

Sub GrafikAendern()
	MsgBox "Fehlt noch..."
End Sub

Jetzt können Sie beide Menüeinträge anklicken und rufen damit die zugehörigen Makros aus. Bei diesen handelt es sich um ganz normale Sub-Prozeduren, die hier daher auch nicht weiter behandelt werden.

Menüeinträge dynamisch deaktivieren

Während der erste Menüeintrag "Info" als fertig betrachtet werden kann, sollte der zweite Menüeintrag "Grafik ändern" sinnvollerweise nur aufgerufen werden können, wenn überhaupt eine Grafik markiert ist.

Bei diesem Problem wird oft vermutet, dass die Markierung einer Grafik selbst der Auslöser zum De-/Aktivieren des Menüeintrags sein muss. Keineswegs! Das würde erhebliche Ressourcen Ihres Rechners binden, weil jeder Wechsel einer Markierung im Text alle Menüeinträge korrigieren müsste.

Es läuft genau andersherum: nicht ein Markierungswechsel ändert alle Menüs, sondern erst ein Menütitelaufruf passt seine Menüeinträge an die aktuelle Markierung an.

Diese Seite ist für Mitglieder von akademie.de reserviert.

Möchten Sie die Mitgliedschaft 14 Tage kostenlos testen und den Beitrag komplett lesen?

Ich bin bereits Mitglied
Jetzt Probemitglied werden
Ich kann in den 14 Tagen Probezeit formlos z.B. per E-Mail stornieren. Wenn ich das nicht tue, entscheide ich mich für ein