Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.02.17;
Скачать: CL | DM;

Вниз

Excel (Office2003) - как писать в разных листах?   Найти похожие ветки 

 
tytus   (2008-01-25 09:42) [0]

Доброго дня мастера. Не получается записать данные в разные листы книги ексел-я. Все время пишется в один. Вот как делаю (через Excel - компонент):
function TMainFm.ConvertToExcel(AFileName:string;ARepID:integer;
 ARepName:string;ARepDate:string;APhoneCode:string):boolean;
var
Sheet:variant;
FName:string;
begin
FName:="Некое имя";
try
 Excel1.Connect;
except
 on E: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
   on E: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);
Вот и не получается выбирать разные листы...
Подскажите как правильно сие делать.


 
tytus   (2008-01-25 10:08) [1]

Палучилось. (вычитал из хелпа WBAXL10.CHM)
Sheet:=Excel1.Workbooks.Item[1].Worksheets[ARepID];
Sheet.Activate; !!!!

Но теперь другой вапрос - как сохранять книгу, чтобы не появлялось окно с предупреждением (Такой файл уже существует....)?


 
tytus   (2008-01-25 10:31) [2]

Удалено модератором
Примечание: Обсуждение модерирования


 
umbra ©   (2008-01-25 11:28) [3]


> как сохранять книгу, чтобы не появлялось окно с предупреждением
> (Такой файл уже существует....)?

Excel1.DisplayAlerts := False;


 
DiamondShark ©   (2008-01-25 11:54) [4]


> 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 пишется в нужные листы?



Страницы: 1 вся ветка

Текущий архив: 2008.02.17;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.02 c
2-1201001386
~F@ntom~
2008-01-22 14:29
2008.02.17
Вставка ассемблеровского кода


2-1201089117
m-kirill-2003
2008-01-23 14:51
2008.02.17
Использование шрифтов в delphi


2-1201167880
AntonUSAnoV
2008-01-24 12:44
2008.02.17
про использование ключей продления регистрации


15-1200311187
asdf
2008-01-14 14:46
2008.02.17
XML?


8-1170185135
johnvp
2007-01-30 22:25
2008.02.17
Как выдать звук накаждый моно-канал отдельно?