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
以上。
コメント