Excel에서 선택 셀의 URL을 일괄 적으로 여는 매크로 만들기

소개



Excel에서 여러 셀에 입력된 URL을 대량으로 열 수 있는 매크로를 만들었습니다.

비슷한 기능을 가진 도구로 Chorme 확장 기능의 "Pasty"이 있었지만, 다음 두 점이 신경이 쓰여서 그 점을 커버 할 수있는 것을 만들었습니다.

・상기의 확장 기능은 대상의 URL을 일단 카피할 필요가 있습니다만, 카피할 때에 URL 이외의 캐릭터 라인이 포함되어 있었을 경우에, 경고등이 표시되지 않는다. (20개 탭을 열려고 했지만, 실은 1개 URL 이외가 포함되어 있었기 때문에 19개 밖에 열려 있지 않았다. 그 것을 검지할 수 없다)
・셀을 날아 선택했을 경우(ctrl을 누르면서 멀어진 복수 셀을 선택) 카피를 할 수 없기 때문에, 사용할 수 없다.

상기의 점이 특히 문제가 되지 않는 경우에는 솔직하게 확장 기능을 사용하는 것이 좋을까라고 생각합니다.

이미지



↓이런 느낌으로 URL의 문자열이 들어간 셀의 리스트를 준비합니다.
(하이퍼링크는 설정되어 있지 않아도 OK입니다.)


↓실행했을 경우는 이런 느낌입니다.
선택한 셀에 URL 이외가 포함되어 있으면 메시지 상자가 출력됩니다.

또한 내가 만든 매크로를 추가 기능으로 저장하고 빠른 액세스 도구 모음에 등록하고 사용합니다.
위 그림의 빨간색 프레임 부분입니다.
추가 기능의 등록 방법 등은 이하를 참고로 했습니다.
htps : // 에 x 세 l 우라. m / e xse lv 4 / e Xse L297. HTML

코드



OpenBrowsers
'選択範囲のURLをまとめて開く処理
Sub OpenBrowsers()
    '選択セル
    Dim r As Range
    Set r = Selection
    '開いたURL数
    Dim openCount As Integer
    openCount = 0
    '開かなかったセルのリスト
    Dim not0penList As New Collection
    '出力メッセージ
    Dim outMsg As String

    '選択したセルの数だけループを回す
    For Each r2 In r
        '===== セルにURL文字列が設定されている場合 =====
        If (InStr(r2, "http://") = 1) Or (InStr(r2, "https://") = 1) Then
            'セルにハイパーリンクを設定してから開く
            ActiveSheet.Hyperlinks.Add(Anchor:=r2, Address:=r2.Value, TextToDisplay:=r2.Value).Follow
            '開いたブラウザの数を増やす
            openCount = openCount + 1
        '===== それ以外 =====
        Else
            '開かなかったセルのリストに追加する
            not0penList.Add r2
        End If
    Next r2

    '===== 開かなかったセルがあった場合にはメッセージを出力 ===== 
    If (not0penList.Count > 0) Then
        '何個中何個開いたか
        outMsg = outMsg & vbCrLf & openCount & "/" & Selection.Count & "開きました。"
        outMsg = outMsg & vbCrLf & "開いていないURLは" & not0penList.Count & "個あります。"
        '開いていないセルのセル情報
        For Each i In not0penList
            outMsg = outMsg & vbCrLf & "[" & i.Address(RowAbsolute:=False, ColumnAbsolute:=False) & "] : " & i
        Next i
        'メッセージボックスの出力(警告)
        MsgBox outMsg, vbExclamation
    End If

End Sub



이번 처리에서는 하이퍼링크를 설정→열기라는 것을 하고 있으므로 브라우저는 디폴트로 설정되어 있는 것이 되어 버립니다.
열 때 브라우저를 선택할 수 있는 기능을 추가할 수 있습니다.
또, 그 밖에도 VBA용의 Selenium등도 사용할 수 있기 때문에, 시간이 있으면 조사해 보고 싶습니다.

좋은 웹페이지 즐겨찾기