Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
388to392
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
388to392
388to392
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Workbook_BeforeClose wird nicht ausgeführt.

Workbook_BeforeClose wird nicht ausgeführt.
25.02.2004 14:21:25
Jürgen
Hallo,
ich habe eine XLA-Datei die sehr viele Makros enthält.
Unter anderem wird beim öffnen der XLA-Datei eine eigene Menüleiste erzeugt und im Kontextmenü werden Menüpunkte erzeugt. Das Addin ist nicht eingebunden sondern wird nur dann aufgerufen wenn man damit arbeiten möchte.
Mein Problem ist: Ich möchte daß, wenn Excel, und somit die XLA-Datei, geschlossen wird, das eigene Menü und die Einträge im Kontextmenü gelöscht werden. Genau das habe ich in den folgenden Makro gepackt:
Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
' Der Makro wird beim beenden von Excel ausgeführt. _
Er entfernt das Menü "KALK" und die zusätzlich erzeugten Menüpunkte im Kontextmenü.
Application.DisplayAlerts = False
' Makro "KalkMenReMausLoesch" wird ausgeführt (Einträge im Kontextmenü löschen).
KalkMenReMausLoesch
On Error Resume Next
Dim CBC As CommandBarControl
' Alle Menüs überpürüfen und das Menü "KALK" löschen
For Each CBC In Application.CommandBars("Worksheet Menu Bar").Controls
Application.CommandBars("Worksheet Menu Bar").Controls("KALK").Delete
Next
End Sub

Aber es funktioniert nicht. Ich kann diesen Code auch nicht testen oder ausführen. Keine Ahnung wo der Fehler liegt.
Komischerweise ist das nur unter Excel 2000 so denn unter Excel 2003 funktioniert das einwandfrei.
Bitte um Hilfe!
Vielen Dank im Vorraus.

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Workbook_BeforeClose wird nicht ausgeführt.
25.02.2004 14:58:59
Bert
Das ist doch nicht der komplette Code. Nix zu erkennen, wo die Einträge
im Kontextmenü(welches Kontextmenü überhaupt, gibt ja mehrere) gelöscht werden
Bert
AW: Workbook_BeforeClose wird nicht ausgeführt.
25.02.2004 15:18:18
Juergen
Hier der Code zu dem Makro der die Einträge im Kontextmenü löscht:
Public

Sub KalkMenReMausLoesch()
On Error Resume Next
Dim ccb As CommandBarControl
With Application.CommandBars("cell")
For Each ccb In Application.CommandBars("cell").Controls
.Controls("MARKIERUNG UEBERNEHMEN").Delete
.Controls("KATALOGWERT EINFUEGEN").Delete
.Controls("LEERE ZEILE EINFUEGEN").Delete
.Controls("Verzeichnisse auswaehlen").Delete
.Controls("ALT => NEU").Delete
Next
End With
End Sub

Anzeige
AW: Workbook_BeforeClose wird nicht ausgeführt.
25.02.2004 15:28:31
Bert
Besser wäre eigentlich eine Abfrage, ob dein control Nothing ist:
On Error Resume Next
Dim CBC As CommandBarControl
Application.CommandBars("Worksheet Menu Bar").Controls("KALK").Delete
Bert
AW: Workbook_BeforeClose wird nicht ausgeführt.
25.02.2004 15:35:27
Jürgen
Verstehe nicht was du meinst...
AW: Workbook_BeforeClose wird nicht ausgeführt.
25.02.2004 15:35:40
Jürgen
Verstehe nicht was du meinst...
AW: Workbook_BeforeClose wird nicht ausgeführt.
25.02.2004 15:45:35
Bert
Wenn du bei deinem VNA- Level nicht verstehst, was ich meine, ist die
Diskussion für mich beendet.
Bert
AW: Workbook_BeforeClose wird nicht ausgeführt.
25.02.2004 16:02:14
Juergen
AXO ist das hier also...
Wer mal auf dem Schlauch steht wird hier gleich abgewiesen...
Eigentlich wollte ich nur Hilfe von einem Profi (ich bin keiner!)
Anscheinend bin ich in diesem Forum falsch...
Anzeige
AW: Workbook_BeforeClose wird nicht ausgeführt.
25.02.2004 16:07:42
Bert
Das muss nicht sein, ich bin nicht das Forum. Es muss mir doch aber erlaubt
sein, auszuwählen, auf welches Level ich antworten möchte.
Bert
AW: Workbook_BeforeClose wird nicht ausgeführt.
25.02.2004 16:10:21
Juergen
Gut....dann lass es eben sein.
Vieleicht erbarmt sich ein anderer meinem Problem.
Jürgen
AW: Workbook_BeforeClose wird nicht ausgeführt.
25.02.2004 16:17:08
K.Rola
Hallo,
wird das Ereignis prinzipiell nie ausgeführt oder wird nur dein Code
nicht abgearbeitet?
Gruß K.Rola
AW: Workbook_BeforeClose wird nicht ausgeführt.
25.02.2004 16:23:10
Juergen
Ich habe mal Testwiese nur eine MsgBox in den Code geschrieben, alles andere weggelassen. Und beim schließen von Excel 2000 passierte nix. Unter Excel 2003 ist die MsgBox erschienen.
Scheint also ein generelles Problem zu sein.
Gruß Jürgen
Anzeige
AW: Workbook_BeforeClose wird nicht ausgeführt.
25.02.2004 16:43:18
K.Rola
Hallo,
kannst ja mal testen: msgbox application.enableevents
Da sollte als Ergebnis Wahr erscheinen. Wenn das auch nach Excel- Neustart
nicht so ist, oder aber es ist wahr und die Msgbox in WorkbookBeforeClose
erscheint noch immer nicht, dann ist die Installation verbogen.
Dann mal deristrieren und neu registrieren. Wenn das auch nicht hilft,
Excel deinstallieren undd neu installieren, nicht einfach darübelbügeln.
Gruß K.Rola
AW: Workbook_BeforeClose wird nicht ausgeführt.
26.02.2004 09:47:05
Juergen
Ich glaube nicht dass das mit einer verbogenen Excel-Installation zu tun hat, denn in einem Workbook wird das Ereigniss WorkbookBeforeClose ausgeführt. Nur wenn mein AddIn geöffnet ist wird das Ereigniss nicht ausgeführt. Das Ereigniss Workbook_Open, das ich in dem AddIn auch verwende, wird ausgeführt.
Ich habe auch das AddIn von Excel-Inside (xlRecherche.xla) auprobiert, wo der selbe Effekt auftritt (das Dort erzeugte Menü verschwindet nicht beim Schließen von Excel, AddIn ist nicht fest eingebunden sondern wird nur ausgeführt( so wie mein eigenes AddIn auch)).

Anzeige

85 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige