Menuveränderung

Hallo allerseits,

ich habe ein Makro in Excel programmiert, mit dem ich das Zellmenu verändere. Nun ist es natürlich möglich, dass man zeitgleich noch mit einer anderen Exceldatei arbeiten möchte, bei der man natürlich das unveränderte Menu gerne hätte.

Daher setze ich beim deactivate Ereignis das Menu zurück und beim activate Ereignis ändere ich es wieder ab.

Das funktioniert auch wunderbar, nur leider nicht sehr robust. Immer wieder einmal kommt es vor, dass dabei anscheinend etwas schief geht und das Zellmenu bei sämtlichen Excelanwendungen gestört ist. manchmal half sogar nur das Rücksetzen der excel11.xlb

Wie kann ich das robuster programmieren?

Vielen Dank im Voraus
Mark

Hallo Mark.

Ich weiß zwar nicht genau, was Du mit Zellmenü meinst, aber mein Tip dazu ist folgender:

Programmiere ein eigenes Zellmenü, das alle nötigen Befehle enthält, die Du brauchst, und alle die Du dem „originalen“ hinzugefügt hast. Das Activate-Ereignis und das Deactivate-Ereignis kannst Du dann weiterhin beutzen. Das gesamte Zellmenü machst Du dann „Temporary:= True“. Im Deactivate-Ereignis setzt Du Dein Menü auf „Enabled = False“ und das „Original“ auf „Visible = True“. Im Activate-Ereignis setzt Du Dein Menü auf „Visible = True“ und das „Originale“ auf „Enabled = False“.

Viele Grüße
Carsten

Hallo Carsten,

vielen Dank für die Antwort, sie hat mir den richtigen Input gegeben. Ich habe das Konzept vollständig überarbeitet und arbeite nun nur noch mit dem beforerightclick ereignis, mit dem ich die Vorraussetzungen für die Menuanzeige mit showpopup prüfe.

Das mit dem temporary hat mir sehr gefallen und ich habe nun auch auf ein eigenes Menu umgestellt. Mit Zellmenu meinte ich übrigens das Kontextmenu. Das spricht man doch mit „cell“ an :smile:

Vielen Dank nochmal
Mark