Thema: Excel Sheets

Einzelnen Beitrag anzeigen

HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
972 Beiträge
 
Delphi 6 Professional
 
#10

AW: Excel Sheets

  Alt 3. Okt 2016, 09:43
So, mal deinen Quellcode überarbeitet

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
   oExcel: OLEVariant;
   oWB1: OLEVariant;
   oWS1: OLEVariant;
   oWS2: OLEVariant;
begin
   try
     oExcel := CreateOleObject('Excel.Application');
   except
     ShowMessage('Microsoft Excel kann nicht starten.');
     exit;
   end;


   if (NOT VarIsEmpty(oExcel)) then // Excel gestartet ?
   begin
     try

       oExcel.Visible:= TRUE; // Excel anzeigen

       oWB1:=oExcel.Workbooks.add; // Workbook anlegen

       if (NOT VarIsEmpty(oWB1)) then // Workbook angelegt ?
       begin
         // Wir legen mal ein neues Sheet an, es soll vor den ersten Sheet eingefügt
         // werden
         oWS1:= oWB1.Worksheets.add(oWB1.WorkSheets[1]);
         if (NOT VarIsEmpty(oWS1)) then
         begin
           oWS1.Name:= 'Erste Blatt';
           oWS2:= oWB1.Worksheets[2];
           oWS2.Name:= 'Zweites Blatt';
           oWS2.activate;
           ShowMessage('Blatt 2 aktiviert');
           oWS1.activate;
           ShowMessage('Blatt 1 aktiviert');

           oWS1.Delete; // Wir löschen das neue Sheet

           ShowMessage('Blatt 1 gelöscht');
         end;

         oWS1:= Unassigned;
         oWS2:= Unassigned;

         // Workbook schliesssen
         oWB1.Saved := TRUE; // ohne Nachfragen
         oWB1.Close;
         oWB1:= Unassigned;
       end;
     finally
       // Excel schliessen
       oExcel.Quit;
       oExcel:= Unassigned;
     end;
  end;
end;

das Before:= kann auch weggelassen werden, da 'Before' der erste Parameter von Sheet.Add ist...
Somit auch keine Fehlermeldungen...

Durch die vielen (NOT VarIsEmpty( wurde es etwas unübersichtlich..

Geändert von HolgerX ( 3. Okt 2016 um 09:46 Uhr)
  Mit Zitat antworten Zitat