>Что такое Excel
--- Переменная, где хранится ссылка на сам Excel (как OLE Automation Server).
>а что такое Numllist?
>Numlist это я понимаю номер листа.
--- Да.
>С какого начинается с 0 или с 1?
--- С единицы.
>То есть можно написать так.
>Excel_SetListActive(1,2);
>Перейдешь на второй лист?
--- Да, но 1-й параметр - это ссылка на Excel.
Пользоваться примерно так :
Код:
function Excel_Open(YesVisible,YesAddWorkBooks : byte) : Variant;
begin
Result := UnAssigned;
Result:=CreateOleObject('Excel.Application');
Result.Visible:=YesVisible;
if YesAddWorkBooks>0 then begin
Result.Workbooks.Add(); //добавить рабочую книгу
end;
end;
function Excel_OpenFile(fn : string) : Variant;
//Открыть файл Excel
begin
Result:=UnAssigned;
fn:=Trim(fn);
if length(fn)>0 then begin
if FileExists(fn) then begin
Result:=Excel_Open(1,0);
if not VarIsEmpty(Result) then begin
Result.WorkBooks.Open(fn);
end;
end;
end;
end;
Код:
Var
ListExcel, Excel : variant;
begin
Excel := Excel_OpenFile('C:\123.xls');
ListExcel := UnAssigned;
if not VarIsEmpty(Excel) then begin
ListExcel := Excel_GetList(Excel,2); //получаем ссылку на 2-й лист
if not VarIsEmpty(ListExcel) then begin //проверяем ссылку на корректность
ListExcel := Excel_SetListActive(Excel,2); //делаем лист-2 активным
end
else begin
ShowMessage('Ошибка. Лист N 2 не существует (может быть)');
ListExcel := Excel_AddList(Excel); //добавляем лист
if not VarIsEmpty(ListExcel) then begin //проверяем ссылку на корректность
ListExcel := Excel_SetListActive(Excel,2); //делаем новый лист активным
end
else begin
ShowMessage('Ошибка. Новый Лист не добавлен');
end;
end;
end
else begin
ShowMessage('Ошибка при загрузке файла '+fn);
end;
end;