Zählt die geladenen Zellen in einem klassischen XLS-Tabellenblatt auf und ruft für jede Zelle einen Anwendungsrückruf auf
Syntax
type
TXLSCellReadEvent = procedure(
Sender: TObject;
SheetIndex, Row, Col: Integer;
const Value: Variant;
const Formula: WideString;
var Cancel: Boolean) of object;
function ForEachCell(Callback: TXLSCellReadEvent): Integer;
Hinweise
ForEachCell durchläuft nur Zellen, die im geladenen Tabellenblattmodell vorhanden sind. Es wird nicht jede mögliche Zeile und Spalte im Blatt durchsucht
Zellen werden in Zeilen-Major-Reihenfolge besucht. SheetIndex, Row und Col sind 1-basierte öffentliche Koordinaten. Value ist der aktuelle Zellenwert. Formula enthält den Formeltext für Formelzellen und ist leer für normale Wertzellen
Setzen Sie Cancel im Rückruf auf True, um den Scan vorzeitig zu beenden. Der Rückgabewert ist die Anzahl der aufgerufenen Rückrufe
Beispiel
procedure TForm1.ReadCell(Sender: TObject; SheetIndex, Row, Col: Integer;
const Value: Variant; const Formula: WideString;
var Cancel: Boolean);
begin
Memo1.Lines.Add(Format('%d:%d = %s', [Row, Col, VarToStr(Value)]));
if Row >= 1000 then
Cancel := True;
end;
Visited := Workbook.Sheets[1].ForEachCell(ReadCell);
Siehe auch