Suporte de hiperligações numa
TXLSXWorksheet. Cada entrada ancora uma única célula a um URL externo. SaveAs emite um bloco
<hyperlinks> na folha de cálculo mais um ficheiro
xl/worksheets/_rels/sheetN.xml.rels correspondente; Open resolve os destinos de relação de volta para a colecção. Declarado em
lxHandleXDeclaração 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;
Membros TXLSXHyperlink
| Row, Col | Coordenadas de ancoragem de célula baseadas em 1 |
| Url | URL externa. Escrito em sheetN.xml.rels com TargetMode="External" sheetN.xml.rels
with TargetMode="External" |
| Display | Texto de apresentação opcional mostrado pelo Excel em vez do URL. Corresponde ao atributo display em <hyperlink> display attribute on
<hyperlink> |
| Tooltip | Tooltip opcional mostrado quando o utilizador passa o rato sobre a célula. Corresponde ao atributo tooltip em <hyperlink> tooltip attribute on
<hyperlink> |
Declaração 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;
Membros TXLSXHyperlinks
| Add(Row, Col, Url) | Adiciona uma hiperligação apenas com um URL. Devolve o novo índice de entrada |
| Add(Row, Col, Url, Display) | Adiciona uma hiperligação com texto de apresentação explícito |
| Add(Row, Col, Url, Display, Tooltip) | Adiciona uma hiperligação com texto de apresentação e tooltip |
| AddInternal(Row, Col, Location, Display, Tooltip) | Adiciona uma hiperligação âncora interna - salta para uma localização Sheet!Cell (por exemplo "Sheet2!A1") noutro ponto da pasta de trabalho. Não é gerada qualquer relação de rels da folha; o elemento <hyperlink> transporta um atributo location em linha. Use Worksheet.AddHyperlinkToCell(...) para o atalho habitual
Sheet!Cell IndexOfCell(Row, Col)
"Sheet2!A1") noutro local do livro. Não é gerada nenhuma relação
rels de folha de cálculo; o elemento <hyperlink>
element carries an inline location attribute. Use
Worksheet.AddHyperlinkToCell(...) Devolve o índice baseado em 0 da hiperligação ancorada na coordenada de célula baseada em 1, ou -1 quando a célula não tem hiperligação |
| IndexOfCell(Row, Col) | Devolve o objeto de hiperligação ancorado na célula, ou nil quando não existe nenhuma hiperligação -1 quando a célula
não tem hiperligação |
| FindAt(Row, Col) | Devolve o objeto de hiperligação ancorado na célula,
ou nil when no hyperlink is present |
| DeleteAt(Row, Col) | Elimina a hiperligação ancorada na célula e
devolve True; returns False Elimina a hiperligação ancorada na célula e devolve True; devolve False quando não existe nenhuma hiperligação correspondente |
| DeleteInRange(Row1, Col1, Row2, Col2) | Elimina todas as hiperligações cuja âncora esteja dentro do intervalo de células baseado em 1 e devolve o número removido. As coordenadas invertidas são aceites |
| Delete(Index) | Elimina a hiperligação no índice de coleção baseado em 0 indicado |
| Count | Número de hiperligações na folha de cálculo |
| Items[Index] | Hiperligação no índice baseado em 0 indicado. Declarada como propriedade predefinida |
| Clear | Remove e liberta todas as hiperligações |
Exemplo
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;
Ver também