Wenn CreateOleObject nicht erfolgreich ist, wird eine
Exception ausglöst.
Deshalb ist die Prüfung VarIsNull(aExcelApp) an dieser Stelle überflüssig.
Zumal aExcelApp.Quit auf einen Null-Variant auch nicht funktionieren kann.
Es wird zuerst das aWorkbook erzeugt, dann davon aWorksheet abgerufen.
Aber erst danach geprüft, ob aWorkbook überhaupt erfolgreich erzeugt wurde.
Hier würde auch bereit der Abruf von aWorksheet eine
Exception auslösen, wenn aWorkbook nicht existiert.
So lange if-else-Blöcke sind relativ unübersichtlich.
Deshalb würde ich die Blöcke eher in Unterfunktionen auslagern oder bei Ausnahmen die Funktion direkt verlassen.
Delphi-Quellcode:
function fn(): Boolean;
begin
{code}
if Ausnahme then
Exit(False);
{code}
if Ausnahme then
Exit(False);
{code}
Result := True;
end;