Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1232to1236
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
Inhaltsverzeichnis

Menüeintrag speichern unter per ID deaktivieren

Menüeintrag speichern unter per ID deaktivieren
Gunnar
Hallo Forum,
ich möchte gerne den Menüpunkt "speichern unter" deaktivieren.
Mein erster Versuch hat auch geklappt:
Application.CommandBars("Worksheet Menu Bar"). Controls("Datei").Controls("Speichern unter...").Enabled = False
Jetzt habe ich aber die Herausforderung, das bei den englischen Kollegen mit englischem Excel zu einem Fehler führt. Mein zweiter Ansatz war, es über die ID zu probieren:
Application.CommandBars.FindControl(ID:=748).Enabled = False
Das deaktiviert aber nur den "Speichern" Eintrag
Kann mir jemand helfen?
Vielen Dank
Viele Grüße
Gunnar
AW: Menüeintrag speichern unter per ID deaktivieren
07.10.2011 14:54:35
Rudi
Hallo,
mach das einfach so:
In DieseArbeitsmappe:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Cancel = SaveAsUI
End Sub

Gruß
Rudi
AW: Menüeintrag speichern unter per ID deaktivieren
07.10.2011 15:06:04
Gunnar
Hallo Rudi,
danke für Deine Antwort - damit wird dann aber die komplette Funktion außer Kraft gesetzt. Ich nutze die saveas Methode später noch.
Es geht mir wirklich nur um den Menüeintrag!
Gruß
Gunnar
mit einer Variablen vom Typ Boolean
07.10.2011 17:34:19
Tino
Hallo,
dann deklariere doch einfach eine Variable die Du entsprechend
auf True oder False setzen kannst.
Beispiel:
kommt als Code in DieseArbeitsmappe

Option Explicit 
 
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) 
    Cancel = SaveAsUI And booCancelSaveAs 
End Sub 
 
kommt als Code in Modul

Option Explicit 
 
Public booCancelSaveAs As Boolean 
 
Sub SaveAs_Yes() 
    booCancelSaveAs = False 
End Sub 
 
Sub SaveAs_No() 
    booCancelSaveAs = True 
End Sub 
Gruß Tino
Anzeige
AW: mit einer Variablen vom Typ Boolean
09.10.2011 11:25:48
Gunnar
Hallo Tino,
vielen Dank für Deine Antwort. Ich habe zu diesem Thema eine super Lösung vo NoNet bekommen - die funzt 1a - zumindest an "normalen" Rechner!!
Viele Grüße
Gunnar
aber nur bis xl2003 ;-) oT.
09.10.2011 13:05:36
Tino
'Datei - Speichern unter...' deaktivieren
07.10.2011 15:05:51
NoNet
Hallo Gunnar,
das kannst Du ganz einfach erreichen :
1.) ermittle zunächst auf Deinem (deutschen ?) Excel die ID dieses Menüpunktes
2.) Deaktiviere dann gezielt diesen Menüpunkt
Hier ein ausführliches Codebeispiel dazu :

Dim dblCntID As Double
Sub ID_zu_Control_finden()
dblCntID = Application.CommandBars("Worksheet Menu Bar").Controls("Datei").Controls(" _
Speichern unter...").ID
MsgBox dblCntID
End Sub
Sub BefehlDeaktivieren()
Application.CommandBars("Worksheet Menu Bar").FindControl(ID:=dblCntID, recursive:=True). _
Enabled = True
End Sub
Beachte jedoch folgende Hürden :
- Der Menüpunkt "Speichern unter..." kann theoretisch in mehreren Untermenüs enthalten sein
- 'Speichern unter...' ist dann immer noch per F12-Taste möglich bzw. per Strg+S wenn die Mappe noch nicht gespeichert war !
Ich würde daher nicht (nur) den Menüpunkt deaktivieren, sondern generell auf jegliches "Speichern unter..." reagieren.
Kopiere dazu den folgenden Code in das Klassenmodul "DieseArbeitsmappe" (bzw. "ThisWorkbook") der Mappe :

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If SaveAsUI Then
MsgBox "Befehl 'Speichern unter...' wurde temporär deaktiviert !", vbInformation, " _
Fehler"
'MsgBox "Command 'Save as...' is  temporary deactivated !", vbInformation, "Error"
Cancel = True 'Speichervorgang abbrechen
End If
End Sub
Gruß, NoNet
Exceltreffen 28.-30.10.2011 in Chemnitz
Ein Treffen für alle Excel-Freunde und Besucher deutschsprachiger Excel-Foren.
Alle Infos - Programm - Anmeldung - Teilnehmerliste etc. gibt es auf
http://www.exceltreffen.de/index.php?page=211
Wir freuen uns auf euch...

Anzeige
AW: 'Datei - Speichern unter...' deaktivieren
07.10.2011 15:12:41
Gunnar
Hallo NoNet,
vielen Dank für Deine sehr detaillierte Beschreibung!! Ich habe Dein Beispiel versucht und habe das gleich Problem. Die ID 748 wird ermittelt, aber im zweiten Teil der Menüeintrag "speichern " deaktiviert ...
VG
Gunnar
Bei mir funktioniert das ...
07.10.2011 15:29:17
NoNet
Hallo Gunnar,
ich kann das nicht nachvollziehen : In meiner Excel 2003 MUI (Multi User Interface => mehrsprachig) Version funktioniert das auch mit englischsprachiger Oberfläche :
Userbild
Habe keine Ahnung, weshalb das bei Dir nicht funkt. Ermittle doch mal die ID des "Save"-Befehls (sollte 3 sein) und teste es damit.
Gruß, NoNet
Anzeige
AW: Bei mir funktioniert das ...
09.10.2011 11:24:08
Gunnar
Hallo NoNet,
vielen Dank für Deine Bemühungen. Ich habe am Freitag nochmal wild probiert und irgendwie es nicht ans Rennen bekommen. Heute habe ich das Ganze auf einem anderen Rechner (auch mit Excel 2003) probiert und es läuft einwandfrei ... Das macht natürlich die Nachdenkfalten nochmal tiefer ... Dann muss ich morgen mal sehen wie ich das auf dem anderen Rechner an den Start bekomme ...
Trotzdem vielen Dank für Deine super Lösung - hat ja 1a funktioniert ;o)!
Schönen Sonntag noch
Gunnar

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige