CreateLoadedCellCursor メソッド
読み込み済みのクラシック XLS ワークブックに格納されたセルに対するプル カーソルを、独立したスタイルを持つ空セルを含めるオプション付きで作成します
構文
function CreateLoadedCellCursor: IXLSLoadedCellCursor; overload; function CreateLoadedCellCursor( AIncludeStoredBlanks: Boolean): IXLSLoadedCellCursor; overload;
走査順序とコスト
カーソルは、ワークシートをコレクション順に訪れ、その後セルを行と列の昇順で訪れます
SheetIndex、 Row、および Col は 1 始まりのパブリック座標です
走査は割り当て済みのクラシック スパース ストレージ ブランチを直接たどるため、カーソル状態は一定に保たれ、ワークシートの行数や列数の上限に比例した配列を割り当てることもありません
パラメーターなしのオーバーロードは空セルをスキップし、既存の値と数式の走査コントラクトを維持します
独立したスタイルを持ち、行、列、またはワークシートの書式から継承されたセル XF と異なる XF を持つ、格納済みの空セルを含めるには True を渡します
継承された書式だけでは、空の座標は実体化も出力もされません
スナップショットのフィールド
| フィールド | 意味 |
|---|---|
SheetIndex / SheetName | キャプチャ時点での所有ワークシートの識別情報 |
Row / Col | 1 始まりのセル座標 |
StyleIndex | クラシック XF スタイル インデックス |
Kind (TXLSLoadedCellKind) | xlckText、 xlckNumber、 xlckDateTime、 xlckBoolean、 xlckFormula、または xlckBlank |
Value | 現在のセルに対してキャプチャされた、所有される Variant 値 |
Formula | 数式セルの場合は数式テキスト、それ以外は空の文字列 |
Strings and Variants in TXLSLoadedCellSnapshot の文字列と Variant は所有される値であり、内部のセル オブジェクトを公開しません
数式セルの場合、 Value はクラシック ワークブックの通常の値アクセスのセマンティクスに従い、必要な場合の計算も含まれます
For xlckBlankの場合、 Value は Unassigned、 Formula は空であり、 StyleIndex が格納されたセル XF を識別します
状態と無効化
State は、最初の TXLSLoadedCellCursorStateが成功するまで xlccBeforeFirst 、 MoveNextが利用可能な間は xlccActive 、走査が完了した後は Current になります xlccEof after traversal completes
最初のセルの前や EOF の後で Current を読み取ると、 EXLSLoadedCellCursorState
格納セルの作成や削除、ワークシートの追加、削除、移動、またはワークブック モデルの置き換えを行うと、カーソルは無効化されます
その後の MoveNext または Current の呼び出しは EXLSLoadedCellCursorInvalidated
既存のセルの値、数式、書式を変更してもカーソルは無効化されず、すでにキャプチャされたスナップショットは変化しません
例
Cursor := Workbook.CreateLoadedCellCursor;
while Cursor.MoveNext do
begin
Cell := Cursor.Current;
Memo1.Lines.Add(Format('%s!R%dC%d = %s',
[Cell.SheetName, Cell.Row, Cell.Col, VarToStr(Cell.Value)]));
end;