Anmerkungen zu deiner Lösung:
1. Das Makro @Error bezieht sich immer auf die zuletzt ausgeführte Funktion, deine zweite @Error Abfrage bezieht sich also nicht mehr zwingend auf den Link klick, sondern könnte sich bei Erfolg des Link klicks auf die Funktion Call beziehen. Deine Fehlerabfrage ist in dieser Form also suboptimal. Dafür wurde der ELSE Zweig einer IF...THEN...ELSE Verzweigung erfunden.
2. Wie dir schon im anderen Thread erklärt wurde ist die Funktion Call überflüssig wenn du die Funktion auch direkt aufrufen kannst. Diese Funktion macht bestenfalls Sinn um komplexe Funktionsaufrufe über ein Parameterarray Zeichenmässig zu verkürzen (siehe Beispiel in der Hilfe), ein anderer Anwendungszweck wäre z.B. eine Debugfunktion die dir als Anwender erlaubt jede beliebige Programmfunktion zur Laufzeit manuell aufzurufen.
3. In der Hilfe wird normalerweise für jede Funktion erwähnt wie sie sich im Fehlerfall oder Erfolgsfall verhält. In deinem Fall liefert die Funktion nicht nur einen Fehlercode, sondern auch einen Returnwert. Grundsätzlich würde ich hier daher auf den Returnwert prüfen um zu sehen ob es sich um einen Erfolg oder Fehler handelt und im Fehlerfall würde ich den Error Code nutzen um herauszufinden was genau das Problem war. In der Hilfe zur genannten Funktion sind immerhin 8 verschiedene Fehlerfälle dokumentiert. Ob du die dann noch detailiert abhandeln möchtest oder einfach nur den Fehlercode für Debugmeldungen verwendest bleibt dir überlassen. Im Beispiel unten wird der Fehlercode lediglich erwähnt und kann dann von dir in der Hilfe nachgeschlagen werden.