Compatibilidad con hipervinculos en un TXLSXWorksheet. Cada entrada ancla una celda unica a una URL externa. SaveAs escribe la relacion de hipervinculo y el elemento worksheet xml
TXLSXWorksheet. Cada
entrada ancla una sola celda a una URL externa. SaveAs emite un
<hyperlinks> block in the worksheet plus a matching
xl/worksheets/_rels/sheetN.xml.rels archivo; Open resuelve
los destinos de las relaciones de vuelta en la colección. Declarada en
lxHandleXDeclaracion de 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;
Miembros de TXLSXHyperlink
| Row, Col | 1-basado celda anchor coordinates |
| Url | External URL. Written sheetN.xml.rels
con TargetMode="External" |
| Display | Optional display texto shown por Excel en place de
URL. Maps display attribute on
<hyperlink> |
| Tooltip | Optional tooltip shown cuando user hovers
celda. Maps tooltip attribute on
<hyperlink> |
Declaracion de 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;
Miembros de TXLSXHyperlinks
| Add(Row, Col, Url) | Agrega un hipervínculo solo con una URL. Devuelve el nuevo índice de entrada |
| Add(Row, Col, Url, Display) | Agrega un hipervínculo con un texto visible explícito |
| Add(Row, Col, Url, Display, Tooltip) | Agrega un hipervínculo con texto visible e información sobre herramientas explícitos |
| AddInternal(Row, Col, Location, Display, Tooltip) | Agrega un hipervínculo de anclaje interno: salta a una ubicación Sheet!Cell (por ejemplo, "Sheet2!A1") en otra parte del libro. No se genera ninguna relación rels de la hoja de cálculo; el elemento
Sheet!Cell location (e.g
"Sheet2!A1") en otra parte del libro. No se genera ninguna relación
en las rels de la hoja de trabajo; el <hyperlink>
element carries an inline location attribute. Use
Worksheet.AddHyperlinkToCell(...) lleva un atributo de ubicación en línea. Use Worksheet.AddHyperlinkToCell(...) como acceso directo habitual |
| IndexOfCell(Row, Col) | Devuelve el índice 0-based del hipervínculo anclado en la coordenada de celda 1-based, o -1 cuando la celda no tiene hipervínculo -1 cuando la celda no tiene
ningún hipervínculo |
| FindAt(Row, Col) | Devuelve el objeto hipervínculo anclado a la celda, o nil cuando no hay hipervínculo presente nil when no hyperlink is present |
| DeleteAt(Row, Col) | Elimina el hipervínculo anclado en la celda y
devuelve True; returns False Elimina el hipervínculo anclado en la celda y devuelve True; devuelve False cuando no existe ningún hipervínculo coincidente |
| DeleteInRange(Row1, Col1, Row2, Col2) | Elimina todos los hipervínculos cuyo anclaje esté dentro del rango de celdas inclusivo basado en 1 y devuelve el número eliminado. Se aceptan coordenadas invertidas |
| Delete(Index) | Elimina el hipervínculo en el índice de colección especificado basado en 0 |
| Count | Número de hipervínculos en la hoja de cálculo |
| Items[Index] | Hipervínculo en el índice basado en 0 dado. Declarado como la propiedad predeterminada |
| Clear | Elimina y libera todos los hipervínculos |
Ejemplo
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;
Vease tambien