Member
Статус: Не в сети Регистрация: 18.07.2003 Откуда: Саратов ...пока
Как так сделать в Delphi 7, не используя базы данных и прочее
Т.е. имеется форма с тремя TEdit' ами, кнопочкой их - Уть и они в ОТкрытом экселе в нужных ячеечках КАК?
У меня самого офигительная проблема с взаимодействием с Exel - через BDE и OLE - не получаеться !!! У меня сотрудник умеет на VBasic - он пишет макрос, который из моего текстовика подгружает в открытуй документ данные
Member
Статус: Не в сети Регистрация: 07.02.2004 Откуда: Казахстан, Ш...
gee Вот небольшой кусок кода, одной из моих прог.
там есть то что тебе надо.
procedure TForm1.ToolButton8Click(Sender: TObject); var i,j,x:integer; v:string; xl:variant; //объект Excel label l1,l2; begin if (inwork) or (not ClientDataSet1.Active) then exit; bitbtn1.Enabled:=false; try XL := CreateOleObject('Excel.Application'); except showmessage('Не могу запустить Excel, или программа не установленна.'); exit; end; OpenDialog1.Filter:='Файлы Excel|*.xls'; if OpenDialog1.Execute then begin XL.Workbooks.open(OpenDialog1.FileName); end else begin xl.quit; exit; end; j:=0; repeat if vartostr(xl.cells[J+1,1].value)<> '' then j:=j+1 else goto l1; application.ProcessMessages; until false; l1: if j=0 then begin showmessage('Первая строчка данных пуста преобразование будет прервано.'); goto l2; end;
ClientDataSet1.Last; InWork:=true; Stop:=false; for x:=1 to j do begin ClientDataSet1.Insert; for i:=0 to ClientDataSet1.Fields.Count-1 do begin v:=vartostr(xl.cells[x,i+1].value); ClientDataSet1.Fields[i].Asstring:=v; editing:=true; end; ProgressBar1.Position:=x; application.ProcessMessages; if stop then goto l2; end; l2: xl.quit; panel2.Visible:=false; InWork:=false; ClientDataSet1.Post; bitbtn1.Enabled:=true; end;
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения