Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Workbook schließen von passwortgeschützter Datei
#1
Hallo,

ich habe folgendes Problem und komme einfach nicht weiter:
Wenn ich meine Exceldatei öffne, sollen automatisch alle verlinkten anderen Exceldateien geöffnet, aktualisiert und dann geschlossen werden. Diese Dateien sind alle passwortgeschützt. Beim schließen fragt er immer nach dem Passwort. Das bekomme ich nicht gelöst

Also:

ich öffne die Datei main.xlsx, diese enthält verknüpfungen zu dummy1.xlsx, dummy2.xlsx, etc., die alle passwortgeschützt sind. Alle dummy*.xlsx müssen alle Daten aktualisieren, sie sind mit einer Datenbank verknüpft. Anschließend sollen sie direkt wieder geschlossen werden und nur die Datei main.xlsx offen bleiben mit den nun korrekt und aktualisierten Werten.

Was immer ich auch versuche, wenn ich die Dateien wieder schließen will, fragt er nach dem Passwort der zu schließenden dummy*.xlsx. Dieses Problem bekomme ich nicht gelöst.

Erst habe ich es selbst probiert und bin gescheitert. Dann habe ich folgendes Makro aufgezeichnet:


Sub Workbook_Open()

    Workbooks.Open Filename:= _
        "Z:\Pfad\dummy.xlsx", Password:="test"
    ActiveWorkbook.RefreshAll
    ActiveWindow.Close savechanges = True

End Sub


Das Problem bleibt dasselbe. Er will ein Passwort haben, und zwar nicht zum Öffnen der Datei und auch nicht zum aktualisieren oder speichern, das habe ich durch Auskommentierung der entsprechenden Codezeilen getestet.

Für Hilfen jedweder Art bin ich sehr dankbar.
Antworten Top
#2
Hallo,

vielleicht braucht es noch das Schreibkennwort? Hier sind die Befehle getrennt, um es besser testen zu können:
Sub Workbook_Open()
   With Workbooks.Open(Filename:="Z:\Pfad\dummy.xlsx", _
                       Password:="test", _
               WriteResPassword:="test")
     .RefreshAll
     .Save
     .Close
   End With
End Sub
Gruß Uwe
Antworten Top
#3
Hallo Uwe,

vielen Dank für Deine Antwort.
Leider besteht das Problem immer noch:

1.) Ich öffne main.xlsx
2.) Bei der Sicherheitswarnung klicke ich auf "Inhalt aktivieren".
3.) Excel fragt mich, ob die Verknüpfungen aktualisieren möchte. Ich klicke auf "Aktualisieren".
4.) main.xlsx wird wie gewünscht aktualisiert.
5.) dummy.xlsx fragt mich nach dem Kennwort, was aber schon im Makro steht. Ich gebe das Kennwort ein.
6.) Die Sicherheitswarnung fragt mich, ob ich diese Datei zu einem vertrauenswürdigen Dokument erklären möchte. Ich klicke auf "Ja".
7.) dummy.xlsx wird wieder geschlossen.

Anfänglich kam noch die Datenschutzmeldung, als excel per makro die dummy.xlsx speichern sollte. Die habe ich inzwischen im Sicherheitscenter deaktiviert, in dem ich den Haken bei "beim Speichern persönliche Daten aus Dateneigenschaften entfernen" abgewählt habe.

Gibt es die Möglichkeit, sowohl die Passwortabfrage in den Griff zu bekommen, als auch die ganzen Popups automatisch mit "Ja" zu beantworten, so dass das nicht immer manuell geschehen muss?

OK, ich habe es gerade nochmal getestet, diesmal habe ich zusätzlich noch die tatsächliche Datei eingebunden (alpha.xlsx) und nicht bloß dummy.xlsx. Es ist merkwürdig. Er hat die verknüpfte Zelle zu alpha.xlsx aktualisiert, den korrekten Betrag in main.xlsx geschrieben. Im Anschluss kam die Aufforderung zur Eingabe des Passworts. Ich gebe das Passwort ein. Er schließt alpha.xlsx. Und plötzlich steht in der main.xlsx in der Zelle, in der der Wert aus alpha.xlsx verknüpft ist, nur noch "Bezug", obwohl der richtige Wert schon da stand. Letzteres passiert allerdings erst, wenn ich das zweite Passwort, also das für dummy.xlsx, eingebe. Ich bin verwirrt.
So habe ich den Code angeordnet gehabt:

Sub Workbook_Open()

With Workbooks.Open(Filename:="S:\Pfad\alpha.xlsx", _
Password:="omega", _
WriteResPassword:="omega")
.RefreshAll
.Save
.Close
End With

With Workbooks.Open(Filename:="Z:\Pfad\dummy.xlsx", _
Password:="test", _
WriteResPassword:="test")
.RefreshAll
.Save
.Close
End With

End Sub

Zur Erläuterung: Es geht darum, nach und nach immer mehr Dateien einzubinden. Es soll für das Unternehmen eine Controlling-Tabelle entwickelt werden, die sich die relevanten Daten aus den jeweiligen Monatstabellen zieht, die wiederum ihre Daten aus einer Datenbank ziehen. Dadurch soll jeden Monat eine weitere Tabelle hinzukommen. Die alpha.xlsx-Dateien sind die tatsächlichen, die dummy.xlsx habe ich nur erstmal der Einfachheit halber angelegt und verwendet, um die alphas nicht ausversehen zu korrumpieren.

Liebe Grüße,
Mark
Antworten Top
#4
Hallo Mark,

Einige Meldungen bekommt man mit
Application.DisplayAlerts=False
weg, eventuell auch hier.

Was passiert eigentlich, wenn Du die Datei nicht mit Save sondern mit SaveAs speicherst
Im Prinzip

...
Application.DisplayAlerts = False
With Workbooks.Open(Filename:="G:\test_03.xlsx")", _
Password:="test", _
WriteResPassword:="test")
.RefreshAll
.SaveAs Filename:=.FullName, FileFormat _
:=xlNormal, Password:="test", WriteResPassword:="test", _
ReadOnlyRecommended:=False, CreateBackup:=False
.Close
End With
...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#5
Hallo Andre,


vielen Dank für Deine Antwort.

Wenn ich Deinen Code ausprobiere, klappt es beim ersten Mal. Beim nächsten Mal ist allerdings die verlinkte Datei, die mit .SaveAs gespeichert wurde, korrumpiert und kann nicht mehr geöffnet werden.

Es besteht auch weiterhin das Problem mit dem fehlenden Bezug, den er mir nach dem Schließen der verlinkten Datei anzeigt. Ich verstehe das nicht. Wenn ich den Code ohne den .Close Befehl ausführe, und die verlinkte Datei manuell schließe, gibt es den Bezug-Fehler nicht.

Die verlinkten Dateien müssen auch nicht zwangszweise gespeichert werden. Es wäre nur nett gewesen, darauf kann aber zur Not auch verzichtet werden, wenn sich das Problem so einfacher lösen lässt.

Wenn ich die Passage mit dem .SaveAs auskommentiere, bleibt auch das Problem mit der Passwortabfrage beim .Close bestehen. Merkwürdig ist, dass das nur auftritt, wenn ich die Hauptdatei öffne und das Makro ausgeführt wird. Wenn ich das Makro in der Entwicklungsumgebung ausführe, läut es, ohne dass das Passwort beim Schließen abgefragt wird.

Liebe Grüße,
Mark
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste