CommandBars("Cell") speichern in Variable
17.07.2003 22:02:25
Martin Glarner
Ich habe folgendes Problem. Ich habe zwei unterschiedliche Dateien erstellt. In jeder Datei habe ich das Kontextmenü "Cell" für meine Zwecke angepasst. Da ich eigene Icons verwendet habe und somit die Zwischenablage benutzte, möchte ich den CommandBars nur beim öffnen der Dateien einmalig erstellen. Somit kann anschliessend zwischen den geöffneten Dateien gewechselt werden und über die Zwischenablage Daten kopiert werden. Wenn ich die Kontextmenüs jedesmal neu erstelle geht das nicht.
Nun versuche ich das erstellt Kontextmenü in einer Variablen zu speichern, damit es beim wechseln zwischen den Dateien wieder hergestellt werden kann.
Vielen Dank für Eure Hilfe
Gruss Martin
Sub Kontextmenü_Cell_erstellen()
'***************************************************************
' Kontextmenü für Zellen erstellen (13.03.2003)
'***************************************************************
Dim Kontext As Object
Call Kontextmenü_Cell_löschen
Set Kontext = CommandBars("Cell").Controls.Add
Kontext.BeginGroup = True
With Kontext
.Caption = "Inhalt und Farben löschen"
.OnAction = "Bereich_löschen_inkl_Farben"
End With
Set Kontext = CommandBars("Cell").Controls.Add
With Kontext
.Caption = "Textlänge anzeigen"
.OnAction = "Längste_Zeile_bestimmen"
'Grafik für Schaltfläche in die Zwischenablage kopieren
Worksheets("Einstellungen").Shapes("Textlaenge").Copy
'Icon aus der Zwischenablage einfügen
.PasteFace
End With
' --> Hier möchte ich das erstellte Kontextmenü speichern
Set Akt_Kontextmenü = Kontext
End Sub
Private Sub Workbook_Deactivate()
CommandBars("Cell").Reset
End Sub
Private Sub Workbook_Activate()
' ----> Hier möchte ich das Kontextmenü wieder herstellen
Set CommandBars("Cell") = Akt_Kontextmenü
End Sub