Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1004to1008
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

Druckbereich festlegen und aufheben verhindern

Druckbereich festlegen und aufheben verhindern
02.09.2008 12:23:00
Ben
Hallo
ch würde gerne per VBA verhindern, dass meine User den Druckbereich einer Datei verändern können. Dazu habe ich im Forum-Archiv folgenden Beitrag gefunden:
https://www.herber.de/forum/archiv/680to684/t683192.htm
Damit kann ich verhindern, dass im Menu Datei-Druckbereich "Druckbereich festlegen" gewählt werden kann und auch die Schaltfläche auf der Symbolleiste ist deaktiviert. In der Seitenumbruch-Vorschau kann der Druckbereich mittels verschieben der blauen Linien noch geändert werden. Wie kann man auch das verhindern?
Leider ist im obigen Beitrag die ID für "Druckbereich aufheben" nicht mehr erwähnt. Weiss jemand welche ID dafür verwendet werden muss?
Danke für Eure Hilfe.
Ben

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Druckbereich festlegen und aufheben verhindern
02.09.2008 12:29:00
David
Hi Ben,
zumindest deine letzte Frage kann ich dir beantworten:
Schau mal in die Betreff-Zeile des letzten Beitrages! ;-)
Bei dem Rest muss ich allerdings passen, vielleicht kann man ja die Seitenumbruch-Vorschau generell verhindern?!
Gruß
David
AW: Druckbereich festlegen und aufheben verhindern
02.09.2008 12:33:36
Ben
Danke David, die Betreff-Zeile habe ich voll übersehen...
Gruss
Ben
AW: Druckbereich festlegen und aufheben verhindern
02.09.2008 12:45:00
Ben
Hallo
Habe folgenden Code

Private Sub Workbook_Activate()
'Druckbereich ändern verhindern
Dim c
For Each c In Application.CommandBars.FindControls(ID:=364)
c.Enabled = False
'Druckbereich aufheben verhindern
Dim d
For Each d In Application.CommandBars.FindControls(ID:=1584)
d.Enabled = False
Next
End Sub



Private Sub Workbook_Deactivate()
Dim c
For Each c In Application.CommandBars.FindControls(ID:=364)
c.Enabled = True
Dim d
For Each d In Application.CommandBars.FindControls(ID:=1584)
d.Enabled = True
Next
End Sub


Druckbereich festlegen ist dadurch deaktiviert, nicht aber Druckbereich aufheben. Weiss jemand weshalb?
Danke, Gruss
Ben

Anzeige
AW: Druckbereich festlegen und aufheben verhindern
02.09.2008 12:59:53
Chris
Servus Ben,
zunächst mal fehlt jeweils in der ersten Schleife ein Next und 2. funktioniert das dann auch einwandfrei (zumindest in office 2003)

Private Sub Workbook_Activate()
'Druckbereich ändern verhindern
Dim c
For Each c In Application.CommandBars.FindControls(ID:=364)
c.Enabled = False
'Druckbereich aufheben verhindern
Next
Dim d
For Each d In Application.CommandBars.FindControls(ID:=1584)
d.Enabled = False
Next
End Sub



Private Sub Workbook_Deactivate()
Dim c
For Each c In Application.CommandBars.FindControls(ID:=364)
c.Enabled = True
Next
Dim d
For Each d In Application.CommandBars.FindControls(ID:=1584)
d.Enabled = True
Next
End Sub


Gruß
Chris

Anzeige
AW: Nachtrag
02.09.2008 13:21:00
Chris
Servus Ben,
hier noch wie man die komplette Seitenansicht ausschaltet (in ein allgemeines Modul)
Dim cb As CommandBar, cbc As CommandBarControl

Sub aus()
On Error Resume Next
For Each cb In CommandBars
Set cbc = cb.FindControl(ID:=109, Recursive:=True)
If Not cbc Is Nothing Then cbc.Enabled = False
Next
End Sub



Sub ein()
On Error Resume Next
For Each cb In CommandBars
Set cbc = cb.FindControl(ID:=109, Recursive:=True)
If Not cbc Is Nothing Then cbc.Enabled = True
Next
End Sub


Einzelmenüpunkte in der Seitenansicht sind meines Wissens nicht deaktivierbar mit VBA.
Gruß
Chris

Anzeige
AW: Druckbereich festlegen und aufheben verhindern
02.09.2008 13:49:00
Ben
Hallo Chris
Danke. Druckbereich festlegen und aufheben funktioniert nun. Die Seitenumbruchvorschau kann ich aber trotz deinem Code in einem neuen Modul noch immer anzeigen. Die Seitenansicht übrigens auch.
Gruss
Ben
AW: Druckbereich festlegen und aufheben verhindern
02.09.2008 14:09:00
Chris
Schau mal in die Bsp-Datei:
https://www.herber.de/bbs/user/55125.xls
Hast du die Makros auch aufgerufen?
Gruß
Chris
Anzeige
AW: Druckbereich festlegen und aufheben verhindern
02.09.2008 15:10:00
Ben
Mit Deiner Datei ist auch bei mir die Seitenansicht ausgeschaltet. Seltsamerweise kriege ich das nicht hin, auch wenn ich Dein Modul bei mir in einer Testdatei importiere. Hier ist diese Datei
https://www.herber.de/bbs/user/55128.xls
Liegt das ev. an Excel 2000?
Was ich aber eigentlich möchte, ist die Seitenumbruchvorschau verunmöglichen, denn in dieser Ansicht lässt sich der Druckbereich verändern und dies soll ja letztlich verhindert werden. Gibts auch dafür eine ID? Und, gibts eigentlich irgendwo ein Verzeichnis dieser ID's?
Gruss
Ben
Anzeige
AW: Druckbereich festlegen und aufheben verhindern
02.09.2008 15:21:24
Chris
Servus Ben,
du musst das wie in der Beispieldatei machen. Du brauchst alle 4 Makros, oder du musst über

