Einzelnen Beitrag anzeigen

Cyberbob_at_tot

Registriert seit: 30. Apr 2003
Ort: Ahlen
270 Beiträge
 
Delphi 2006 Professional
 
#1

Fehler bei OLE Zugriff auf Excel

  Alt 6. Dez 2006, 15:58
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
-----------------------------------------------------------
The only winning move is not to play ! (Wargames)
-----------------------------------------------------------
  Mit Zitat antworten Zitat