Podpora komentářů buněk na objektu
TXLSXWorksheet. Každá položka připojí autora a text těla ke buňce. SaveAs emituje
xl/commentsN.xml a příslušný relationship
xl/drawings/vmlDrawingN.vml aby Excel mohl vykreslit
bubliny komentářů; Open načte XML komentářů zpět do
kolekce. Deklarováno v
lxHandleXDeklarace TXLSXComment
type
TXLSXComment = class
constructor Create(ARow, ACol: Integer; const AAuthor, AText: WideString);
property Row: Integer;
property Col: Integer;
property Author: WideString;
property Text: WideString;
end;
Členové TXLSXComment
| Row, Col | Souřadnice ukotvení buňky s indexem od 1 |
| Author | Jméno autora komentáře. Odlišná jména se do workbook-level seznamu <authors> zapisují jednou a odkazují se přes authorId authorId |
| Text | Text komentáře. Při SaveAs se zapisuje jako jediný běh
<text><r><t> a při Open se sloučí z jednoho nebo více běhů |
Deklarace TXLSXComments
type
TXLSXComments = class
constructor Create;
destructor Destroy; override;
function Add(ARow, ACol: Integer; const AText: WideString): Integer; overload;
function Add(ARow, ACol: Integer; const AText, AAuthor: WideString): Integer; overload;
function IndexOfCell(ARow, ACol: Integer): Integer;
function FindAt(ARow, ACol: Integer): TXLSXComment;
function DeleteAt(ARow, ACol: Integer): Boolean;
function DeleteInRange(ARow1, ACol1, ARow2, ACol2: Integer): Integer;
procedure Delete(Index: Integer);
procedure Clear;
property Count: Integer;
property Items[Index: Integer]: TXLSXComment; default;
end;
Členové TXLSXComments
| Add(Row, Col, Text) | Přidá neoznačený komentář (prázdný autor). Vrátí index nové položky |
| Add(Row, Col, Text, Author) | Přidá komentář s explicitním jménem autora |
| IndexOfCell(Row, Col) | Vrátí 0-based index komentáře ukotveného na buňce s 1-based souřadnicí, nebo -1, když buňka nemá komentář -1 when the cell has
no comment |
| FindAt(Row, Col) | Vrátí objekt komentáře ukotvený u buňky, nebo nil, když komentář není přítomen
nil when no comment is present |
| DeleteAt(Row, Col) | Smaže komentář ukotvený u buňky a vrátí
True; returns False Smaže komentář ukotvený u buňky a vrátí True; vrátí False, když žádný odpovídající komentář neexistuje |
| DeleteInRange(Row1, Col1, Row2, Col2) | Smaže každý komentář, jehož ukotvení leží uvnitř inkluzivního 1-based rozsahu buněk, a vrátí počet odstraněných položek. Obrácené souřadnice jsou přijaty |
| Delete(Index) | Smaže komentář na zadaném 0-based indexu kolekce |
| Count | Počet komentářů na worksheetu |
| Items[Index] | Komentář na daném 0-based indexu. Deklarovaná jako výchozí vlastnost |
| Clear | Odstraní a uvolní každý komentář |
Příklad
var
ws: TXLSXWorksheet;
begin
ws := Workbook.Sheets.Add('Reviews');
ws.Cells.Item[1, 1].Value := 'Q1 revenue';
ws.AddComment(1, 1, 'Numbers still pending review', 'Kevin');
// Equivalent through the collection:
ws.Comments.Add(2, 1, 'Auto-generated draft');
if ws.Comments.IndexOfCell(1, 1) >= 0 then
ws.Comments.DeleteAt(1, 1);
end;
Viz také