Dokumentace HotXLS

Třídy TXLSXComments / TXLSXComment

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 lxHandleX

Deklarace 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, ColSouřadnice ukotvení buňky s indexem od 1
AuthorJméno autora komentáře. Odlišná jména se do workbook-level seznamu <authors> zapisují jednou a odkazují se přes authorId authorId
TextText 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
CountPočet komentářů na worksheetu
Items[Index]Komentář na daném 0-based indexu. Deklarovaná jako výchozí vlastnost
ClearOdstraní 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é