ExcelマクロVBA入門 | 第95回.ハイパーリンク(Hyperlink) | Excelマクロの基礎と応用、エクセルVBAの入門・初級・初心者向け解説



最終更新日:2016-09-02

第95回.ハイパーリンク(Hyperlink)


ハイパーリンクは、Hyperlinkオブジェクトです、

そして、ハイパーリンクのオブジェクトの集まりであるコレクションが、Hyperlinksコレクションになります。

以下の説明や使用例を読む時、
コレクションとオブジェクトが分かりずらいかもしれません。

Hyperlinksは、Hyperlinkのコレクションです。

Hyperlinks(1)は、Hyperlinkオブジェクトです。

簡単に言えば、シートには複数のハイパーリンクが存在します、これがHyperlinksコレクション
一つのハイパーリンクを特定した時、それがHyperlinkオブジェクトになります。


Hyperlinksコレクションのメソッドとプロパティです。
メソッド Add 指定された範囲または図形にハイパーリンクを追加します。
Delete オブジェクトを削除します。
プロパティ Application 対象となるオブジェクトが指定されない場合は、Excel アプリケーション (Application オブジェクト) を返します。
対象となるオブジェクトが指定された場合は、指定されたオブジェクトを作成した Application オブジェクトを返します。
OLE オートメーションを使っていて、オブジェクトのアプリケーションにアクセスするときなどに、このプロパティを使います。
値の取得のみ可能です。
Count コレクションに含まれるオブジェクトの数を表す長整数型 (Long) の値を返します。
Creator 現在のオブジェクトが作成されたアプリケーションを示す 32 ビットの整数を取得します。
値の取得のみ可能です。長整数型 (Long) の値を使用します。
Item コレクションから単一のオブジェクトを返します。
Parent 指定されたオブジェクトの親オブジェクトを取得します。値の取得のみ可能です。

Addメソッドについてのみ説明します。

Addメソッド
式.Add(Anchor, Address, SubAddress, ScreenTip, TextToDisplay)

Anchor ハイパーリンクのアンカーを指定します。
Range オブジェクトまたは Shape オブジェクトを指定します。
Address ハイパーリンクのアドレスを指定します。
SubAddress ハイパーリンクのサブアドレスを指定します。
ScreenTip ハイパーリンク上をマウス ポインターで指した場合に表示されるヒントを指定します。
TextToDisplay ハイパーリンクで表示されるテキストを指定します。

使用例.

WEBページやファイルの場合
ActiveSheet.Hyperlinks.Add Anchor:=セル, _
              Address:="URL等/ファイルのフルパス", _
              TextToDisplay:="表示名"

同一ブック内の他シートの場合
ActiveSheet.Hyperlinks.Add Anchor:=セル, _
             Address:="", _
             SubAddress:="'シート名'!A1", _
             TextToDisplay:="表示名"

他ブックのシートの場合
ActiveSheet.Hyperlinks.Add Anchor:=セル, _
             Address:="ブックのフルパス", _
             SubAddress:="'シート名'!A1", _
             TextToDisplay:="表示名"

シート名をシングルクォーテーションで囲みます。
これが無いと、シート名に空白やカナ記号があると正しくハイパーリンクが設定されません。

いずれも、
「セル」は、Rangeオブジェクトで、Range("A1")、Cells(1, 1)等になります。


Hyperlinkオブジェクト

Hyperlinkオブジェクトのメソッドとプロパティです。
メソッド AddToFavorites ブックまたはハイパーリンクへのショートカットを "お気に入り" フォルダーに追加します。
CreateNewDocument 指定したハイパーリンクにリンクされた新しい文書を作成します。
Delete オブジェクトを削除します。
Follow 既にダウンロードしてある場合、キャッシュに格納されたファイルを表示します。
ダウンロードしていない場合、ハイパーリンク先にある目的のファイルをダウンロードし、適切なアプリケーションで表示します。
プロパティ Address 対象ドキュメントのアドレスを示す文字列型 (String) の値を取得、または設定します。
Application 対象となるオブジェクトが指定されない場合は、Excel アプリケーション (Application オブジェクト) を返します。
対象となるオブジェクトが指定された場合は、指定されたオブジェクトを作成した Application オブジェクトを返します。
OLE オートメーションを使っていて、オブジェクトのアプリケーションにアクセスするときなどに、このプロパティを使います。
値の取得のみ可能です。
Creator 現在のオブジェクトが作成されたアプリケーションを示す 32 ビットの整数を取得します。
値の取得のみ可能です。長整数型 (Long) の値を使用します。
EmailSubject 指定されたハイパーリンクのリンク先が電子メールの場合、メールの件名を表す文字列を設定します。
件名はハイパーリンクのアドレスに追加されます。
値の取得および設定が可能です。文字列型 (String) の値を使用します。
Name オブジェクトの名前を表す文字列型 (String) の値を返します。
Parent 指定されたオブジェクトの親オブジェクトを取得します。値の取得のみ可能です。
Range 指定されたハイパーリンクが割り当てられている範囲を表す Range オブジェクトを取得します。
ScreenTip 指定されたハイパーリンクにヒントを設定します。値の取得および設定が可能です。
文字列型 (String) の値を使用します。
Shape 指定されたハイパーリンクに結合されている図形を表す Shape オブジェクトを取得します。
SubAddress 指定したハイパーリンク先のドキュメント内の特定の位置を取得または設定します。
値の取得および設定が可能です。文字列型 (String) の値を使用します。
TextToDisplay 指定されたハイパーリンクに表示テキストを設定します。
既定値はハイパーリンクのアドレスです。値の取得および設定が可能です。文字列型 (String) の値を使用します。
Type HTML フレームの場所を表す長整数型 (Long) の値を返します。
MsoHyperlinkType クラスの定数を使用します。

