AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Excel Ole Object

Ein Thema von afamaus · begonnen am 15. Jun 2010 · letzter Beitrag vom 16. Jun 2010
 
afamaus

Registriert seit: 15. Jun 2010
6 Beiträge
 
Delphi 2 Desktop
 
#1

Excel Ole Object

  Alt 15. Jun 2010, 14:55
Hallo Ich bin neu hier im Forum.
Ich habe ein kleines Programm für meinen Arbeitskollegen geschrieben um Daten in einer Excel Tabelle zu sortieren und in einem neuen Sheet abzulegen. Das geht auch alles super, mein problem ist nur das ich nicht rausbekommen habe wie ich das alte sheet löschen kann, also das am Ende nur noch eine Tabelle mit den sortierten Daten in der xls datei ist. hier mal mein Quellcode

vielleicht hat ja einer ne Lösung für mich parat Gruß afamaus

Delphi-Quellcode:
var
  Form1: TForm1;
  Workbook,Filename, Excel: OleVariant;
    a,i,y:integer;

implementation

{$R *.dfm}

procedure TForm1.Beenden1Click(Sender: TObject);
begin
close;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
//öffnen der Excel Datei
OpenDialog1:=TOpenDialog.Create(Self);
try
OpenDialog1.InitialDir:=ExtractFilePath(Application.ExeName);
OpenDialog1.Filter:='*.xlsm';
if OpenDialog1.execute then begin
try

//Excel.Visible:=true;
Filename:=OpenDialog1.Filename;
Workbook:=Excel.Workbooks.open(filename,emptyparam);
Label2.Caption:=Opendialog1.Filename + ' wurde erfolgreich geladen';
except
end;
end
finally
openDialog1.free;
end;
end;


procedure TForm1.Button2Click(Sender: TObject);
begin
    l1.Visible:=true;
   //makro
    excel.sheets[2].cells[1,1].value:='Name';
    excel.sheets[2].cells[1,2].value:='Straße';
    excel.sheets[2].cells[1,3].value:='Postleitzahl';
    excel.sheets[2].cells[1,4].value:='Ort';
    excel.sheets[2].cells[1,5].value:='Telefon';
    excel.sheets[2].cells[1,6].value:='Einweisungen';
a:=13;
y := 2;
For i := 14 To 1500 do
begin
    excel.sheets[2].cells[y,1].value:=excel.sheets[1].cells[a,2].value; //Name
    excel.sheets[2].cells[y,2].value:=excel.sheets[1].cells[a + 1,2].value; //Ort
    excel.sheets[2].cells[y,3].value:=excel.sheets[1].cells[a + 2,2].value; //Straße
    excel.sheets[2].cells[y,4].value:=excel.sheets[1].cells[a,5].value; //Postleitzahl
    excel.sheets[2].cells[y,5].value:=excel.sheets[1].cells[a+2,12].value; //Telefon
    excel.sheets[2].cells[y,6].value:=excel.sheets[1].cells[a+3,12].value; //Einweiser
    a := a + 6 ;
    y:=y+1;
    End;
     l1.Visible:=false;
     excel.sheets[2].name:='SAP-Statistik';
     showmessage('Daten wurden ausgelesen und in SAP-Statistik.xls geschrieben und auf dem Desktop abgelegt');
//Makro ende

//speichern und schließen
Workbook.SaveAs('C:\Users\Hoffmann\Desktop\SAP_Statistik.xls',EmptyParam ,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,False,EmptyParam,EmptyParam,GetUserDefaultLCID);
Excel.Workbooks.close;
Excel.Quit;
Excel:=unassigned;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Excel:=CreateOleObject('Excel.Application');
end;

end.

Geändert von SirThornberry (16. Jun 2010 um 07:39 Uhr) Grund: Code-Tag durch Delphi-Tag ersetzt, Delphi als Sprache eingestellt
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz