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등도 사용할 수 있기 때문에, 시간이 있으면 조사해 보고 싶습니다.
Reference
이 문제에 관하여(Excel에서 선택 셀의 URL을 일괄 적으로 여는 매크로 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/mk777/items/7306104530037832b597
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
↓이런 느낌으로 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등도 사용할 수 있기 때문에, 시간이 있으면 조사해 보고 싶습니다.
Reference
이 문제에 관하여(Excel에서 선택 셀의 URL을 일괄 적으로 여는 매크로 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/mk777/items/7306104530037832b597
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
'選択範囲の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등도 사용할 수 있기 때문에, 시간이 있으면 조사해 보고 싶습니다.
Reference
이 문제에 관하여(Excel에서 선택 셀의 URL을 일괄 적으로 여는 매크로 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mk777/items/7306104530037832b597텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)