Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi ole error 800a03Ec (https://www.delphipraxis.net/152146-ole-error-800a03ec.html)

eragon123 12. Jun 2010 21:33

ole error 800a03Ec
 
Ich schreibe gerade ein Programm welches unter anderem Daten per OLE aus einem Excel Blatt ausließt. Nachdem dies lange Zeit funktioniert hat geht es jetzt komischer Weise plötzlich nicht mehr obwohl ich eigentlich nichts verändert habe. Nur Code der diesen Bereich gar nicht betrifft. Aufgetreten ist der Fehler: ole error 800a03Ec. Ich hoffe ihr könnt mir helfen den zu beheben. Ich nutze Delphi 7 und Excel 2003.

daywalker9 12. Jun 2010 21:57

AW: ole error 800a03Ec
 
Zeig doch mal ein bisschen Code, wo der Fehler aufläuft

eragon123 12. Jun 2010 22:04

AW: ole error 800a03Ec
 
Das sieht so aus (Ausschnitt in dem der rote Balken erscheint).

Delphi-Quellcode:
procedure TForm1.einlesen;
var excel: Variant; i,a: Integer;
begin
  try
    Excel := CreateOleObject('Excel.Application');
  except
    ShowMessage('Excel konnte nicht gestartet werden!');
    Exit;
  end;

  // Laden
  try
    Excel.workbooks.open(edtspeicherort.Text);
  except
    ShowMessage('Datei konnte nicht geöffnet werden');
    Excel.free;
    Exit;
  end;

  excel.EditDirectlyInCell := True; // Hab versucht ob das vielleicht hilf?? Tut es nicht...

  // Daten lesen
  anzahl := excel.cells[1,2].value; //Anfangsdaten
  setlength(maxwert,anzahl);
  pb1.Max := anzahl;
  maxwert[0] := excel.cells[3,4].value;


  for i := 0 to anzahl do               // So viele Datensätze werden eingelesen
  begin
    maxwert[i] := excel.cells[3+summe(i),4].value;           //Aktuelle Anzahl an Werten         // HIER meckert er!!
    datum[i+1] := excel.cells[3+summe(i),2].value;
    pb1.Position := i;
Wobei:
Delphi-Quellcode:
    datum: array[1..100] of string;
    maxwert: array of Integer;
    anzahl: Integer;
Aber wie gesagt es hat lange Zeit funktioniert... komischer Weise tritt der Fehler erst seit kurzen auf.

daywalker9 12. Jun 2010 22:25

AW: ole error 800a03Ec
 
Was genau macht den
Delphi-Quellcode:
Summe(i)
?

eragon123 12. Jun 2010 22:27

AW: ole error 800a03Ec
 
Delphi-Quellcode:
function TForm1.summe(index: Integer): Integer;
var i: Integer;
begin
  result := 0;
  if index > 0 then
  begin
    for i := 0 to index do
      Inc(Result,maxwert[i]+5);
  end;
end;
Das ganze springt einfach an die richtige Stelle im Excel sheet in dem alle vorherigen Datensätze in der neuen Koordinate berücksichtigt werden.

eragon123 12. Jun 2010 23:28

AW: ole error 800a03Ec
 
Problem scheint erstmal behoben zu sein. Ich hab an da noch ein -1 an 2 Stellen vergessen gehabt,


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:52 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