Registriert seit: 26. Mär 2007
Ort: Wegberg
45 Beiträge
Delphi 7 Enterprise
|
Re: Excel Dokument speichern ohne Sicherheitsabfrage
18. Apr 2007, 11:47
Hallo Zusammen,
Das was hier schon steht habe ich gerade auch mal Probiert.
Beim ersten Klicken klappt das auch doch sobald ich das 2te mal das machen möchte setzt der Workbooks.count auf null und springt nicht in die For schleife rein! Wenn ich die forschleife rauslasse und eine 1 also i eintrag kommt ungütliger Index
Code:
Delphi-Quellcode:
procedure TfrmZeiterfassung.AnfangArbeitClick(Sender: TObject);
var
i: Integer;
begin
if AmArbeiten= true then
Messagedlg('Sie Sind schon am Arbeiten',mtError,[mbok],0)
else
begin
Excel:= CreateOleObject('Excel.Application');
Excel.Workbooks.open(ExtractFilePath(Application.ExeName) + 'Zeiterfassung2007.xls');
excel.sheets[AktuelleMappe].cells[AktuelleZeile,1].value:=DateToStr(AktuellesDatum);
AmArbeiten:= true;
AnfangsZeitArbeit:= Time;
ShowMessage(TimeToStr(AnfangsZeitArbeit));
excel.sheets[AktuelleMappe].cells[AktuelleZeile,2].value:= TimeToStr(AnfangsZeitArbeit);
for i := 1 to xl.Workbooks.Count do
xl.Workbooks[i].Save(GetUserDefaultLCID);
Excel.Quit;
end;
end;
procedure TfrmZeiterfassung.EndeArbeitClick(Sender: TObject);
var
i: Integer;
begin
if AmArbeiten= false then
Messagedlg('Sie Sind nicht am Arbeiten',mtError,[mbok],0)
else
if InDerPause= true then
Messagedlg('Sie sind noch in der Pause',mtError,[mbok],0)
else
begin
Excel:= CreateOleObject('Excel.Application');
Excel.Workbooks.open(ExtractFilePath(Application.ExeName) + 'Zeiterfassung2007.xls');
AmArbeiten:= false;
EndeZeitArbeit:= Time;
ShowMessage(TimeToStr(EndeZeitArbeit));
excel.sheets[AktuelleMappe].cells[AktuelleZeile,5].value:= TimeToStr(EndeZeitArbeit);
for i := 1 to xl.Workbooks.Count do
xl.Workbooks[i].Save(GetUserDefaultLCID);
Excel.Quit;
end;
end;
procedure TfrmZeiterfassung.AnfangPauseClick(Sender: TObject);
var
i: integer;
begin
if AmArbeiten= false then
Messagedlg('Sie können nicht in die Pause gehen da sie noch nicht am Arbeiten sind.',mtError,[mbok],0)
else
begin
if InderPause= true then
Messagedlg('Sie Sind schon in der Pause.',mtError,[mbok],0)
else
begin
Excel:= CreateOleObject('Excel.Application');
Excel.Workbooks.open(ExtractFilePath(Application.ExeName) + 'Zeiterfassung2007.xls');
InderPause:= true;
AnfangsZeitPause:= Time;
ShowMessage(TimeToStr(AnfangsZeitPause));
excel.sheets[AktuelleMappe].cells[AktuelleZeile,3].value:= TimeToStr(AnfangsZeitPause);
for i := 1 to xl.Workbooks.Count do
xl.Workbooks[i].Save(GetUserDefaultLCID);
Excel.Quit;
end;
end;
end;
procedure TfrmZeiterfassung.EndePauseClick(Sender: TObject);
var
i: integer;
begin
if AmArbeiten= false then
Messagedlg('Sie können nicht in die Pause gehen da sie noch nicht am Arbeiten sind.',mtError,[mbok],0)
else
begin
if InderPause= false then
Messagedlg('Sie Sind nicht in der Pause.',mtError,[mbok],0)
else
begin
Excel:= CreateOleObject('Excel.Application');
Excel.Workbooks.open(ExtractFilePath(Application.ExeName) + 'Zeiterfassung2007.xls');
InderPause:= false;
EndeZeitPause:= Time;
ShowMessage(TimeToStr(EndeZeitPause));
excel.sheets[AktuelleMappe].cells[AktuelleZeile,4].value:= TimeToStr(EndeZeitPause);
for i := 1 to xl.Workbooks.Count do
xl.Workbooks[i].Save(GetUserDefaultLCID);
Excel.Quit;
end;
end;
end;
Blub ich bin die Sig.
|
|
Zitat
|