Главная страница
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.024 c
2-1201450228
Sofron
2008-01-27 19:10
2008.02.17
Как считать/записать переменную типа "логическая"?


4-1183687219
AlexanderMS
2007-07-06 06:00
2008.02.17
Стиль элементов управления.


2-1201095633
MishaL
2008-01-23 16:40
2008.02.17
DBGridEh1.Options ошибка


2-1201186963
SveTT
2008-01-24 18:02
2008.02.17
Условие на MAX значение


15-1199946021
Некто
2008-01-10 09:20
2008.02.17
Узнаёте?