Dokumentacja HotXLS

Klasa TXLSXComments

Kolekcja komentarzy komórek na arkuszu XLSX. Użyj właściwości Comments arkusza aby uzyskać obiekt TXLSXComments TXLSXWorksheet. Każdy wpis dołącza do komórki autora oraz treść w postaci dowolnego tekstu. SaveAs emituje xl/commentsN.xml z deduplikowaną listą autorów oraz towarzyszącym xl/drawings/vmlDrawingN.vml dzięki czemu Excel może wyświetlić dymki komentarzy; Open wczytuje XML komentarzy z powrotem do kolekcji. Zadeklarowana w lxHandleX

Opis

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;
      

Właściwości

Row, Col1-oparty komórka anchor coordinates
AuthorNazwa autora komentarza. Różne nazwy są zapisywane tylko raz na poziomie skoroszytu na liście <authors> i przywoływane przez authorId authorId
TextTekst treści komentarza. Podczas SaveAs jest zapisywany jako pojedynczy przebieg <text><r><t> , a podczas Open spłaszczany z jednego lub wielu przebiegów

Metody

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;
      

TXLSXComments members

Add(Row, Col, Text)Dodaje niepodpisany komentarz (pusty autor). Zwraca nowy indeks wpisu
Add(Row, Col, Text, Author)Dodaje komentarz z jawnie podaną nazwą autora
IndexOfCell(Row, Col)Zwraca indeks 0-based komentarza zakotwiczonego w komórce o współrzędnych liczonych od 1, albo -1, gdy komórka nie ma komentarza -1 when the cell has no comment
FindAt(Row, Col)Zwraca obiekt komentarza zakotwiczonego w komórce, albo nil, gdy komentarz nie jest obecny nil when no comment is present
DeleteAt(Row, Col)Usuwa komentarz zakotwiczony w komórce i zwraca True; returns False Usuwa komentarz zakotwiczony w komórce i zwraca True; zwraca False, gdy nie istnieje pasujący komentarz
DeleteInRange(Row1, Col1, Row2, Col2)Usuwa każdy komentarz, którego zakotwiczenie znajduje się w domkniętym zakresie komórek liczonym od 1, i zwraca liczbę usuniętych. Odwrócone współrzędne są akceptowane
Delete(Index)Usuwa komentarz o podanym indeksie kolekcji liczonym od 0
CountLiczba komentarzy w arkuszu
Items[Index]Komentarz o podanym indeksie liczonym od 0. Zadeklarowany jako właściwość domyślna
ClearUsuwa i zwalnia każdy komentarz

Przykład

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;
    

Zobacz także