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

Schreibschutz für Format

Schreibschutz für Format
11.10.2006 09:49:27
Ingo
Hallo zusammen,
ich habe eine Problem. Meine Kollegen und ich benutzen eine Excel-Datei, bei der komischerweise wöchentlich immer das Format zerschossen wird, d.h. statt drei Seiten druckt er dann auf einmal 46 Seiten und super klein aus, weil der Seitenumbruch wieder total verstellt ist. Gibt es über Excel bzw. VBA die Möglichkeit das Format mit einem Schreibschutz zu versehen, so dass Seitenumbrüche o.ä. erst nach Eingabe eines Kennworts gemacht werden können. Wir wissen, dass einer da irgendetwas falsch macht und daher die Seite Woche für Woche neu eingerichtet werden muss. Was wäre hierfür eine Lösung?
Gibt es auch eine Lösung, dass in bestimmten Zeilen und Spalten immer die gleiche Schriftgröße und -art eingestellt bleibt und man diese nicht ändern kann? Es geht hier wirklich nur um die Sicherung des Formats, der Inhalt soll weiterhin veränderbar sein.
Danke und Gruß
Ingo

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schreibschutz für Format
11.10.2006 11:03:25
Daniel
Hallo
eine spezielle Funktion, das Format zu schützen, gibt es meines wissen nach nicht,
aber du kannst, wenn du das Blatt schützt, festlegen was der Anwender mit den ungeschützten Zellen machen darf.
Das heißt, du kannst festlegen, daß er bei aktivem Blattschutz in den ungeschützten Zellen nur die Werte, aber nicht die Formate ändern kann. Allerdings ist der Seitenwechsel da nicht explizit erwähnt
alternativ könntest du natürlich auch per Makro versuchen, vor dem Drucken die Original-Formatierung und Seitenwechsel wieder herzustellen.
Automatisiert würde das im Before_Print_Ereignis bei DieseArbeitmappe gehen.
allerding würde mich interssieren, welche Veränderungen konkret dazu führen, daß aus 3 normal gedruckten Seiten plötzlich 46 klein gedruckte Seiten werden.
Gruß, Daniel
Anzeige
AW: Schreibschutz für Format
11.10.2006 11:36:21
Reinhard
Hi Ingo,
habe jetzt auf die Schnelle nicht alle Namen gefunden und auch nicht eruiert wieviele und welche Menuepunkte du umbelegen musst. Deshalb ist der Code so nicht brauchbar, aber funktioniert und zeigt wie du vorgehen musst.
Naja, ein meeting aller Kollegen und mal klar machen dass keiner 46 Seiten einstellen soll wäre auch ne idee :-) Und mir gehts wie Daniel, ich hätte ja noch kapiert das jmd die Schriftgröße auf 1-3 setzt und dass dann 46 Seiten anstatt 3 gedruckt werden, aber umgekehrt *grübel*
Der Code legt auf den Menuepunkt "Seite einrichten" ein Makro, d.h, ohne passwort kann keiner mehr "Seite einrichten" durchführen. erst nach Eingabe des Passwortes wird der Dialog "Seite einrichten" aufgerufen. Leider weiß ich nicht auswendig wie der Dialog für Seite einrichten heißt, deshalb habe ich den Dialog für Sortieren genommen. (wenn Fehlermeldung kommt liegt es daran dass du keine gefüllten zellen matkiert hast bei Aufruf von "Seite einrichten " was ja jetzt die Sortierungsbox aufruft, von der kommt dieFehlermeldung).
Aufgrund des Codes kannst du dein problem lösen.
Tipp, mit
For each c in Application.CommandBars
msgbox c.name
For each c in Application.CommandBars(3).controls
msgbox c.name
usw kommst du auf die Namen der Controls. Die namen der Dialoge stehen irgendwo gelistet in der Hilfe zu Dialogs. Das "&" ist der Unterstrich im menuepunkt.
Option Explicit
Sub einmaligLaufen Lassen()
With Application.CommandBars(1).Controls(1)
.Controls("Seite einr&ichten...").OnAction = "ttt"
End With
End Sub
Sub ttt()
Dim eingabe
eingabe = InputBox("passwort?")
If eingabe <> "xyz" Then Exit Sub
Application.Dialogs(xlDialogSort).Show
End Sub

Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
Anzeige
AW: Schreibschutz für Format
11.10.2006 11:53:04
Ingo
Hallo Reinhard,
werde mir das nachher mal anschauen, denke aber, dass mir das schon weiterhilft. Vielen Dank schonmal. Das Problem ist, dass wir das auch schon in jedem Meeting ansprechen, aber keiner weiß, wer das ist bzw. keiner gibt es zu.
Aber könnte man alternativ nicht eine Msgbox beim Öffnen der Datei anzeigen, die den letzten User und den Zeitpunkt des letzten Zugriffs anzeigt. So könnten wir zumindest schonmal den "Schuldigen" identifizieren...
Wir verstehen es eh schon lange nicht mehr wie derjenige es hinbekommt immer wieder das Format zu zerschießen.
Gruß
Ingo
Anzeige
AW: Schreibschutz für Format
11.10.2006 12:13:28
Reinhard
Hi Ingo,
ja das geht, macht mir aber Bauchschmerzen weil es heimliche Überwachung ist.
In ttt wird dann nicht nach Passwort gefragt, sondern auf einem für den normalen Exceluser ohne Vba nicht einsehbaren Blatt die vorhandenen Formate protokolliert werden mit seinem Usernamen, dann wird der Formatiuerungsdialog aufgerufen und wenn der beendet ist wird wieder protokolliert.
Mein Problem ist, der User merkt davon nix:-(
Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
AW: Schreibschutz für Format
11.10.2006 12:30:42
Daniel
Hallo
man könnte ja eine Msg-Box einfügen, die den User darauf hinweist, daß seine Änderungen mitprotokolliert wurden.
Falls er damit nicht einverstanden ist, kann er ja die Datei ohne speichern schließen.
(womit er natürlich auch keine Änderungen hinterlassen kann)
Wenn jemand damit ein Problem hat, sollte er schon einen guten Grund dafür haben.
Gruß, Daniel
Anzeige
AW: Schreibschutz für Format
11.10.2006 13:22:15
Ingo
Hallo Reinhard,
was ist denn "ttt"? Das sagt mir gerade gar nichts :-(
Also, ich fände folgende Lösung ganz gut. Die Sachen werden protokolliert und dem User per Msgbox mitgeteilt. So ist es keine heimliche Überwachung und man kann das Problem vielleicht genauer spezifizieren, d.h. herausfinden, warum das Format immer kaputt geht.
Es reicht ja auch notfalls eine normale Msgbox, die nur anzeigt, wer als letztes dran war und wann.
Wie könnte ich das denn darstellen?
Text:
Hallo
man könnte ja eine Msg-Box einfügen, die den User darauf hinweist, daß seine Änderungen mitprotokolliert wurden.
Falls er damit nicht einverstanden ist, kann er ja die Datei ohne speichern schließen.
(womit er natürlich auch keine Änderungen hinterlassen kann)
Wenn jemand damit ein Problem hat, sollte er schon einen guten Grund dafür haben.
Gruß, Daniel
Anzeige
AW: Schreibschutz für Format
11.10.2006 14:36:12
Daniel
Hallo
ich verwende für sowas folgenden Code (einzutragen in "DieseArbeitsmappe")

Private Sub Workbook_Open()
Select Case Environ("Username")
Case "Dein Username"
Sheets("Log").Visible = -1
Case Else
Msgbox("Warnhinweis")
With Sheets("Log")
.Visible = 2
.Rows(101).Delete
.Rows(2).Insert
.Cells(2, 1).Value = Date
.Cells(2, 2).Value = Time
.Cells(2, 3).Value = Environ("Username")
End With
End Select
End Sub

Als vorbereitung müsstets du noch ein Sheet mit Namen "Log" anlegen und bei Case "Dein Username" halt deinen Usernamen eintragen (der mit dem du dich in Winwdows einloggst) und den Warnhinweis entsprechend anpassen.
beim öffnen der Datei werden Datum, Uhrzeit und Username ins Sheet Log eingetragen.
Das Sheet Log bleibt für alle User unsichtbar, außer für den, der in der select case anweisung aufgeführten.
Der Normaluser kann das Sheet Log nur über den Makro-Editor sichtbar machen und muß also schon über tiefergehende Excel-Kenntnisse verfügen.
Gruß, Daniel
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige