ハイパーリンクの設定

このページではHyperlinks.Addメソッドについて紹介しています。

Hyperlinks.Addメソッドを活用して、複数のセルのパスに対して一括でハイパーリンクを設定する方法について「VBAで複数セルにハイパーリンクを設定する」で紹介していますのでご参照ください。

Hyperlinks.Addメソッド

VBAでセルやオートシェイプなどにハイパーリンクを設定する場合、HyperlinksコレクションのAddメソッドを使います。

Hyperlinksコレクションは親クラスがWorksheetオブジェクトかRangeオブジェクトになります。通常はWorksheetオブジェクトの方が一般的です。その場合、ワークシートに含まれているハイパーリンク全てをHyperlinksコレクションで管理しています。各ハイパーリンクはHyperlinkオブジェクトになります。

Addメソッドの引数にURLやファイルパスなどを指定します。

URLが間違っていてもAddメソッドはエラーにはなりませんが、そのセルをクリックしても当然正しく動作しません。

構文

Hyperlinks.Addメソッドは親オブジェクトがWorksheetオブジェクトの場合とRangeオブジェクトの場合の2通りがあります。

1. Worksheetに対するハイパーリンク構文

2. Rangeオブジェクトに対するハイパーリンク構文

Worksheet、
Range
Hyperlinksコレクションの親オブジェクトにはWorksheetオブジェクトまたはRangeオブジェクトを指定します。通常はActiveSheetなどのワークシートを指定する方が多いと思われます。
Anchor ハイパーリンクを設定する個所をセルのRangeオブジェクト、または、オートシェイプのShapeオブジェクトを指定します。
Address 接続先のURLやファイルパスやメールアドレスなどのアドレスを文字列で指定します。SubAddressを指定する場合は空文字列の””を指定します。
SubAddress 省略可。ハイパーリンク先のURLのWebページ内にあるブックマークやワークシートのジャンプ先のセルを指定します。
ScreenTip 省略可。ハイパーリンク上にマウスカーソルを置いたときに表示するヒントを指定します。
TextToDisplay 省略可。ハイパーリンクに表示される文字列を指定します。セルの場合のみ有効です。オートシェイプの場合は無視されます。
Hyperlink 戻り値としてHyperlinks.Addで追加したハイパーリンクが返されます。この時点でHyperlinksコレクションにも追加されていることになります。

 

サンプルコード

A1セルと、事前に作成済みのオートシェイプに対してハイパーリンクを設定するサンプルです。

セルの方は戻り値を取得する書き方で、オートシェイプの方はWith構文での書き方です。

実行結果