VBA Laufzeitfehler bei Workbooks.Open() im Zusammenhang mit Microsoft A
15.01.2021 18:45:46
Norbert
ich habe hier ein für mich nicht erklärbares Phänomen.
Es tritt nur im Zusammenhang mit Microsoft Access auf.
Ich habe schon seit vielen Jahren ein umfangreiches "Excel-Projekt", es besteht aus einer Excel-Vorlagendatei/Datendatei und einer Excel-Datei in welcher sich alles mit VBA und Vorlageblättern befindet.
Beim Öffnen der Datendatei wird die Datei mit den Makros, welche sehr umfangreich sind, automatisch geöffnet.
Dies geschieht über VBA-Code in "DieseArbeitsmappe Workbook.Open"
Das Phänomen ist jetzt folgendes:
Wird die Datendatei "normal" geöffnet gibt es kein Problem, die Datei mit den Markos wird immer ebenfalls ohne Fehler gestartet.
Ich habe aber jetzt auch noch eine Access Datenbank in welcher ich eine Liste mit den angelegten Datendateien führe.
Die Excel- Datendateien sind dort als Objekte verknüpft.
Wenn ich Verknüpfung in der Access Datenbank anwähle öffnet sich Excel mit der Datendatei.
Und hier kommt es jetzt zum Fehler beim automatischen Öffnen der Datei mit den Makros.
Der Vorgang wird mit einem Laufzeitfehler '1004': Die Methode 'Open' für das Objekt 'Workbooks' ist fehlgeschlagen, abgebrochen.
An dem Code ist jetzt nichts wirklich spezielles er sieht wie folgt aus (nur das entscheidende) und der Fehler tritt bei Workbooks.Open(s) auf.
Private Sub Workbook_Open()
Dim s As String
Dim wb As Workbook
Dim fs As Object
s = "xyz" 'Dateiname wird vorbelegt
Set fs = CreateObject("Scripting.FileSystemObject")
If fs.fileexists(s) Then 'Kontrolle ob Datei vorhanden
Set wb = Workbooks.Open(s) 'Datei öffnen
End If
End Sub
Wenn man die Fehlermeldung übrigens mit "Beenden" abbricht ist die Excel-Datendatei normal geöffnet. Die Datei mit den Makros aber natürlich nicht.
Vielleicht kennt ja jemand von Euch die Ursache für diese Verhalten und weiß wie man es abstellen kann.
Ich habe irgendwie die Vermutung das es an Sicherheitseinstellungen liegt.
Aber warum geht es dann beim direkten Öffnen aber nicht beim Öffnen von Access aus.
Ich bedanke mich schon mal im Voraus für die Bemühung.
Es grüßt Euch
Norbert