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

Öffnen und Schliessen von geschützten ohne Abfrage

Öffnen und Schliessen von geschützten ohne Abfrage
17.09.2008 14:20:00
geschützten
Hallo Leute,
ich baue ein Berichtswesen in Excel auf. Aufgrund der großen Datenmenge benötige ich zwei Dateien.
- In der Datenbank-Datei (DB.xls) sind die Daten abgespeichert. Diese Datei ist durch Kennwort geschützt, um ein Verändern der Daten durch Unberechtigte zu verhindern.
- Die Auswerte-Datei (Report.xls) greift mittels Bezügen auf die DB.xls zu.
Problem:
Sobald man die Report.xls öffnet, wird der Kennwortschutz von DB.xls abgefragt. Und beim Schliessen der Datei ist es möglich Änderungen zu speichern.
Zwei Fragen:
1. Wie kann ich es mittels VBA machen, dass ein User die Report.xls öffnet, ohne Abfrage des Kennwortes?
2. Wie kann ich verhindern, dass beim Verlassen der Datei die Änderungen, die ein User gemacht hat gespeichert werden?
Vom Hörensagen weiss ich, dass es gehen soll. Aber wie es gehen soll, ... da steh ich wie der Ochs vorm Berge.
Dank im voraus.
max

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Öffnen und Schliessen von geschützten ohne Abfrage
17.09.2008 16:07:00
geschützten
Hallo,
1. vergib doch für die DB.xls nur ein Schreibschutzkennwort.
2. in der Report.xls? Auch schreibschutz-Kennwort.
Gruß
Rudi
AW: Öffnen und Schliessen von geschützten ohne Abfrage
17.09.2008 17:16:00
geschützten
Hallo max,
Alternative zu Rudi's Vorschlag:
1. In der Report-Datei wird die automatische Aktualisierung der Verknüpfungen beim Öffnen der Datei deaktiviert.
2. nach dem Öffnen der Reportdatei wird automatisch ein Makro gestartet, das die Datenbankdatei kurz schreibgeschützt öffnet und dannach wieder schließt. Das aktualisiert alle verknüpften Werte.
Dazu müssen dann aber die Passwörter für die Datenbankdatei im Code hinterlegt werden.
D.h., dass
a) das VBA-Projekt der Reportdatei muss auch Kennwortgeschützt werden.
b) für Datenaktualisierung müssen die Makros beim öffnen der reportdatei aktiviert werden.
Gruß
Franz

Private Sub Workbook_Open()
Workbooks.Open Filename:="C:\Lokale Daten\Test\testDBKW.xls", Password:="test", _
ReadOnly:=True, writerespassword:="test"
ActiveWorkbook.Close
End Sub


Anzeige
AW: Öffnen und Schliessen von geschützten ohne Abfrage
18.09.2008 08:13:15
geschützten
Hallo Franz,
Dank auch an Dich für Deinen Beitrag.
Dein Lösungsansatz scheint in meine Richtung zu gehen. Aus Zeitgründen kann ich mich aber erst am Wochenende wieder damit beschäftigen.
Ist damit aber auch mein zweites Problem, schliessen ohne speichern, gelöst?
max
AW: Öffnen und Schliessen von geschützten ohne Abfrage
18.09.2008 10:30:00
geschützten
Hallo Max,
im Prinzip kann man auch so etwas realisieren. Zusätzlich muss auch das Speichern verhindert werden. Dazu muss die Reportdatei immer schreibgeschützt geöffnet werden.
Grundsätzlich kann man die Reportdatei dann aber immer noch unter einem anderen Namen speichern.
Problem beim Erstellen/Bearbeiten der Datei:
Solange Makros aktiv sind kann die Datei immer nur unter einem anderen Namen gespeichert werden.
Die Makros die beim Öffnen/Schließen der Datei automatisch gestartet werden sollten also erst ganz zum Schluss mit ihrem vollständigen Funktionsumfang eingebaut werden, wenn alles funktioniert.
Ggf. muss du noch dafür sorgen, dass die Makros beim Öffnen der Reportdatei auch aktiviert werden.
Das macht man üblicherweise so, dass man ein zusätzliches Blatt (in meinem beispiel "Info") in der Tabelle anlegt, das nur den Hinweis auf die Notwendigkeit der Makroaktivierung enthält. Beim schliessen der Datei werden in einer For-Next-Schleife alle Blätter bis auf dieses Blatt ausgeblendet (Eigenschaft Visble=xlSheetVeryHidden), mit der Öffnen-Prozeder werden alle Blätter eingeblendet (Eigenschaft Visble=xlSheetVisible).
Nachfolgend entsprechende Beispielcodes.
Gruß
Franz

Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Blätter ausblenden bis auf Info
Dim objSheet
For Each objSheet In ThisWorkbook.Sheets
If objSheet.Name  "Info" Then
objSheet.Visible = xlSheetVeryHidden
End If
Next
ThisWorkbook.Save  'Diese Zeile zum Schluss deaktivieren
'Status auf gespeichert setzen
'ThisWorkbook.Saved = True 'Diese Zeile erst zum Schluss aktivieren
End Sub
Private Sub Workbook_Open()
'Prüfen ob Datei schreibgeschützt geöffnet wurde
'Diese Prüfung erst zum Schluß aktivieren
'  If Not ThisWorkbook.ReadOnly = True Then
'    MsgBox "Datei muss schreibgeschützt geöffnet werden! Datei wird wieder geschlossen."
'    ThisWorkbook.Close
'    Exit Sub
'  End If
'Alle Blätter einblenden
Dim objSheet
For Each objSheet In ThisWorkbook.Sheets
objSheet.Visible = xlSheetVisible
Next
'Datenbankdatei öffnen und wieder schließen
Workbooks.Open Filename:="C:\Lokale Daten\Test\testDBKW.xls", Password:="test", _
ReadOnly:=True, writerespassword:="test"
ActiveWorkbook.Close
End Sub


Anzeige
AW: Öffnen und Schliessen von geschützten ohne Abfrage
18.09.2008 08:06:24
geschützten
Hallo Rudi,
danke für deinen Beitrag.
Die Daten in der DB.xls sollen aber nicht nur schreibgeschützt sein, sondern auch nicht sichtbar sein, da die einzelnen User auch unterschiedliche Berechtigungstufen haben (Geht vom Sachbearbeiter einzelner Bereiche bis zur Geschäftsleitung). D.h. die Datenbank existiert, ist aber nur vom Admin, sprich meinereiner, zu öffnen und zu bearbeiten.
Gleiches gilt für die Auswertedatei. Nicht alle User haben Zugriff auf jede Auswertung. D.h. auch in der Auswertedatei wird der Zugriff über ein makrogesteuertes Berechtigungskonzept geregelt.
max
Anzeige

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige