HotXLS ドキュメント

TXLSXHyperlinks / TXLSXHyperlink クラス

Hyperlink support on a TXLSXWorksheetでのハイパーリンクサポートです。各エントリは単一のセルを外部 URL に関連付けます。SaveAs はワークシートに <hyperlinks> ブロックと対応する xl/worksheets/_rels/sheetN.xml.rels ファイルを出力します。Open はリレーションシップのターゲットをコレクションに解決します。 lxHandleX

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;
      

TXLSXHyperlink メンバー

Row, Col1-ベース セル anchor coordinates
UrlExternal URL. Written へ sheetN.xml.rels 使用 TargetMode="External"
DisplayOptional display テキスト shown によって Excel 内 place の URL. Maps へ display attribute on <hyperlink>
TooltipOptional tooltip shown 場合 user hovers セル. Maps へ tooltip attribute on <hyperlink>

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;
      

TXLSXHyperlinks メンバー

Add(Row, Col, Url)URL だけを持つハイパーリンクを追加する 新しいエントリインデックスを返す
Add(Row, Col, Url, Display)明示的な表示テキスト付きのハイパーリンクを追加する
Add(Row, Col, Url, Display, Tooltip)表示テキストとツールチップの両方を持つハイパーリンクを追加する
AddInternal(Row, Col, Location, Display, Tooltip)内部アンカー ハイパーリンクを追加する Workbook 内の別の Sheet!Cell 位置(例 "Sheet2!A1")へ移動する Worksheet.rels の関連は生成されず Sheet!Cell location (e.g "Sheet2!A1") ワークブック内の他の場所を指します。ワークシートの rels リレーションシップは生成されず、 <hyperlink> element carries an inline location attribute. Use Worksheet.AddHyperlinkToCell(...) 要素に location 属性が直接入る 通常の省略記法には Worksheet.AddHyperlinkToCell(...) を使う
IndexOfCell(Row, Col)1ベースのセル座標に固定されたハイパーリンクの 0ベースのインデックスを返す ハイパーリンクがない場合は -1 -1 セルにハイパーリンクがない場合に返されます
FindAt(Row, Col)セルに固定されたハイパーリンク オブジェクトを返す ハイパーリンクがない場合は nil nil when no hyperlink is present
DeleteAt(Row, Col)セルにアンカーされたハイパーリンクを削除し、戻り値は True; returns False セルにアンカーされたハイパーリンクを削除し True を返す 一致するハイパーリンクがない場合は False を返す
DeleteInRange(Row1, Col1, Row2, Col2)1基準のセル範囲(端点を含む)内にアンカーがあるハイパーリンクをすべて削除し 削除数を返す 逆順座標も受け付ける
Delete(Index)指定された 0ベースのコレクション インデックスにあるハイパーリンクを削除します
CountWorksheet 上のハイパーリンク数
Items[Index]指定された 0ベースのインデックスにある Hyperlink。既定プロパティとして宣言されています
Clearすべてのハイパーリンクを削除して解放します

使用例

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;
    

関連項目