Dokumentace HotXLS

Třídy TXLSXHyperlinks / TXLSXHyperlink

Podpora hypertextových odkazů na objektu TXLSXWorksheet. Každá položka ukotvuje jednu buňku k externímu URL. SaveAs vysílá <hyperlinks> block in the worksheet plus a matching xl/worksheets/_rels/sheetN.xml.rels . Každá položka ukotvuje jednu buňku na externí adresu URL. SaveAs emituje blok lxHandleX

Deklarace TXLSXHyperlink

type
  TXLSXHyperlink = class
    constructor Create(ARow, ACol: Integer; const AUrl, ADisplay, ATooltip: WideString);
    function IsInternal: Boolean;     // True when Location is set and Url is empty
    property Row: Integer;
    property Col: Integer;
    property Url: WideString;        // External URL (mutually exclusive with Location)
    property Location: WideString;   // Internal anchor, e.g. "Sheet2!A1"
    property Display: WideString;
    property Tooltip: WideString;
  end;
      

Členové TXLSXHyperlink

Row, ColSouřadnice ukotvení buňky s indexem od 1
UrlExterní URL. Zapíše se do sheetN.xml.rels s TargetMode="External" sheetN.xml.rels with TargetMode="External"
DisplayVolitelný zobrazovaný text, který Excel ukáže místo URL. Mapuje se na atribut display u <hyperlink> display attribute on <hyperlink>
TooltipVolitelný tooltip, který se zobrazí při najetí nad buňku. Mapuje se na atribut tooltip u <hyperlink> tooltip attribute on <hyperlink>

Deklarace TXLSXHyperlinks

type
  TXLSXHyperlinks = class
    constructor Create;
    destructor Destroy; override;
    function Add(ARow, ACol: Integer; const AUrl: WideString): Integer; overload;
    function Add(ARow, ACol: Integer; const AUrl, ADisplay: WideString): Integer; overload;
    function Add(ARow, ACol: Integer; const AUrl, ADisplay, ATooltip: WideString): Integer; overload;
    // Internal hyperlink — Location overload. No rels relationship.
    function AddInternal(ARow, ACol: Integer; const ALocation, ADisplay, ATooltip: WideString): Integer;
    function IndexOfCell(ARow, ACol: Integer): Integer;
    function FindAt(ARow, ACol: Integer): TXLSXHyperlink;
    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]: TXLSXHyperlink; default;
  end;
      

Členové TXLSXHyperlinks

Add(Row, Col, Url)Přidá hypertextový odkaz jen s URL. Vrátí nový index položky
Add(Row, Col, Url, Display)Přidá hypertextový odkaz s výslovným zobrazovaným textem
Add(Row, Col, Url, Display, Tooltip)Přidá hypertextový odkaz se zobrazovaným textem i tooltipem
AddInternal(Row, Col, Location, Display, Tooltip)Přidá interní kotevní hypertextový odkaz — přeskočí na umístění Sheet!Cell (např. "Sheet2!A1") jinde v sešitu. Nevzniká žádný vztah worksheet rels; prvek <hyperlink> obsahuje vložený atribut location. Pro typickou zkratku použijte Worksheet.AddHyperlinkToCell(...) Sheet!Cell IndexOfCell(Row, Col) "Sheet2!A1") jinde v sešitu. Relace rels na úrovni listu se negeneruje; <hyperlink> element carries an inline location attribute. Use Worksheet.AddHyperlinkToCell(...) Vrátí index hypertextového odkazu ukotveného na 1-based souřadnici buňky, nebo -1, když buňka žádný odkaz nemá
IndexOfCell(Row, Col)Vrátí objekt hypertextového odkazu ukotvený v buňce, nebo nil, pokud žádný odkaz není přítomen -1 v případě, že buňka nemá hypertextový odkaz
FindAt(Row, Col)Vrací objekt hypertextového odkazu ukotvený v buňce, nebo nil when no hyperlink is present
DeleteAt(Row, Col)Smaže hypertextový odkaz ukotvený v buňce a vrátí True; returns False Smaže hypertextový odkaz ukotvený v buňce a vrátí True; vrátí False, když žádný odpovídající odkaz neexistuje
DeleteInRange(Row1, Col1, Row2, Col2)Smaže každý hypertextový odkaz, jehož kotva leží uvnitř zahrnujícího 1-based rozsahu buněk, a vrátí počet odstraněných položek. Obrácené souřadnice jsou přípustné
Delete(Index)Smaže hypertextový odkaz na zadaném indexu kolekce od 0
CountPočet hypertextových odkazů na listu
Items[Index]Hypertextový odkaz na zadaném indexu od 0. Deklarováno jako výchozí vlastnost
ClearOdstraní a uvolní všechny hypertextové odkazy

Příklad

var
  ws: TXLSXWorksheet;
begin
  ws := Workbook.Sheets.Add('Links');

  ws.Cells.Item[1, 1].Value := 'losLab';
  ws.AddHyperlink(1, 1, 'https://www.loslab.com',
                  'losLab home', 'Open in browser');

  // Equivalent through the collection:
  ws.Hyperlinks.Add(2, 1, 'https://www.loslab.com/docs');

  if ws.Hyperlinks.FindAt(1, 1) <> nil then
    ws.Hyperlinks.DeleteInRange(1, 1, 2, 1);
end;
    

Viz také