Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: via OLE Excel auslesen - Feld ist double und nicht Varia

  Alt 6. Mai 2007, 11:03
Hallo,

bist du sicher, dass der Fehler im gezeigten Code auftritt? Bei welcher Zeile?

Dein Code geht durch die Zellen der ersten Zeile eines WorkSheets, überspringt einzelne Leerzellen und stoppt, wenn zwei aufeinander folgende leere Zellen gefunden werden. Willst du das wirklich?

Wenn eine einzelne Leerzelle das Abbruchkriterium darstellt, dann ist eine kopfgesteuerte Schleife (while) passender:

Delphi-Quellcode:
const
  FMT = 'Line %d: %s';
var
  iCol: Integer;
  s: string;
begin
  iCol := 1;
  while Sheet.Cells.Item[1, iCol].Value <> Null do
  begin
    s := Sheet.Cells.Item[1, iCol].Value;
    Memo.Lines.Add(Format(FMT, [iCol, s]));
    Inc(iCol);
  end;
end;
Getippt und nicht getestet. Insbesondere den Test zum Abbruch der Schleife kann ich nicht überprüfen, da ich kein Excel installiert habe.

Ansonsten gibt es da noch Cells.SpecialCells(xlCellTypeLastCell, EmptyParam). Damit kannst du die letzte verwendete Zeile und Spalte feststellen.

Grüße vom marabu
  Mit Zitat antworten Zitat