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

Datei mit Leseschutz über VBA öffnen

Datei mit Leseschutz über VBA öffnen
Torsten
Hallo beisammen,
im Rahmen der Budgetphase habe ich pro Kostenstelle eine Planungsdatei erstellt. Jetzt gibt es aber die eine oder andere Datei, die nicht jeder öffnen soll und die ich daher mit einem Leseschutz versehen habe.
Da ich nach der Budgetphase die Eingabefelder in den Dateien sperren muß, habe ich einen entsprechenden Code erarbeitet, der ausgehend von einem WS "FILES" die darin genannten Dateien öffnet und die Eingabefelder sperrt (beispielhaft am WS "ENTER" der Planungsdatei, die anderen WS habe ich der Übersichtlichkeit halber weggelassen):
For i = 1 To Sheets("FILES").Range("A1").End(xlDown).Row
wbName = Sheets("FILES").Cells(i, 1)
Workbooks.Open wbName, 3
Dim ws
Dim Arr, i2%
Dim ZE As Object
Arr = Array("ENTER", "ET110", "ET120", "ET140", "ET150", "ET210", _
"ET220", "ET240", "ET600", "WH")
For i2 = LBound(Arr, 1) To UBound(Arr, 1)
Sheets(Arr(i2)).Unprotect Password:="TEST"
Next i2
With Sheets("ENTER")
.Range("EingEST").Locked = True
.Range("EingBU").Locked = True
.Range("EingCONT").Locked = True
.Range("EingACC").Locked = True
.Range("AddComm").Locked = True
End With
....
Arr = Array("ENTER", "ET110", "ET120", "ET140", "ET150", "ET210", _
"ET220", "ET240", "ET600", "WH")
For i2 = LBound(Arr, 1) To UBound(Arr, 1)
Sheets(Arr(i2)).Protect Password:="TEST"
Next i2
Wie muß der Code jetzt angepaßt werden, sodaß auch die lesegeschützten Datein über den Code den Schreibschutz erhalten und das PW für den Leseschutz z.B. "123" lautet?
Eine nachträgliche manuelle Anpassung mit dem Zellschutz ist aufgrund der Vielzahl eher suboptimal.
Vielen Dank für Eure Hilfe vorab.
Gruß
Torsten

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Datei mit Leseschutz über VBA öffnen
02.09.2012 10:02:44
fcs
Hallo Thorsten,
dazu solltest du in deinem Blatt "Files" alle Dateien in einer weiteren Spalte mit WAHR oder FALSCH kennzeichnen, ob die Datei den Kennwortschutz für das lesen hat - WAHR = mit Leseschutz.
Unmittelbar bevor du die Eingabefelder in den Dateien sperren willst entfernst du per Makro den Kennwortschutz dieser Dateien z.B. mit fogendem Makro.
Danach kannst du dann deinMakro für alle Dateien ausführen.
Falls erforderlich kannst du anschließend in ähnlicher Weise den Leseschutz wieder setzen.
Du kannst natürlich auch versuchen diese unterschiedliche Art des Öffnens (mit und ohne Passwort) und ggf. speicherns in deine Prozedur einzubauen, aber das macht es doch irgendwie nur etwas komplizierter.
Gruß
Franz
Sub aaLeseSchutzAufheben()
Dim wbk As Workbook, i As Long, wbName As String
For i = 1 To Sheets("FILES").Range("A1").End(xlDown).Row
wbName = Sheets("FILES").Cells(i, 1)
bolPasswort = Sheets("FILES").Cells(i, 2) 'WAHR oder FALSCH für Leseschutz in Spalte B
If bolPasswort = True Then
Set wbk = Workbooks.Open(Filename:=wbName, UpdateLinks:=0, Password:="123")
Application.DisplayAlerts = False
wbk.SaveAs Filename:=wbName, Password:=""
Application.DisplayAlerts = True
wbk.Close savechanges:=False
End If
Next
End Sub

Anzeige
AW: Datei mit Leseschutz über VBA öffnen
03.09.2012 10:04:06
Torsten
Hallo Franz,
ich versuche in den nächsten Tagen Deinen Code einzubauen. da ich zunächst mit dem Monatsabschluß beschäftigt sein werde. Für den Moment daher vielen Dank für Deine Unterstützung.
Gruß
Torsten

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige