VBAでハイパーリンクのURL(アドレス)を取得する方法

Programming プログラミング

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

以上。

参考サイト

ExcelのVBAで、セルにハイパーリンクがついているときに、そのリンク先のアドレス… – Yahoo!知恵袋

コメント

タイトルとURLをコピーしました