ExcelでセルにWebページのURLや、ファイルへのパス、別セルへのアドレスなどを設定することができるが、この機能をハイパーリンクという。
このハイパーリンクに設定されているURL(アドレス)を取得する方法を調べてみた。
ハイパーリンクが設定されているか確認するには、「Range」オブジェクトの「Hyperlinks」プロパティの件数で確認することができる。
また、ハイパーリンクのURL(アドレス)には、同様に「Hyperlinks」プロパティでURL(アドレス)を確認することができる。
実際の使い方は以下のように。
A列(1列目)に設定されているハイパーリンクのURL(アドレス)を、B列(2列目)に表示させるようにしている。
'定数
Const HYPERLINK_COL = 1
Const HYPERLINK_ADDRESS_COL = 2
'ハイパーリンクボタン押下時
Sub GetHyperlinkButton_Click()
'画面描画停止
Application.ScreenUpdating = False
'ループカウンタ初期化
i = 1
'ループ
Do While Cells(i, HYPERLINK_COL) <> ""
'ハイパーリンクが設定されている場合
If Range(Cells(i, HYPERLINK_COL).Address).Hyperlinks.Count > 0 Then
'ハイパーリンクのURL(アドレス)を取得
Cells(i, HYPERLINK_ADDRESS_COL) = Range(Cells(i, HYPERLINK_COL).Address).Hyperlinks.Item(1).Address
End If
'ループカウンタインクリメント
i = i + 1
Loop
End Sub
以上。


コメント