Suporte de comentários de célula numa
TXLSXWorksheet. Cada entrada associa um autor mais um corpo de texto livre a uma célula. SaveAs emite
xl/commentsN.xml com uma lista de autores desduplicada e um ficheiro
xl/drawings/vmlDrawingN.vml complementar para que o Excel possa renderizar os balões de comentário; Open lê o XML de comentários de volta para a colecção. Declarado em
lxHandleXDeclaração 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;
Membros TXLSXComment
| Row, Col | Coordenadas de ancoragem de célula baseadas em 1 |
| Author | Nome do autor do comentário. Nomes distintos são escritos uma única vez na lista <authors> ao nível do livro de trabalho e referenciados por authorId <authors> list and
referenced by authorId |
| Text | Comment body text. Written as a single
<text><r><t> Texto do corpo do comentário. Escrito como um único run <text><r><t> no SaveAs e achatado a partir de um ou mais runs no Open |
Declaração 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;
Membros TXLSXComments
| Add(Row, Col, Text) | Acrescenta um comentário sem autor (autor vazio). Devolve o índice da nova entrada |
| Add(Row, Col, Text, Author) | Acrescenta um comentário com um nome de autor explícito |
| IndexOfCell(Row, Col) | Devolve o índice baseado em 0 do comentário ancorado na coordenada de célula baseada em 1, ou -1 quando a célula não tem comentário -1 when the cell has
no comment |
| FindAt(Row, Col) | Devolve o objeto de comentário ancorado na célula, ou nil quando não existe comentário
nil when no comment is present |
| DeleteAt(Row, Col) | Elimina o comentário ancorado na célula e devolve
True; returns False Elimina o comentário ancorado na célula e devolve True; devolve False quando não existe um comentário correspondente |
| DeleteInRange(Row1, Col1, Row2, Col2) | Elimina todos os comentários cuja âncora esteja dentro do intervalo de células baseado em 1, inclusivo, e devolve o número removido. São aceites coordenadas invertidas |
| Delete(Index) | Elimina o comentário no índice de coleção baseado em 0 indicado |
| Count | Número de comentários na folha de cálculo |
| Items[Index] | Comentário no índice baseado em 0 indicado. Declarado como propriedade predefinida |
| Clear | Remove e liberta todos os comentários |
Exemplo
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;
Ver também