![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Excel (Office2003) - как писать в разных листах? [D7, WinXP]
tytus © (2008-01-25 09:42:00)Доброго дня мастера. Не получается записать данные в разные листы книги ексел-я. Все время пишется в один. Вот как делаю (через Excel - компонент):
functionTMainFm.ConvertToExcel(AFileName: string;ARepID:integer;
ARepName: string;ARepDate:string;APhoneCode: string):boolean;
var
Sheet:variant;
FName: string;
begin
FName:='Некое имя';
try
Excel1.Connect;
except
onE:EOLEException do
begin
WriteToLog('*** Не удалось подключиться к MS Excel.'+#13#10+E.Message);
Result:=false;
Exit;
end;
end;
if FileExists(FName)then
begin
try
Excel1.Workbooks.Open(FName,EmptyParam,false,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam, EmptyParam,false,false,EmptyParam,0);
except
onE:EOLEException do
begin
WriteToLog('*** Не удалось открыть файл:'+FName);
WriteToLog(' '+E.Message);
Result:=false;
Exit;
end;
end;
end else begin
Excel1.SheetsInNewWorkbook[0]:=4;
Excel1.Workbooks.Add(EmptyParam,0);
end;
Sheet:=Excel1.Workbooks.Item[1].Worksheets[ARepID];
Sheet.Name:=Отчет '+IntToStr(ARepID);
Вот и не получается выбирать разные листы...
Подскажите как правильно сие делать.
DiamondShark (2008-01-25 11:54:00) [1]
> tytus (25.01.08 10:08) [1]
> Палучилось. (вычитал из хелпа WBAXL10.CHM)
> Sheet:=Excel1.Workbooks.Item[1].Worksheets[ARepID];
> Sheet.Activate; !!!!
Бред.
procedure TForm1.Button1Click(Sender: TObject);
var
xlApp: Variant;
xlWkb: Variant;
xlSheet: Variant;
i: integer;
begin
xlApp := CreateOleObject('Excel.Application');
xlApp.SheetsInNewWorkbook := 4;
xlWkb := xlApp.Workbooks.Add();
for i := 1 to 4 do
begin
xlSheet := xlWkb.Sheets[i];
xlSheet.Name := 'Hello ' + IntToStr(i);
xlSheet.Range['A1'].Value := 'Hello, world!';
xlSheet.Range['A2'].Value := i;
end;
xlApp.Visible := true;
end;
Почему у меня без всяких Activate пишется в нужные листы?
umbra (2008-01-25 11:28:00) [2]
> как сохранять книгу, чтобы не появлялось окно с предупреждением
> (Такой файл уже существует....)?
Excel1.DisplayAlerts := False;
tytus (2008-01-25 10:31:00) [3]Удалено модератором
Примечание: Обсуждение модерирования
tytus (2008-01-25 10:08:00) [4]Палучилось. (вычитал из хелпа WBAXL10.CHM)
Sheet:=Excel1.Workbooks.Item[1].Worksheets[ARepID];
Sheet.Activate;!!!!
Но теперь другой вапрос - как сохранять книгу, чтобы не появлялось окно с предупреждением (Такой файл уже существует....)?