That's perfect, thanks Pat.
I've got the whole thing working with this:
procedure coord;
Var X1,Y1,X2,Y2 : Real;
obj:handle;
i:integer;
ofile:string;
begin
obj:=factlayer;
PutFile('Output file', ' ', ofile);
while obj<>NIL do
begin
i:=GetType(obj);
if (i=2) then begin
GetSegPt1(obj,X1,Y1);
GetSegPt2(obj,X2,Y2);
write(X1);
tab(1);
write(Y1);
tab(1);
write(X2);
tab(1);
writeln(Y2);
end;
obj:=nextobj(obj);
end;
close(ofile);
end;
run(coord);
Bit of a frankenstein's monster of your comment and a couple of other things. Next step for me will be to have it move to the next layer and produce a new report, but for now this is plenty to get me thinking about how excel can interpret the data.
Thanks again.