Ábrelo dentro de un bloque try...except.
o
Utiliza {I+} ... {I-}
Esto deshabilita las exceptiones y devuelve el resultado en IOResult.
Si lo abres e IOResult=0 entonces tienes permiso para utilizarlo.
Ejemplo del Help de Delphi
Código Delphi
[-]
function FileIsThere(FileName: string): Boolean;
var
F: file;
begin
{$I-}
AssignFile(F, FileName);
FileMode := 0;
Reset(F);
CloseFile(F);
{$I+}
FileIsThere := (IOResult = 0) and (FileName <> '');
end;