Ich vermute, dass Deine Routine schon korrekt ist. Jedoch arbeitet Office mit temporären Dateien, die parallel zu Deiner Datei angelegt werden, vermutlich darfst Du also die geöffneten Office Files trotzdem noch öffnen.
Probiere es mal so:
Delphi-Quellcode:
Function TryOpen(FileName: String):Boolean;
var aFile: File;
begin
Result := False;
AssignFile(aFile, FileName);
Try
Try
Reset(aFile);
Finally
CloseFile(aFile);
End;
Result := True;
Except
End;
end;