Никак не могу удалить лишние листы из книги. Везде пишут, что так должно работать, но оно не работает :)
Если включить видимость приложения Excel, то оно спрашивает действительно ли я хочу удалить лист (хотя предупреждения отключены). Если ответить "Да", лист удаляется.
А если видимость Excel не включать,то новый лист в книге остается.
Может я как-то не так отключаю предупреждения? Помогите разобраться, что я делаю не так?
Excel 2003
function ProcessPrice(Price_File_Name: string): boolean;
var
EA1: TExcelApplication;
EWB1: TExcelWorkbook;
EWS1: TExcelWorksheet;
i,j,k,L: integer;
begin
EWS1:=TExcelWorksheet.Create(nil);
EWS1.ConnectKind:=ckAttachToInterface;
EWB1:=TExcelWorkbook.Create(nil);
EWB1.ConnectKind:=ckAttachToInterface;
L:=LOCALE_USER_DEFAULT;
EA1:=TExcelApplication.Create(nil);
EA1.ConnectKind:=ckNewInstance;
EA1.AutoQuit:=True;
EA1.DisplayAlerts[L]:=False;
EA1.Visible[L]:=False;
EA1.Connect;
try
EWB1.ConnectTo(EA1.Workbooks.Open(Price_File_Name,
2,
False,
EmptyParam,
EmptyParam,
EmptyParam,
EmptyParam,
EmptyParam,
EmptyParam,
EmptyParam,
EmptyParam,
EmptyParam,
False,
EmptyParam,
EmptyParam,
L));
except
...
end;
EA1.ActiveWorkbook.Sheets.Add(EmptyParam,EmptyParam,1,EmptyParam,L);
(EA1.ActiveWorkbook.Sheets[1] as _Worksheet).Delete(L);
EA1.ActiveWorkbook.Close(xlSaveChanges,EmptyParam,EmptyParam,L);
EA1.Application.Quit;
EWS1.Free;
EWB1.Free;
EA1.Free;
Result:=True;
end;