А "стандартный" способ не подойдет ?
Типа :
Код:
//Сделать лист Excel активным
function Excel_SetListActive(Excel : variant; NumList : integer) :variant;
begin
Result:=UnAssigned;
if not VarIsEmpty(Excel) then begin
if NumList>0 then begin
if NumList<=Excel.WorkSheets.Count then begin
Result:=Excel.ActiveWorkBook.WorkSheets[NumList];
Result.Select;
end;
end;
end;
end;
//Получить ссылку на лист Excel по номеру
function Excel_GetList(Excel : Variant; NumList : integer) : Variant;
begin
Result:=UnAssigned;
if not VarIsEmpty(Excel) then begin
if (NumList>0) and (NumList<=Excel.ActiveWorkBook.WorkSheets.Count) then begin
Result:=Excel.ActiveWorkBook.WorkSheets[NumList];
end;
end;
end;
//Добавить лист в книгу Excel
function Excel_AddLis(Excel : Variant) : Variant;
begin
Result:=UnAssigned;
if not VarIsEmpty(Excel) then begin
Result:=Excel.ActiveWorkBook.WorkSheets.Add;
end;
end;