Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
224to228
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
224to228
224to228
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

menü deaktiviert in ewigkeit amen ...

menü deaktiviert in ewigkeit amen ...
27.02.2003 15:40:47
tomasp
Hallo Forumsbewohner! :-)

Gerade habe ich mit folgendem Makro die Menüpunkte "Neu" und "Speichern unter" in Excel 2000 deaktiviert:

Sub AutoOpen()

Call deactivateMenues

End Sub

Sub deactivateMenues()

Dim menu As CommandBarPopup
Dim menuBar As CommandBar
Dim ctrl As CommandBarControl

Set menuBar = Application.CommandBars("Worksheet Menu Bar")
Set menu = Application.CommandBars.FindControl(Type:=msoControlPopup, ID:=30002)
For Each ctrl In menu.Controls
If ctrl.ID = 748 Or ctrl.ID = 18 Then
ctrl.Enabled = False
End If
Next ctrl
End Sub

Das hat auch gut geklappt, nur: die Menüpunkte bleiben weg, auch wenn man das betreffende Worksheet schließt. Ja selbst wenn man Excel schließt und neu startet ist "Neu" und "Speichern unter" immer noch nicht aktiviert. Ein Neustart von Windows hat auch nichts gebracht ... wie gips denn sowas ..? So ganz im Sinne des Erfinders kann das ja nicht sein, oder?

Eigentlich möchte ich ja nur zu Dokumenten, von denen ich nicht will, daß der User sie woanders hinspeichert dieses Makro hinzufügen. Wäre ja ansich keine große Sache ...

über Hilfe und Tips würde ich mich sehr freuen und wäre Euch dankbar bis in alle Ewigkeit

viele Grüße

Thomas.

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: menü deaktiviert in ewigkeit amen ...
27.02.2003 16:01:04
Lutz

Hallo Thomas,

hast Du Deine Einstellungen im AutoClose auch wieder zurückgesetzt ?

Gruß
Lutz

Re: menü deaktiviert in ewigkeit amen ...
27.02.2003 16:13:36
thomasp

Hi!

Nein, ich habe diese Einstellung nicht wieder zurückgesetzt. Nur: Sollte das nicht nur dieses eine Worksheet betreffen?

Das Zurücksetzen erscheint mir auch etwas unsicher, denn was wenn Excel nicht ordnungsgemäß beendet wird oder Windows abstützt? Dann werden die Menüs auch nicht wieder aktiviert, oder?

Also habe ich nichts falsch gemacht und sollte man die Menüs nur wieder aktivieren?

viele Grüße

Thomas.

Re: menü deaktiviert in ewigkeit amen ...
27.02.2003 16:21:32
thomasp

Hi!

Nochwas ist mir eingefallen: Im autoclose darf ich das ja gar nicht zurücksetzen. Was, wenn der Benutzer 2 Dokumente mit dem Makro drinnen öffnet? Dann darf das Menü nicht wieder zurückgesetzt werden, nur weil eines der Dokumente geschlossen wurde.

viele Grüße

Thomas.

Anzeige
Re: menü deaktiviert in ewigkeit amen ...
27.02.2003 16:26:43
Lutz

Hallo Thomas,

ich habe das Problem nicht, dass die Menüpunkte beim neuen Öffnen gesperrt bleiben...???
Auf jeden Fall kannst Du diese Einstellung mit ..Enabled = True
im AutoClose zurücksetzen.
Wenn Du Deine Menüpunkte im Workbook Open deaktivierst, sollte das Problem beim Öffnen anderer Mappen nicht auftreten.

Noch ne Frage an Dich: woher hast Du die ID´s der ctrl ??

Gruß
Lutz


Re: menü deaktiviert in ewigkeit amen ...
27.02.2003 16:35:04
Lutz

kleine Änderung:

deaktiviere die Controls im Workbook_Activate und setze diese Einstellung im Workbook_Deactivate zurück.
Da diese Einstellungen nur für die jeweilige Arbeitsmappe gelten, gibt es auch kein Problem mit anderen Mappen

Gruß
Lutz

Anzeige
Re: menü deaktiviert in ewigkeit amen ...
27.02.2003 17:39:36
thomasp

Hi!

Die IDs habe ich mir durch ein Sub einmal alle ausgeben lassen. Habe das jetzt nicht bei der Hand, kann es aber morgen mal hier posten. Ich habe deshalb die IDs genommen, damit das Marko auch in einer englischen Version von Office funktioniert. Die IDs sind scheinbar auch in Word, Excel und Powerpoint gleich. Hoffe nur, daß sie auch in den Verschiedenenen Versionen also 97, 98, 2000 und XP gleich sind.

Und bei Dir bleiben die Menüpunkte nach neuem Start wirklich nicht deaktiviert. Hm. Welches System verwendest Du? Ich habe XP Professional. Kann das damit etwas zutun haben?

Viele Grüße

Thomas.

Anzeige
Re: menü deaktiviert in ewigkeit amen ...
27.02.2003 17:41:09
thomasp

Hi!

Das mit diesen Events habe ich leider noch nicht so ganz verstanden. In Word habe ich es hingekriegt mit Windos_Activate, aber das war eine ziemliche Spielerei. Wie geht das in Excel genau von der Syntax her? Ich habe diesbezüglich leider noch nichts gefunden ...

Viele Grüße und danke schonmal für Deine Mühe

