Hallo Heiko
Leider ist die Datei ja nicht direkt verlinkt. Excel weiß nicht, dass durch den Hyperlink letztendlich eine Excel-Datei geöffnet wird.
Aha, also wird auf jeden Fall eine bestehende Excel-Datei aus irgendeinem Ordner geöffnet wenn du auf den Hyperlink klickst. Du weißt nur nicht welche? Wenn du auf diese Datei zugreifen willst, gibts noch einen anderen Weg.
Ist es möglich, ein ereignisorientiertes Makro im Hintergrund laufen zu lassen, welches erkennt, dass eine neue Datei geöffnet wurde?
Probiers mal so: Ist nur halt nur etwas komplizierter. Du musst dazu die sog. Application.Events einschalten. Füge dazu in Datei A ein neues Klassenmodul hinzu: Das kannst du im Eigenschaftenfenster z.B. AppEvents nennen. Füge dort deinen Wunschcode ein. z.B.
Public WithEvents app As Application
Private Sub app_WorkbookOpen(ByVal Wb As Workbook)
MsgBox Wb.Name & " wurde geöffnet"
End Sub
Außerdem fügst du im Modul "DieseArbeitsmappe" von Datei A noch diesen Code ein, damit die Events beim Öffnen der Datei eingeschaltet werden.
Dim myEvents As New AppEvents
Private Sub Workbook_Open()
Set myEvents.app = Application
End Sub
Sobald du Datei A schließt und neu öffnest sind die AppEvents aktiv. Der Code app_WorkbookOpen wird ausgeführt sobald sich irgend eine bestehende Datei öffnet. Man kann nur hoffen, dass das Kaufprogramm bereits ein DoEvents enthält. Wenn nicht würde ich das reklamieren und den Einbau dieses Befehls nach dem Öffnen der Datei verlangen. Nur so hast du die Möglichkeit eigenen Code auszuführen, bevor der Code des Programms weiterläuft.
Gruß Mr. K.