Excel zapis do pliku

0

Mam cos takiego...

procedure TForm1.Button1Click(Sender: TObject);
var
Excel: Variant;
Y : integer;
begin
Y:=Y+1;
Excel:=CreateOleObject('Excel.Application');  
Excel.WorkBooks.Add;                                
Excel.displayalerts:=false;//  <----
Excel.Cells[Y,1].Value:=Edit1.Text;                    
Excel.ActiveWorkbook.SaveAs('d:\plik.csv');            
Excel.Quit;
end;
end.

Teraz nie wyskakuje okno z komunikatem czy zastapic plik. Tylko teraz jak zrobic zeby dopisywał do pliku zawartosc Edit i nie kasował wczesniejszych. z góry dzieki za pomoc.

0

Możesz przeszukać w petli i sprawdzić czy komórka jest pusta. Jeżeli tak to wpisać wartość.

for i := 1 to ColCount do
 if Cells[i,1] = '' then Cells[i,1] := Edit1.Text;

gdzie:
ColCount to liczba wierszy (kolumn) (jak chcesz)

0

Teraz jest tak jak ma byc i gitara :-)

procedure TForm1.Button1Click(Sender: TObject);
begin
Y:=Y+1;
Z:=SpinEdit1.Value;
if SpinEdit1.Value < 1 then
Z:=SpinEdit1.Value+1;
if Y > 65535 then
Z:=SpinEdit1.Value + 1;
Excel:=CreateOleObject('Excel.Application');
Excel.Workbooks.Open('d:\plik.csv');
excel.DisplayAlerts:=false;
Excel.Cells[Y, Z].Value:=Edit1.Text;
Excel.ActiveWorkbook.SaveAs('d:\plik.csv');
Excel.Quit;
showmessage('excel off');
end;
end.

dzieki za podsuniecie pomyslu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1