使用例.

With Cells(1, 1)
  .Offset(0, 1) = .Hyperlinks(1).Address
End With

指定セルの隣に、ハイパーリンクのアドレスを書き出しています。

Hyperlinks(1)

これが解りづらいのですが、

Rangeオブジェクトはコレクションでもあります。

Hyperlinksコレクションの指定になっているので、要素の特定が必要になっています。

が、しかし、当然先頭要素しかありえないので、ここでは常に(1)になります。

With ActiveSheet.Shapes("四角形 1")
  .TopLeftCell.Offset(0, 1) = .Hyperlink.Address
End With

指定図形の、左上のセルの隣に、ハイパーリンクのアドレスを書き出しています。

こちらは、ShapeオブジェクトのHyperlinkオブジェクトです。


以下も参考にして下さい。

ユーザー定義関数でハイパーリンクのURLを取得




同じテーマ「ExcelマクロVBA入門」の記事

第96回.グラフ(Chart)
第97回.図形(Shape)
第98回.Findメソッド(Find,FindNext,FindPrevious)
第99回.Replaceメソッド(置換)
第100回.InputBoxメソッド(インプットボックス)
第101回.Midステートメント
第102回.Intersectメソッド

新着記事 ・・・新着記事一覧を見る

SUMIFの間違いによるパフォーマンスの低下について|エクセル関数超技(6月17日)
条件式のいろいろな書き方:TrueとFalseの判定とは|ExcelマクロVBA技術解説(6月15日)
空白セルを正しく判定する方法2|ExcelマクロVBA技術解説(5月6日)
フルパスをディレクトリ、ファイル名、拡張子に分ける|ExcelマクロVBA技術解説(4月15日)
テキストボックスの各種イベント|Excelユーザーフォーム入門(4月9日)
フォルダ(サブフォルダも全て)削除する、Optionでファイルのみ削除|ExcelマクロVBAサンプル集(4月4日)
最後の空白(や指定文字)以降の文字を取り出す|エクセル関数超技(3月26日)
先頭の数値、最後の数値を取り出す|エクセル関数超技(3月26日)
Excelファイルを開かずにシート名をチェック|ExcelマクロVBAサンプル集(3月23日)
数式の参照しているセルを取得する|ExcelマクロVBAサンプル集(3月18日)

アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|ExcelマクロVBA入門
2.RangeとCellsの使い方|ExcelマクロVBA入門
3.Range以外の指定方法(Cells,Rows,Columns)|ExcelマクロVBA入門
4.変数とデータ型(Dim)|ExcelマクロVBA入門
5.徹底解説(VLOOKUP,MATCH,INDEX,OFFSET)|エクセル関数超技
6.セルのコピー&値の貼り付け(PasteSpecial)|ExcelマクロVBA入門
7.定数と型宣言文字(Const)|ExcelマクロVBA入門
8.セルの参照範囲を可変にする(OFFSET,COUNTA,MATCH)|エクセル関数超技
9.CSVの読み込み方法|ExcelマクロVBAサンプル集
10.ひらがな⇔カタカナの変換|エクセル基本操作



  • >
  • >
  • >
  • ハイパーリンク(Hyperlink)

  • このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


    記述には細心の注意をしたつもりですが、
    間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
    なお、掲載のVBAコードは自己責任で使ってください。万一データ破損等の損害が発生しても責任は負いません。

    ↑ PAGE TOP