Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Fehler bei OLE Zugriff auf Excel (https://www.delphipraxis.net/82006-fehler-bei-ole-zugriff-auf-excel.html)

Cyberbob_at_tot 6. Dez 2006 14:58


Fehler bei OLE Zugriff auf Excel
 
Hallo zusammen,
ich habe viel im Internet nach einer Guten Lösung, um auf Excel zuzugreifen. Also im Hintergrund ein DB Query in Excel zu exportieren. Ich bin dann hierbei gelandet. Nutze Delphi 2006.

Delphi-Quellcode:
  i:=1;
  //Prüfen ob eine Aktive Instanz vorhanden ist
  try
    ExcelApp := GetActiveOleObject('Excel.Application');
  except
    try
      //Wenn nicht eine neue erstellen
      ExcelApp := CreateOleObject('Excel.Application');
    except
      //Bei Fehler exit
      ShowMessage('Excel - Modul kann nicht gestartet werden!');
      Exit;
    end;
  end;
  //Öffnen der Exceldatei
  ExcelApp.Workbooks.Open('c:\test.xls');
  //Ende der Datei ermitteln
  repeat
    i:=i+1;
  until ExcelApp.Cells[i, 1].Value='';
  //die Daten anhängen
  ORowCount:=i;
  ExcelApp.Cells[ORowCount, 2].value:='1';
  ExcelApp.Cells[ORowCount, 3].Value:='Test';
  // Workbook Speichern, Schließen und aus dem Speicher entfernen
  ExcelApp.ActiveWorkBook.Save;
  ExcelApp.ActiveWorkBook.Close;
  ExcelApp.Quit;
  ExcelApp := Unassigned;
Das Beste ist, das er die 2 Testdaten in Excel schreibt. Finde ich schonmal sehr gut aber leider bekomme ich eine Exception der Klasse EoleSysError "Vorgang nicht verfügbar.". Wenn ich dann das Programm anhanlte hält Delphi bei "ExcelApp := GetActiveOleObject('Excel.Application');".

Könnt ihr mir erklären, wieso es dazu kommt, die Daten aber trotzdem geschrieben werden?

MFG

Christian Dannenberg

Bernhard Geyer 6. Dez 2006 15:02

Re: Fehler bei OLE Zugriff auf Excel
 
Schon mal die Kommentare im Code angeschaut und überlegt was try...exept macht?

Cyberbob_at_tot 6. Dez 2006 15:04

Re: Fehler bei OLE Zugriff auf Excel
 
Ja schon klar, wenn keine Instants da ist soll er eine neue machen, mir aber die Exception nicht ausgaben.
Habe nun die Überprüfung auf eine vorhanden Instanz weggelassen und schon gehts wunderbar.

shmia 6. Dez 2006 15:32

Re: Fehler bei OLE Zugriff auf Excel
 
Zitat:

Zitat von Cyberbob_at_tot
Ja schon klar, wenn keine Instants da ist soll er eine neue machen, mir aber die Exception nicht ausgaben.
Habe nun die Überprüfung auf eine vorhanden Instanz weggelassen und schon gehts wunderbar.

Die Exception wird doch nur in deiner Entwicklungsumgebung (=Delphi IDE) angezeigt!
Du hast den Programmcode durch das Weglassen verschlechtert.
Lies mal:
http://www.delphipraxis.net/internal...ach+exceptions
und beachte den Absatz zu "Sprach-Exceptions".

Cyberbob_at_tot 6. Dez 2006 15:46

Re: Fehler bei OLE Zugriff auf Excel
 
OK danke werds wieder hinzufügen!


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:57 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz