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

Commandbars Enable = False + MSGBox

Commandbars Enable = False + MSGBox
02.08.2007 13:46:00
Marc
Hallo zusammen,
ich habe in einer Datei in "Diese Arbeitsmappe" ein Workbook_Activate() Ereignis gesetzt, in dem ich die Anweisung Application.CommandBars("ply").Enabled = False untergebracht habe, die verhindert, dass ein Rechtsklick auf die Tabellenblätter funktioniert. Nun hätte ich gern hierzu noch eine Messagebox mit einem Hinweis geschrieben, der aussagt, dass genau diese Funktion deaktiviert ist.
Wenn man z. B. Alt+F11 deaktiviert, kann man einen Hinweistext dazu schreiben. Entsprechende Anweisungen dazu habe ich hier im Forum gefunden:
Application.OnKey "%{F11}", "VBAMessage"

Sub VBAMessage()
MsgBox "Diese Funktion ist deaktiviert.", vbInformation, "Fehler"
End Sub


Leider funktioniert das nicht mit dem oben genannten Enabled = False Ereignis. Ich möchte, falls jemand mit der rechten Maustaste auf eine Blattregisterkarte klickt, anstatt der üblichen Funktion nur eine MSGBox erhalten. Wie geht das?
Vielen Dank schonmal im Voraus!
Grüße,
Marc Richter

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

Betreff
Datum
Anwender
Anzeige
AW: Commandbars Enable = False + MSGBox
02.08.2007 14:02:52
Ramses
Hallo
in das Klassenmodul "Diese Arbeitsmappe"

Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As  _
Boolean)
MsgBox "Diese Funktion ist deaktiviert.", vbInformation, "Fehler"
End Sub


dann funktioniert das mal mit Rechts-Klick in der Tabelle, wie man allerdings den Rechtsklick auf den Tabellenreiter abfängt, da steh ich momentan auch mitten im Wald
Gruss Rainer

AW: Commandbars Enable = False + MSGBox
02.08.2007 14:06:00
Marc
Hallo Rainer,
vielen Dank schonmal für Deine Antwort. Aber innerhalb der Tabelle soll ein Rechtsklick durchaus weiterhin möglich sein. Nur auf dem Tabellenblatt soll das ganze deaktiviert werden.
Grüße,
Marc

Anzeige
AW: Commandbars Enable = False + MSGBox
02.08.2007 14:14:59
Ramses
Hallo
Sorry, ich hatte das so verstanden dass der Rechtsklick grundsätzlich ausgeschaltet sein soll-
Ansonsten siehe meine untere Antwort mit Link
Gruss Rainer

AW: Commandbars Enable = False + MSGBox
02.08.2007 14:11:00
Rudi
Hallo,
Rainer: das betrifft dann aber die Commandbar("Cell")
Mein Vorschlag wäre, alle Controls aus Ply rauszuschmeißen und eins ohne Funktion mit der Caption "Außer Betrieb" reinzusetzen. Beim Schließen des Workbooks kann man Ply ja resetten (was mir gar nicht passen würde).
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: Commandbars Enable = False + MSGBox
02.08.2007 14:14:00
Marc
Hallo Rudi,
kannst Du das bitte nochmal für einen Laien erklären? Ich hab keine Ahnung, wie man das anwenden soll.
Grüße,
Marc

Anzeige
Frage noch offen!
02.08.2007 14:32:05
Marc
Hallo zusammen,
die oben gestellte Frage ist noch offen. Ich hoffe, mir kann noch jemand dabei helfen.
Vielen Dank schonmal für die bisherigen Antworten!
Grüße,
Marc Richter

Weshalb...
02.08.2007 14:51:00
Ramses
Hallo
in dem Link den ich dir geschickt habe ist es gleich der erste Beitrag
"..Als kleine Aufwärmübung wollen wir ein Popup erstellen, welches durch den Rechtsklick auf einen Tabellenreiter erscheint...."
Da ist deine Anfrage haarklein erklärt,... das sollte doch wohl möglich sein.
Gruss Rainer

Anzeige
AW: Weshalb...
02.08.2007 15:03:00
Marc
Hallo Rainer,
danke für den Hinweis, ich hatte das glatt übersehen. Als ich den Link öffnete habe ich zunächst nichts mit den Anweisungen anfangen können. Das geht eindeutig über meinen Level in VBA!
Grüße,
Marc

AW: Weshalb...
02.08.2007 15:23:00
Ramses
Hallo
:-)
Kannst du bis heute abend warten. Muss jetzt in eine Sitzung.
Gruss Rainer

AW: Weshalb...
02.08.2007 15:33:45
Marc
Hallo Rainer,
klar kann ich bis heute Abend warten.
Grüße,
Marc

Und hier kommt es...
02.08.2007 18:51:26
Ramses
Hallo
Das gehört in das Klassenmodul "Diese Arbeitsmappe" deiner Mappe wo das funktionieren soll
Option Explicit

Private Sub Workbook_Open()
    Disable_Ply_Commandbar
End Sub

Das gehört in ein VBA-Modul deiner Mappe
Option Explicit

Sub Disable_Ply_Commandbar()
    Dim myCb As CommandBar
    Dim myCtl As CommandBarControl
    Set myCb = CommandBars("Ply")
    Dim i As Integer
    With myCb
        .Reset
        For i = .Controls.Count To 1 Step -1
            .Controls(i).Delete
        Next i
    End With
    Set myCtl = myCb.Controls.Add()
    With myCtl
        .Caption = "Diese Funktion wurde deaktiviert"
        .OnAction = ""
    End With
    Set myCtl = myCb.Controls.Add()
    With myCtl
        .Caption = "Funktion aktivieren"
        .OnAction = "Activate_Ply_Bar"
    End With
    Set myCb = Nothing
    Set myCtl = Nothing
End Sub

Sub Activate_Ply_Bar()
    Dim myCb As CommandBar
    Dim myCtl As CommandBarControl
    Set myCb = CommandBars("Ply")
    Dim myPass As String, inPass As String
    myPass = "DeinPasswort"
    inPass = InputBox("Passwort eingeben:", "Admin Funktion", "Das ist es nicht")
    'Abbrechen geklickt
    If StrPtr(inPass) = 0 Then Exit Sub
    'Passwort falsch
    If inPass <> myPass Then Exit Sub
    CommandBars("Ply").Reset
    Set myCtl = myCb.Controls.Add()
    With myCtl
        .Caption = "Reiter Kontextmenü deaktivieren"
        .OnAction = "Disable_Ply_Commandbar"
    End With
    MsgBox "Kontextmenü aktiviert"
End Sub

Viel Spass
Gruss Rainer

Anzeige
AW: Und hier kommt es...
03.08.2007 09:14:00
Marc
Hallo Rainer,
ich werde es gleich ausprobieren. Schreiben kann ich einen solchen Code noch nicht. Aber nach dem, wie er sich liest, klingt er ausgesprochen interessant!!!
Vielen Dank für Deine Hilfe!!!
Grüße,
Marc

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige