Kennwort bei Dateiaktualisierung mit VBA - neuer V
16.03.2005 09:41:43
Werner
ein neuer Versuch zum bekannten Thema.
Vorgabe:
- 6 Excel-Mappen je Jahr 2005 und 2004
- jede Mappe mit identischem Schreib-/Lesekennwort geschützt
- in den 2005er Mappen verknüpfe ich Zellen mit Zellen aus den 2004er Mappen
Ablauf:
1. Beim Öffnen der Mappen 2005 wird von Excel das Kenntwort erfragt. Sofern die Eingabe richtig ist, werden die Dateien auch geöffnet.
2. Anschließend erscheint die Abfrage, ob die Verknüpfungen aktualisiert werden sollen.
3. Wenn Frage 2 mit 'Ja' beantwortet wird, macht Excel einen Zugriff auf die 2004er Mappen, erkennt einen Passwortschutz und erfragt das Kennwort für den Zugriff auf die refenzierten (2004er !!) Dateien.
Soweit zum Hintergrund.
Problemstellung ist, das Kennwort nur ein einziges Mal (!!!) eingeben zu müssen - sowohl zum Öffnen der 2005er Mappen als auch zum Aktualisieren mit den 2004er Werten (wobei die 2004er de Facto ja nicht geöffnet werden, sondern nur darauf zugegriffen wird).
Bisher habe ich (per VBA) erreicht, daß die Eingabe des Kennwortes zum Öffnen der Mappen/2005 erkannt wird - die Mappen werden ordnungsgemäß geöffnet.
Habe folgende Routine erstellt:
Sub Files_2005_open()
Dim PWDatei, PWEingabeD, PWDateiX As String
Dim zNr As Integer
zAnzwkb = 5 ' für Abarbeitung Dateien
Dim zWkb(6) '
zWkb(0) = "F1 2005.xls"
zWkb(1) = "F2 2005.xls"
zWkb(2) = "F3 2005.xls"
zWkb(3) = "F4 2005.xls"
zWkb(4) = "F5 2005.xls"
zWkb(5) = "F6 2005.xls"
Const zTitel = "Kennwort für Datei"
Const zAufforderung = "Bitte eingeben"
Const zFehler = "Eingabe fehlt"
PWEingabeD = InputBox(zAufforderung, zTitel)
PWDateiX = PWEingabeD
For zNr = 0 To zAnzwkb
Workbooks.Open Filename:=zWkb(zNr), UpdateLinks:=3, Password:=PWDateiX
Next zNr
End Sub
Nach dem Öffnen wird allerdings - s.o. Punkt 3 - bei der Durchführung der gwünschten Aktualisierung das Kennwort noch einmal erfragt - allerdings für die 2004er-Dateien.
... und dieses Kennwort möchte ich auch nur einmal eingeben müssen!
Hoffe, dass das Problem jetzt noch deutlicher geworden ist.
Gibts ein Möglichkei dafür?
Gruß
Werner