Private Sub Workbook_Activate
Call aus
End Sub


bzw.


Private Sub Workbook_Deactivate
Call ein
End Sub


die Makros aufrufen. Wie kommst du denn an die Seitenumbruchvorschau, wenn nicht über Seitenansicht?
Ich hab mich damit noch nicht wirklich beschäftigt. Ist das ein eigener Menüpunkt ?
Gruß
Chris

AW: Druckbereich festlegen und aufheben verhindern
02.09.2008 15:41:00
Ben
OK. Seitenansicht ausschalten geht bei mir nun auch. Hatte nicht gemerkt, dass bei Arbeitsmappe auch noch ein Code vorhanden ist.
In die Seitenumbruchvorschau gelange ich über "Ansicht-Seitenumbruchvorschau".
Gruss
Ben
Anzeige
AW: Nachtrag
02.09.2008 15:38:06
Chris
Ok, hab's gefunden.
der war bei mir von haus aus deaktiviert.

Sub Deaktivieren()
Dim Menüpunkt As CommandBarControl
Dim Menü_Unterpunkt As CommandBarControl
With Application.CommandBars("Worksheet Menu Bar")
With .Controls("Ansicht")
.Enabled = True
On Error Resume Next
.Controls("Seitenumbruchvorschau").Enabled = False
End With
End With
End Sub


und


Sub Aktivieren()
Dim Menüpunkt As CommandBarControl
Dim Menü_Unterpunkt As CommandBarControl
With Application.CommandBars("Worksheet Menu Bar")
With .Controls("Ansicht")
.Enabled = True
On Error Resume Next
.Controls("Seitenumbruchvorschau").Enabled = True
End With
End With
End Sub


Die ID kenne ich auch nicht.
Gruß
Chris

Anzeige
AW: Nachtrag
02.09.2008 15:50:14
Ben
Wenn Du mir jetzt noch durchgeben könntest, wie ich Deinen Code genau einbinden muss (in Modul kopieren oder in "Diese Arbeitsmappe")?
Gruss
Ben
AW: Nachtrag
02.09.2008 16:09:51
Chris
Naja,
entweder in ein allgemeines Modul oder in DieseArbeitsmappe (is wurscht).
Du musst idie Codes dann halt über Workbook_Activate (Sub Deaktivieren) bzw. Workbook_Deactivate (Sub Aktivieren) mit Call Aktivieren bzw. Call Deaktivieren aufrufen. Diese stehen in DieseArbeitsmappe.
Gruß
Chris
AW: Nachtrag
02.09.2008 17:33:09
Ben
Also irgendwie komme ich nicht weiter. Sorry, aber ich bin halt noch immer ein Greenhorn in Sachen VBA. Kannst Du mal schauen, was hier nicht stimmt?
https://www.herber.de/bbs/user/55137.xls
Die Seitenumbruchvorschau ist nun über den Menupunkt "Ansicht" nicht mehr aktiv. Das ist gut. Ich habe mir für diese Ansicht aber ein Symbol in der Standar-Symbolleiste definiert. Damit lässt sich diese Seitenumbruchvorschau immer noch anwählen.
Zudem kann die Seitenansicht weder über die Symbolleiste noch über den Menupunkt in Datei nicht mehr gewählt werden, was ich jedoch zulassen möchte.
Danke.
Gruss
Ben
Anzeige
AW: Nachtrag
02.09.2008 18:21:10
Chris
Servus Ben,
also m.E. stimmt da alles. Die Seitenansicht funktioniert und der Druckbereich kann weder festgelegt noch aufgehoben werden und außerdem ist die Seitenumbruchvorschau deaktiviert.
Allerdings verstehe ich den Sinn sowieso nicht, da man ja auch über die Seitenansicht auf die Seitenumbruchvorschau kommt und genau das kann ich nicht abschalten, ausser ich schalte die Seitenansicht komplett aus.
Gruß
Chris
AW: Nachtrag
03.09.2008 12:03:00
Ben
Hallo Chris
Ja ich sehe das nun auch so. Ich habe nun zusätzlich auch noch die Seitenansicht und die Funktion "Seite einrichten" ausgeschaltet.
Vielen Dank für Deine Hilfe.
Gruss
Ben
Anzeige
Workbook_BeforePrint
03.09.2008 15:39:30
Beate
Hallo Ben,
ich würde einfach in einem Workbook_BeforePrint-Makro den Druckbereich definieren. Egal, was der User vorher verändert hat, wird es so jedenfalls vor Ausdruck bzw. Seitenvorschau wieder wie gewollt eingestellt.
Gruß,
Beate

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige