Форум: "Начинающим";
Текущий архив: 2008.02.17;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.041 c