Kennwort bei Dateiaktualisierung mit VBA - neuer V

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Kennwort bei Dateiaktualisierung mit VBA - neuer V von: Werner Lewers
Geschrieben am: 16.03.2005 09:41:43

Guten Morgen,
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
Bild


Betrifft: AW: Kennwort bei Dateiaktualisierung mit VBA - neu von: Matthias G
Geschrieben am: 16.03.2005 09:51:03

Hallo Werner,

wenn die Dateien, von denen die Daten bezogen werden, schon geöffnet sind, fragt Excel m.W. nicht nach, sondern aktualisiert ohne Nachfrage.

Du könntest also erst die 2004er Dateien öffnen, dann die 2005er, und dann die 2004er wieder schließen.
Mit Application.ScrrenUpdating = False geschieht das auch ziemlich unauffällig. :-)

Gruß Matthias


Bild


Betrifft: AW: Kennwort bei Dateiaktualisierung mit VBA - neu von: Werner Lewers
Geschrieben am: 16.03.2005 10:42:02

Hallo Mathias,

gute Idee, bei Durchführung dauert das allerdings relativ (relativ ist relativ...) viel Zeit in Anspruch - abhängig von der Größe der Dateien etc.

Weitere Probleme stellen sich im Folgejahr und - da auch da Feldverknüpfung - bei Aktualisierung von 2005er Mappen untereinander, sofern diese noch nicht alle geöffnet sind.

Aber vielleicht der einzige machbare Weg.

z.B.
- öffnen lfd. Jahr - ohne Aktualisierung
- öffnen Vorjahr - Aktualisierung
- Aktualisierung
- schließen der Vorjahr-Dateien ohne Speicherung der Änderungen
...

Gruß
Werner


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Kennwort bei Dateiaktualisierung mit VBA - neuer V"