Thomas.

Re: menü deaktiviert in ewigkeit amen ...
27.02.2003 17:47:33
Lutz

Hallo,

ich habe Win2000 Prof., kann mir aber nicht vorstellen, dass es damit zusammenhängt.
Deaktiviert bleiben die Punkte beim Neustart natürlich schon, wenn ich die Enabled nicht zurücksetze.
Hast Du mal die Variante versucht, den Code im Workbook_Open der Arbeitsmappe laufen zu lassen ?
Über die Sub zum Auslesen der ID wäre ich Dir sehr dankbar, kannst sie zur Not auch mailen.

Gruß
Lutz

Anzeige
Re: menü deaktiviert in ewigkeit amen ...
27.02.2003 17:51:06
Lutz

Hallo Thomas,

im Editor folgende Codes in DieseArbeitsmappe:

Private Sub Workbook_Activate()
Dim menu As CommandBarPopup
Dim menuBar As CommandBar
Dim ctrl As CommandBarControl

Set menuBar = Application.CommandBars("Worksheet Menu Bar")
Set menu = Application.CommandBars.FindControl(Type:=msoControlPopup, ID:=30002)
For Each ctrl In menu.Controls
If ctrl.ID = 748 Or ctrl.ID = 18 Then
ctrl.Enabled = False
End If
Next ctrl
End Sub

Private Sub Workbook_Deactivate()
Dim menu As CommandBarPopup
Dim menuBar As CommandBar
Dim ctrl As CommandBarControl

Set menuBar = Application.CommandBars("Worksheet Menu Bar")
Set menu = Application.CommandBars.FindControl(Type:=msoControlPopup, ID:=30002)
For Each ctrl In menu.Controls
If ctrl.ID = 748 Or ctrl.ID = 18 Then
ctrl.Enabled = True
End If
Next ctrl
End Sub

     Code eingefügt mit Syntaxhighlighter 1.14

Gruß
Lutz


Anzeige
Re: menü deaktiviert in ewigkeit amen ...
27.02.2003 18:44:44
Gert Seler

Hallo Thomas,
Du mußt Dir das vorstellen wie beim Autofahren.
Willst du aussteigen oeffnest du die Tür (das ist false),
hast Du das Auto verlassen, dann schließt Du die Tür (das ist
true).
In Deinem Makro wird die Tür geoeffnet (false), aber nicht
mehr geschlossen (true). Zum Makroende muß der Schalter wieder
true gestellt werden.
mfg
Gert

Re: menü deaktiviert in ewigkeit amen ...
28.02.2003 09:47:13
thomasp

HI!

Hier das Sub Auslesen der IDs:

Sub disableMenues()

Dim menu As CommandBarPopup
Dim ctrl As CommandBarControl
Dim i As Integer
Dim menuBar As CommandBar

Set menuBar = CommandBars("Menu Bar")
For i = 1 To menuBar.Controls.Count
Debug.Print menuBar.Controls(i).ID & "-->" & menuBar.Controls(i).Caption
Set menu = Application.CommandBars.FindControl(Type:=msoControlPopup, ID:=menuBar.Controls(i).ID)
For Each ctrl In menu.Controls
Debug.Print " " & ctrl.ID & "-->" & ctrl.Caption
If ctrl.ID = 748 Or ctrl.ID = 18 Then
ctrl.Enabled = False
End If
Next ctrl
Next

End Sub

So läuft es jedenfalls in Word. Ich habe übrigens auch das 2000er. Die Menüpunkte bleiben nun auch in Word bei mir deaktiviert. Ich hatte da noch was in der Normal.dot, womit ich anhand des Pfades eines Dokumentes die Menüpunkte ein- und ausgeblendet hatte. Das hat mir die Menüpunkte natürlich bei einem leeren Dokument immer wieder eingeschaltet ...

viele Grüße
Thomas.

Anzeige
Re: menü deaktiviert in ewigkeit amen ...
28.02.2003 09:50:02
thomasp

Hi!

Ja, gut. Soweit habe ich das verstanden. Nur: was passiert wirklich wenn Excel sich irgendwie verfängt (Anwendung reagiert nicht mehr)? Dann wird das Macro beim Verlassen nicht ausgeführt und die Menüpunkte bleiben deaktiviert. Ein unbedarfter User weiß dann wirklich nicht mehr was er machen soll.

Viele Grüße
Thomas.

Re: menü deaktiviert in ewigkeit amen ...
28.02.2003 09:54:56
thomasp

Hi!

Vielen DANK!!!!!
Das funktioniert so hervorragend. Genau das was ich wollte.
Jetzt muß ich mir nur noch überlegen, wie ich das in Word mache, denn da gibt es ja keine Workbooks.

viele Grüße
Thomas.

Re: menü deaktiviert in ewigkeit amen ...
28.02.2003 10:51:09
Lutz

Moin,

na prima, wieder alles paletti...
Danke noch für den Code, werde ihn gleich mal ausprobieren.

Gruß
Lutz

Anzeige
Re: menü deaktiviert in ewigkeit amen ...
28.02.2003 11:35:43
Lutz

Hi Thomas,

funzt leider nicht, habe aber zum Auslesen der IDs hier ein super Teil gefunden:

https://www.herber.de/forum/archiv/4to8/t4883.htm

Gruß
Lutz

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige