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

Druckmenü deaktivieren ?

Druckmenü deaktivieren ?
06.04.2008 10:32:58
Kurt
Guten Morgen, gibt es eine Möglichkeit das Symbol Drucken in der Symbolleiste und
in der Menüleiste die "Druckauswahl" bzw. die Schrift DRUCKEN zu deaktivieren ?
Ich möchte dies gern beim Öffnen einer bestimmten Datei und beim Schließen wieder
aktivieren.
gr Kurt P

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

Betreff
Datum
Anwender
Anzeige
Habe mal was gefunden aber noch
06.04.2008 11:04:07
Kurt
Hey Zusammen,
habe dies gefunden:

Sub Menüleiste_Grau()
Dim C As Object
Application.CommandBars(1).Enabled = True
For Each C In Application.CommandBars(1).Controls
C.Enabled = Not C.Enabled
Next
End Sub


'----------- Beschriftungsleiste ------------------------------


Function Change_Control_State()
'(C) Ramses
Dim i As Long
Dim myCmdBar As CommandBar, myCnt As CommandBarControl
Set myCmdBar = Application.CommandBars("Worksheet Menu Bar")
For Each myCnt In myCmdBar.Controls
myCnt.Enabled = Not myCnt.Enabled
Next
End Function


Damit wird die Beschriftungsleiste Grau also man kann nichts ansprechen/selektieren.
Nun möchte ich nur noch das "Druckbutton" soweit vorhanden, deaktivieren,
aber WIE ?
gr Kurt P

Anzeige
AW: Druckmenü deaktivieren ?
06.04.2008 11:11:11
Josef
Hallo Kurt
' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Workbook_Activate()
procControlEnableDisable 2521, False
procControlEnableDisable 4, False
procControlEnableDisable 109, False
End Sub

Private Sub Workbook_Deactivate()
procControlEnableDisable 2521, True
procControlEnableDisable 4, True
procControlEnableDisable 109, True
End Sub

Private Function procControlEnableDisable(intId As Integer, bolStatus As Boolean)
'Idea by Nepumuk
Dim myCommandBar As CommandBar, myCommandBarControl As CommandBarControl
For Each myCommandBar In Application.CommandBars
    Set myCommandBarControl = myCommandBar.FindControl(ID:=intId, Recursive:=True)
    If Not myCommandBarControl Is Nothing Then myCommandBarControl.Enabled = bolStatus
Next
End Function


Gruß Sepp



Anzeige
DANKE, das ist einfach Klasse ! -)
06.04.2008 11:18:13
Kurt
Hey Sepp, das ist einfach Klasse. So ist man gezwungen mein Druckbutton zu betätigen !!!
Schönen Sonntag noch!
gr Kurt P

Druck bestimmter Seite unterbinden
06.04.2008 11:15:00
Beate
Hallo,
ohne irgendwas abuschalten, könntest du auch dieses Makro ins Codefenster der Arbeitsmappe einfügen, dabei den Blattnamen im Code anpassen:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
If ActiveSheet.Name = "Tabelle1" Then Cancel = True
End Sub


Gruß,
Beate

DANKE, Beate ! -)
06.04.2008 18:27:00
Kurt

AW: @ Josef Ehrensberger
06.04.2008 11:52:36
Gerd
Hallo Sepp,
Klasse Code!
Im Sinne des Fragestellers fehlt noch etwas "Unbestelltes".
STRG + P funktioniert noch.
Kannst Du dies noch ergänzen ?
Die Schrauberei an den Einstellungen ist nicht so mein Ding.
Gruß Gerd

Anzeige
AW: @ Josef Ehrensberger
06.04.2008 12:29:00
fcs
Hallo Gerd,
ob man in den neueren Excelversionen die Tasttaturbelegung direkt ändern kann weiss ich nicht.
Unter Excel 97 hab ich zumindest nichts gefunden.
Man kann aber einem Makro in der Datei die Tastenkombination Strg + p zuweisen und so die Funktion vorübergehend außer Gefecht setzen.
Gruß
Franz
Das folgende Makro in einem allgemeinen Modul der Arbeitsmappe einfügen und anschließend via Menü Extras -- Makro -- Makros... Makro wählen und unter Optionen die Tastenkombination zuweisen.

Sub Strg_P_deaktivieren()
'Diesem Makro die Tastenkombination Strg + p  zuweisen
MsgBox "Drucken per Tastenkombination Strg + p nicht möglich," & vbLf _
& "wenn Datei """ & ThisWorkbook.Name & """ geöffnet ist!"
End Sub


Anzeige
AW: @ Josef Ehrensberger
06.04.2008 12:45:31
Gerd
Hallo Franz,
vielen Dank für deinen Hinweis.
Ich hatte schon wieder vergessen, das dies geht.
Gedacht hatte ich an sowas wie "Application.OnKey .....".
Aber bei sowas "breche ich mir immer die Finger ab" . :-)
Gruß Gerd

AW: @ Josef Ehrensberger
06.04.2008 12:47:00
Josef
Hallo Gerd,
das geht dann so.
' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Workbook_Activate()
procControlEnableDisable 2521, False
procControlEnableDisable 4, False
procControlEnableDisable 109, False
Application.OnKey "^p", ""
End Sub

Private Sub Workbook_Deactivate()
procControlEnableDisable 2521, True
procControlEnableDisable 4, True
procControlEnableDisable 109, True
Application.OnKey "^p"
End Sub

Private Function procControlEnableDisable(intId As Integer, bolStatus As Boolean)
'Idea by Nepumuk
Dim myCommandBar As CommandBar, myCommandBarControl As CommandBarControl
For Each myCommandBar In Application.CommandBars
    Set myCommandBarControl = myCommandBar.FindControl(ID:=intId, Recursive:=True)
    If Not myCommandBarControl Is Nothing Then myCommandBarControl.Enabled = bolStatus
Next
End Function


Gruß Sepp



Anzeige
AW: @ Josef Ehrensberger
06.04.2008 13:00:12
Gerd
Hallo Sepp,
perfekt.
Vielen Dank!
Gruß
Gerd

AW: @ Josef Ehrensberger
06.04.2008 14:20:00
fcs
Hallo Gerd,
"Application.OnKey" hatte ich ganz vergessen. Verwende ich halt nur sehr selten.
Um aber den Excel-Tastatur-Bedienungsfreak nicht in den Wahnsinn zu treiben sollte man das Ändern der Tastaturbelegung mit einem kleinen Hinweis verbinden.
Gruß
Franz

'Prozeduren unter diese Arbeitsmappe
Private Sub Workbook_Activate()
Application.OnKey "^p", "Strg_P_deaktivieren"
End Sub
Private Sub Workbook_Deactivate()
Application.OnKey "^p"
End Sub
'Prozedur in einem allgemeinen Modul der Datei
Sub Strg_P_deaktivieren()
MsgBox "Drucken per Tastenkombination Strg + p " & vbLf _
& "ist für Datei """ & ThisWorkbook.Name & """ deaktiviert!"
End Sub


Anzeige
AW: @ fcs
06.04.2008 15:23:15
Gerd
Hallo Franz,
mit der Messagebox pflege ich im Echteinsatz einen sehr sparsamen Umgang.
Dem Fragesteller würde ich dann einen Text wie
"Ausdrucken ist nur mit dem Button 'Drucken' möglich" vorschlagen.
Gruß
Gerd

Hallo Gerd Hallo Sepp !!! DANKE
06.04.2008 18:32:00
Kurt
Herzlichen Dank, hatte garnicht daran gedacht.
Ist eine Super Lösung, nochmals Danke !
gr Kurt P

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige