Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Fehlerhandling in Excel-VB-Makro bei Aktualisierung von Verknüpfungen





Frage

Hallo, ich habe in mehreren Excel-Dateien ein Workbook_Open()-Makro, das u.a. sämtliche Dateiverknüpfungen mit dem folgenden Befehl aktualisiert: ActiveWorkbook.UpdateLink Name:=ActiveWorkbook.LinkSources Ist eine der verknüpften Dateien bereits geöffnet, erscheint die Fehlermeldung "Laufzeitfehler '1004': Die Methode 'UpdateLink' für das Objekt '_Workbook' ist fehlgeschlagen." Kann ich das mittels Fehlerhandling abfangen? Oder kann ich die Aktualisierung bspw. in einer Schleife für alle verknüpften Dateien durchführen lassen? (dabei könnte ich ja für jede Datei abfragen, ob diese bereits geöffnet ist oder nicht). Ich möchte auf keinen Fall die Dateinamen inkl. Netzwerkpfad hart in den Code setzen. Vielen Dank für eure Hilfe Jojo

Antwort 1 von coros

Hallo Jojo,

prüfe über eine Schleife, ob die Datei bereits geöffnet ist. Wenn ja, lasse die Datei schließen. Als Ansatz mal nachfolgende Zeilen.

For iWorkbook = 1 To Workbooks.Count
If Workbooks(iWorkbook).Name = "Name der Datei" Then
Workbooks(iWorkbook).Close False
Exit For
End If
Next


MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 2 von jojo5

Hallo,

danke für die Antwort. Aber ich möchte auf keinen Fall die einzelnen Dateinamen "hart" angeben. Egal an welcher Stelle des Makros. Denn wenn ich bspw. bei geöffneter Datei (die das Makro enthält) eine verknüpfte Datei unter einem anderen Namen speichere (bspw. mit einer neuen Versionsnummer), so ändern sich zwar automatisch alle Formeln - den VB-Code müsste ich aber jedes Mal manuell nachziehen.

Deshalb ist das noch nicht die Lösung, die ich brauche.

Trotzdem danke, Gruß
Jojo