Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 15 odgovora
  • 3.002 pregleda

Najnovija ↓

Iz delfija u excel-izbor odredjenog sheeta 09.09.2010. u 22:15 · pre 196 meseci #1
Iz delfija pozivam upit napravljen nad sql-om i azuriram podatke u postojecem excel fajlu. posto taj fajl ima vise sheetova bilo bi dobro da mi neko kaze na koji nacin mogu da mu kazem da azurira te kolone u odredjenom sheetu u zavisnosti od izabrane sifre.
......
oleactivation.workbooks.open()
ovo radi-otvori zadati woorkbook i to uvek sheet1 i tamo azurira podatke. kako bi u delfiju mogao da mu kazem
if sifra=' ' then aktiviraj sheet1 konkretnog workbooksa else aktiviraj sheet2. hvala unapred i pozdrav
Re: Iz delfija u excel-izbor odredjenog sheeta 10.09.2010. u 09:12 · pre 196 meseci #2
Da li ste probali ovako nesto:

Code:

sheet: = v.workbooks [1]. sheets [1];
sheet.cells[i,j]:=2345; 
sheet: = v.workbooks [1]. sheets [2];
sheet.cells[i+1,j+1]:=4567; 

Postoji i mogucnost da se selektuje sheet i po nazivu:
Code:

sheet: = v.workbooks [1]. sheets ['tabela1'];//gde je tabela1 naziv

Nadam se da je od pomoci...
Re: Iz delfija u excel-izbor odredjenog sheeta 10.09.2010. u 10:40 · pre 196 meseci #3
OleApplication := CreateOleObject('Excel.Application');
OleApplication.Workbooks.open('C:\Temp\arena.XLS');

sp.First;

i := 6;
while not sp.Eof do
begin

pom := '' + 'B' + inttostr(i) + '';
OleApplication.ActiveSheet.Range[pom, pom].Value := sp.FieldByName('saldo').asfloat;
pom := '' + 'C' + inttostr(i) + '';
OleApplication.ActiveSheet.Range[pom, pom].Value := sp.FieldByName('iznfak').asfloat;

i := i + 1;

sp.Next;
end;
sp.Close;
OleApplication.visible := true;

evo ovako to izgleda. u postojecem excel fajlu azuriram kolena bi c i to radi dobro. uvek uzima naravno prvi sheet. probao sam sa raznim stvarima,ali mi uvek javlja neku od poruka - member not found, method sheet1(ili nesto drugo) not supported by automation object.

ja bih hteo iz prve dve linije koda
OleApplication := CreateOleObject('Excel.Application');
OleApplication.Workbooks.open('C:\Temp\arena.XLS');

da pozovem konkretan sheet iz navedenog dokumenta


kada probam ovo sto je mish_ns naveo delphi javlja poruku undeclared identifier:sheet.


Re: Iz delfija u excel-izbor odredjenog sheeta 10.09.2010. u 11:17 · pre 196 meseci #6
Citat:
to definisem u okviru procedure kao i ole activation:variant.

Da, probaj tako, trebalo bi da radi...
Re: Iz delfija u excel-izbor odredjenog sheeta 10.09.2010. u 11:33 · pre 196 meseci #8
umesto v iz tvog koda stavio sam ole activation,ali i dalje puni samo prvi sheet. kako da aktiviram izabrani sheet. sheet.activate i sheet.select ne prolaze. javlja gresku invalid index
Re: Iz delfija u excel-izbor odredjenog sheeta 10.09.2010. u 12:33 · pre 196 meseci #9
Evo ovo je neko brzinsko resenje :)

Code:

   V := CreateOleObject('Excel.Application');
   V.Workbooks.Open('C:\arena.xls');
   Sheet := V.WorkSheets[2];//drugi sheet
    Sheet.Cells[1, 1]:=123;
   V.visible:=true;


Poigraj se malo na ovaj nacin mislim da ces uspeti...
Re: Iz delfija u excel-izbor odredjenog sheeta 10.09.2010. u 12:46 · pre 196 meseci #10
E da da bi aktivirao sheet
Uradis samo ovo

Sheet.Activate....

to bi trebalo da je to...javi da li si uspeo...
Re: Iz delfija u excel-izbor odredjenog sheeta 10.09.2010. u 13:46 · pre 196 meseci #11
probao sve ali javlja slicnu poruku za sheet.activate-method activate not supported. ja cu da pokusavam,a evo koda pa ako moze ubaci gde i sta treba da stoji da bi podatke ubacio u izabrani sheet.

procedure TForm1.btnPotvrdiClick(Sender: TObject);
var sheet,OleApplication: variant;
i: integer;
pom: string;
begin
if ((Edit1.Text = '') or (length(trim(Edit1.Text)) <> 6)) then
begin

frmPoruka.Poruka('Sifra nije uneta ili je unos nepravilan. Unesite podatak!', 'Obaveštenje', slInfo, bIzlaz);
Edit1.SetFocus;
exit;
end
else
begin
sp.Active := False;
sp.Parameters.ParamByName('@sifra').Value := Edit1.TEXT;
sp.Active := True;
end;
OleApplication := CreateOleObject('Excel.Application');
OleApplication.Workbooks.open('C:\Temp\ARENA.XLS');

sheet:= OleApplication.workbooks [1].sheets ['ZP SOMBOR'];
sheet.activate;(ovde sam probao,ali nece)
sp.First;

i := 6;
while not sp.Eof do
begin

pom := '' + 'B' + inttostr(i) + '';
OleApplication.ActiveSheet.Range[pom, pom].Value := sp.FieldByName('saldo').asfloat;
pom := '' + 'C' + inttostr(i) + '';
OleApplication.ActiveSheet.Range[pom, pom].Value := sp.FieldByName('iznfak').asfloat;

i := i + 1;

sp.Next;
end;
sp.Close;
OleApplication.visible := true;
end;

hvala u svakom slucaju jer si pomogao da krenem u dobrom pravcu. ne pravi problem za izbor sheeta pa se nadam da cu resiti i da je on aktivan.
Re: Iz delfija u excel-izbor odredjenog sheeta 10.09.2010. u 14:00 · pre 196 meseci #12
cini mi se da je dovoljno

sheet:= OleApplication.workbooks [1].sheets ['ZP BEOGRAD'];
sheet.activate( ovde sam uporno pisao active). cini mi se da radi
hvala najlepse. care javi se na mejl ako tebi bilo kada zatreba neka pomoc. ako dolazis u kg svrati na pice. pozdrav
Re: Iz delfija u excel-izbor odredjenog sheeta 10.09.2010. u 14:05 · pre 196 meseci #13
OK...dogovoreno :)

Inace mislim da bi trebao samo ovako:

sheet:= OleApplication.worksheets ['ZP BEOGRAD'];
sheet.Activate;

Pozdrav!!!

Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme