【Excel VBA】カンタン!Excelに記入されている複数のハイパーリンクを一括でオープンする

Excelワークシートに記入されている複数のハイパーリンクを一括でオープンする機会はないでしょうか。

タカヒロの場合、案件のタスク管理を進捗管理ツールのRedmineで行っているのですが、各タスクごとにURLが割り当てられており、進捗確認をする際には関連するタスクのURLをすべてブラウザから開かなければなりません。
時に20~30件を確認する場合があり、それをワンクリックしながら開くのはなかなか大変です。

そんなときに便利なのはExcelのVBAで記入されているハイパーリンクを一発で開くマクロです。

何件ハイパーリンクがあろうが、一回の操作ですべて※開くことが可能です。
※最大表示件数は255個までです。また利用するブラウザの最大表示件数にも依存します。

今回はそんなハイパーリンクを一発で開くマクロをご紹介したいと思います。


今回のマクロ

今回はExcelへ以下のマクロの登録とシートへ5つのハイパーリンクを記入し、IEでそのハイパーリンクを開いてみます。

サンプルのハイパーリンク集です。

登録するマクロは以下の通りです。

Sub ハイパーリンク一括オープン()
    Dim objHyperlink As Hyperlink
    
    For Each objHyperlink In Selection.Hyperlinks
    
        objHyperlink.Follow
    
    Next

End Sub

Selectionプロパティでは、選択している範囲をオブジェクトとして取得します。
例えば、A1セルを選択していればSelectionプロパティはRange(“A1”)となり、
A1~A5のセル範囲を選択していればSelectionプロパティはRange(“A1:A5”)を指すことになります。

Selectionプロパティから取得したオブジェクトは複数個のハイパーリンクとなるため、ForEachで一件づつハイパーリンクを取り出し、Hyperlink オブジェクトとし、follow メソッドでハイパーリンクを実行させます。

follow メソッドの構文は以下の通りです。

構文

follow (NewWindow、 addhistory、 ExtraInfo、 Method、 HeaderInfo)

パラメーター

NewWindow 省略可。リンク先を新しいウインドウで表示する場合はTrue、そうでない場合や省略した場合はFalseを指定します。
AddHistory 省略可。使用されません。
ExtraInfo 省略可。GETメソッドやPOSTメソッドの情報を指定します。GETメソッドの場合はURLの?に続く追加パラメータを指定します。?の記述は不要です。POSTメソッドの場合も同様に追加パラメータを指定します。
Method 省略可。MsoExtraInfoMethod列挙型の定数で、引数ExtraInfoの接続方法を指定します。

定数 内容
msoMethodGet ExtraInfoの内容はアドレスに追加される文字列とする。(GETメソッド)
msoMethodpost ExtraInfoの内容は文字列またはバイト配列として保存する。(POSTメソッド)
HeaderInfo 省略可。接続に使用するユーザー名やパスワードなどのHTTP要求ヘッダ情報を文字列で指定します。省略時は空文字列になります。

マクロを登録しましょう

①[Alt] + [F11]を押下してVBAのコンソールを開きます。

②標準モジュールを追加します。
左ペインのVBAProjectを右クリックし、「挿入」、「標準モジュール」を選択します。

③右ペインのウインドウに上記のマクロを入力します。

はい、ここで登録完了です。

マクロを実行しましょう

続いて登録したマクロを実行し、ハイパーリンク一覧を一括オープンしたいと思います。

①ハイパーリンクを複数選択します。

②[開発]タブ、[マクロ]を押下してマクロ一覧画面を開きます。

③「ハイパーリンク一括オープン」を選択し、「実行」をクリックしマクロを実行します。

はい、一括でオープンできましたね。

 

マクロをボタンから実行しましょう

次にいちいちタブからマクロを実行するのは少々面倒ですので、登録したマクロをボタンから実行したいと思います。

①「開発」タブ>「挿入」>左上のボタンをクリックします。

②マクロを登録します。「ハイパーリンク一括オープン」を選択し、「OK」をクリックします。

②はい、挿入されましたね。ボタンの名称も変えましょう。

③ハイパーリンクを選択し、ボタンを押してみましょう。

はい、前回と同様に一括でオープンできましたね。

また、範囲指定でも、2番目と5番目など個別選択のパターンでも同じように開くことが可能です。
操作は「Ctrl」を押しながらセルをクリックします。

実行してみましょう。
はい、個別選択分の表示がされましたね。



さいごに

いかがでしょうか。ハイパーリンクは何かと登場するケースが多いかと思います。もし複数個あって定期的にオープンする作業があるようでしたら、今回の方法をぜひ試してもらえばと思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です