
엑셀에 정리한 URL목록을 일괄로 웹브라우저 북마크로 추가할 수 있게 도와주는 VBA매크로입니다.
일단 아래와 같이 엑셀에 URL을 정리했습니다.

이 링크들을 일괄로 웹브라우저 북마크에 폴더를 하나 만들어 추가하고 싶습니다.
물론 모든 링크를 클릭해서 웹브라우저 탭에 띄운 다음
열린 탭들을 북마크에 추가할 수 있습니다.
하지만 모든 링크를 여는 것은 번거로운 작업입니다.
그래서 엑셀VBA로 이 과정을 자동으로 처리합니다.
핵심 원리는 웹브라우저 북마크를 내보내면 아래와 같은 HTML양식인데
이 양식에 맞게 VBA로 북마크 HTML을 만들면 되겠습니다.

특히 초반 헤더 부분과
<DL> Description List 태그와
<DT> Description Term 태그를 이용합니다.
원래는 DT 다음에 <DD> Description Description 이 따라오는데 생략합니다.
<DL>
<DT><A HREF="https://your-link1.com">링크1</A>
<DT><A HREF="https://your-link2.com">링크2</A>...
</DL>
이런 식입니다.
엑셀 URL 목록에 대해 위와 같은 양식으로 HTML 텍스트 파일을 생성하게 하면 됩니다.
Gemini에게 코드를 만들도록 시키고 약간만 수정했습니다.
먼저 html파일을 UTF-8 인코딩으로 만드는 경우입니다.
일본어, 중국어, 프랑스어 등 다른 나라 언어글자가 포함되는 경우
ADODB.Stream을 이용해 UTF-8 인코딩방식으로 텍스트파일을 만들어야 모든 언어가 제대로 보입니다.
Sub ExportToChromeBookmarks()
Dim ws As Worksheet
Dim lastRow As Long
Dim i As Long
Dim siteName As String
Dim siteURL As String
Dim filePath As Variant
Dim stream As Object
Dim sBookPath As String
' 현재 활성화된 시트를 기준으로 작업
Set ws = ActiveSheet
sBookPath = ws.Name
' A열의 마지막 데이터 행 찾기
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
' 데이터가 없으면 종료
If lastRow < 1 Then
MsgBox "출력할 데이터가 없습니다. A열과 B열에 데이터를 입력해주세요.", vbExclamation
Exit Sub
End If
' 북마크 제목
sBookPath = InputBox("북마크 제목(Title)을 입력하세요." & vbNewLine & _
"(크롬에서는 북마크를 불러오면 해당이름의 폴더 아래 북마크들이 생성됩니다.)", "Bookmark Title 입력", sBookPath)
If Len(sBookPath) = 0 Then Exit Sub
' 저장할 파일 경로 및 이름 지정 대화상자 열기
filePath = Application.GetSaveAsFilename(InitialFileName:=ws.Parent.Path & "\Chrome_Bookmarks.html", _
FileFilter:="HTML Files (*.html), *.html", _
Title:="북마크 파일 저장 위치 선택")
' 취소를 누른 경우 종료
If filePath = False Then Exit Sub
' 한글 깨짐 방지를 위해 UTF-8 인코딩으로 파일 저장을 돕는 ADODB.Stream 객체 생성
Set stream = CreateObject("ADODB.Stream")
stream.Type = 2 ' 텍스트 타입
stream.Charset = "utf-8" ' UTF-8 인코딩
stream.Open
' 크롬 북마크 표준 HTML 헤더 작성
stream.WriteText "<!DOCTYPE NETSCAPE-Bookmark-file-1>" & vbCrLf
stream.WriteText "" & vbCrLf
stream.WriteText "<META HTTP-EQUIV=""Content-Type"" CONTENT=""text/html; charset=UTF-8"">" & vbCrLf
stream.WriteText "<TITLE>Bookmarks</TITLE>" & vbCrLf
stream.WriteText "<H1>Bookmarks</H1>" & vbCrLf
stream.WriteText "<DL><p>" & vbCrLf
stream.WriteText "<DT><H3>" & sBookPath & "</H3>" & vbCrLf 'Bookmark Folder Name
stream.WriteText "<DL><p>" & vbCrLf
' 2행부터 마지막 행까지 순회하며 데이터 추출
For i = 2 To lastRow
siteName = ws.Cells(i, 1).Value ' A열: 사이트 이름
siteURL = ws.Cells(i, 2).Value ' B열: URL
' 이름과 URL이 모두 있는 경우에만 북마크 태그 추가
If Trim(siteName) <> "" And Left(Trim(siteURL), 4) Like "http" Then
' <DT><A HREF="URL">사이트이름</A> 형식으로 추가
stream.WriteText " <DT><A HREF=""" & siteURL & """>" & siteName & "</A>" & vbCrLf
End If
Next i
' 꼬리말 작성
stream.WriteText "</DL><p>" & vbCrLf
stream.WriteText "</DL><p>" & vbCrLf
' 파일로 저장 (adSaveCreateOverWrite = 2 : 덮어쓰기 허용)
stream.SaveToFile filePath, 2
stream.Close
MsgBox "크롬 북마크 파일이 성공적으로 생성되었습니다!" & vbCrLf & _
"저장 경로: " & filePath, vbInformation
End Sub
한글, 영어만 사용하는 경우 아래와 같이 ANSI인코딩으로 HTML 텍스트파일을 만들어도 됩니다.
Sub ExportToChromeBookmarks_ANSI()
Dim ws As Worksheet
Dim lastRow As Long
Dim i As Long
Dim siteName As String
Dim siteURL As String
Dim filePath As Variant
Dim fileNum As Integer
' 현재 활성화된 시트를 기준으로 작업
Set ws = ActiveSheet
' A열의 마지막 데이터 행 찾기
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
' 데이터가 없으면 종료
If lastRow < 1 Then
MsgBox "출력할 데이터가 없습니다. A열과 B열에 데이터를 입력해주세요.", vbExclamation
Exit Sub
End If
' 북마크 제목
sBookPath = InputBox("북마크 제목(Title)을 입력하세요." & vbNewLine & _
"(크롬에서는 북마크를 불러오면 해당이름의 폴더아래 북마크들이 생성됩니다.)", "Bookmark Title 입력", sBookPath)
If Len(sBookPath) = 0 Then Exit Sub
' 저장할 파일 경로 및 이름 지정 대화상자 열기
filePath = Application.GetSaveAsFilename(InitialFileName:=ws.Parent.Path & "\Chrome_Bookmarks.html", _
FileFilter:="HTML Files (*.html), *.html", _
Title:="북마크 파일 저장 위치 선택")
' 취소를 누른 경우 종료
If filePath = False Then Exit Sub
' 사용 가능한 빈 파일 번호 가져오기
fileNum = FreeFile
' 기본 텍스트 파일 쓰기 모드로 열기 (ANSI 인코딩)
Open filePath For Output As #fileNum
' 크롬 북마크 표준 HTML 헤더 작성
Print #fileNum, "<!DOCTYPE NETSCAPE-Bookmark-file-1>"
Print #fileNum, ""
' 주의: 파일은 ANSI로 저장되지만 크롬 규격상 헤더에는 UTF-8로 명시해 둡니다.
Print #fileNum, "<META HTTP-EQUIV=""Content-Type"" CONTENT=""text/html; charset=ansi"">"
Print #fileNum, "<TITLE>Bookmarks</TITLE>"
Print #fileNum, "<H1>Bookmarks</H1>"
Print #fileNum, "<DL><p>"
Print #fileNum, "<DT><H3>" & ws.Name & "</H3>" & vbCrLf 'Bookmark Folder Name
Print #fileNum, "<DL><p>" & vbCrLf
' 2행부터 마지막 행까지 순회하며 데이터 추출
For i = 2 To lastRow
siteName = ws.Cells(i, 1).Value ' A열: 사이트 이름
siteURL = ws.Cells(i, 2).Value ' B열: URL
' 이름과 URL이 모두 있는 경우에만 북마크 태그 추가
If Trim(siteName) <> "" And Left(Trim(siteURL), 4) Like "http" Then
' <DT><A HREF="URL">사이트이름</A> 형식으로 기록
Print #fileNum, " <DT><A HREF=""" & siteURL & """>" & siteName & "</A>"
End If
Next i
' 꼬리말 작성
Print #fileNum, "</DL><p>"
Print #fileNum, "</DL><p>"
' 파일 닫기
Close #fileNum
MsgBox "크롬 북마크 파일이 성공적으로 생성되었습니다!" & vbCrLf & _
"저장 경로: " & filePath, vbInformation
End Sub
엑셀에 URL을 정리하고
Alt+F8을 눌러 매크로창에서
둘 중의 하나의 매크로를 실행하면 아래처럼 북마크 HTML을 생성합니다.

대화상자가 뜨면 북마크 제목을 확인하고 수정합니다. 북마크 제목은 <h3> 태그로 문서의 부제목 역학인데 생성된 북마크 HTML을 크롬브라우저에서 불러오면 이 폴더 이름 아래에 북마크들이 생성됩니다. 다른 브라우저에서는 영향이 없습니다.

생성된 Chrome_Bookmarks.html 입니다.

이제 웹브라우저에서 북마크 가져오기를 누르고 이 HTML파일을 불러오면 됩니다.
크롬, 엣지, 웨일 등 크롬 기반 웹브라우저에서 Ctrl+Shift+O를 누르고 북마크 관리자를 켭니다.

그 다음 오른쪽 상단 점 세개를 누르고 북마크 가져오기를 누르고 북마크 HTML파일을 선택합니다.

(참고로 기존 북마크 폴더가 없다면 폴더를 하나 만들고 가져오는 것이 좋을 수 있습니다.)

아래처럼 크롬에서는 지정된 폴더(myFolder)가 만들어지고 그 안에 북마크가 일괄 생성됩니다.
크롬에서는 북마크 HTML에서 <H3> 태그 안의 내용대로 폴더가 만들어지는 것으로 보입니다.
다른 브라우저에서는 '가져온 북마크'라는 폴더안에 생성됩니다.

엣지에서 즐겨찾기 가져오기:
Ctrl+Shift+O 누르고 즐겨찾기 가져오기 > HTML 파일 > 파일선택

파이어폭스에서 북마크 가져오기:
Ctrl+Shift+O누르고 가져오기 > HTML에서 북마크 가져오기

✅ 매크로가 포함된 샘플 파일입니다:

참고: addHyperlink2Self 매크로는
엑셀에서 B열의 URL링크에 대해 자기자신에게 하이퍼링크를 일괄로 적용해줍니다.
✔️ 자바스크립트 버전:
엑셀 등의 표를 아래 사이트에 붙여 넣고 Generate 버튼을 누르면 HTML로 만들어줍니다.
이 내용을 복사해서 HTML파일로 저장하세요.
원본은 https://jsfiddle.net/k0m9rqho/show인데 로그인이 필요해서 약간 수정해서 다른 데 올려놨습니다.
http://handin.woobi.co.kr/bookmark/
http://handin.woobi.co.kr/bookmark/
Copy the text below and save it as an .html file. Open your browser's Bookmark Manager (Ctrl+Shift+O), then select 'Import Bookmarks' from the menu to upload the file. ✨🎉사용 방법: 1. 위 박스의 내용을 복사하여 메모장에 붙여넣고
handin.woobi.co.kr
'XLS+VBA' 카테고리의 다른 글
| 실시간 도서 ISBN 코드로 재고 수량 조회 (0) | 2026.03.07 |
|---|---|
| 멜론 노래 정보 가져와서 음악파일명 일괄 변경하기 (0) | 2026.03.02 |
| 엑셀 데이터를 다른 창 입력란에 자동으로 일괄 붙여넣기 (0) | 2026.01.22 |
| 엑셀로 영상 편집하기? (1) | 2025.12.15 |
| 엑셀에서 취소선 대신 화살표 등 도형 표시 (0) | 2025.10.14 |
| 엑셀 특정 단어 강조표시 (0) | 2025.10.02 |
| 색상에 따른 합산 (3) | 2025.08.03 |
| QuerySelector를 이용한 다음(DAUM) 뉴스 검색 (1) | 2025.05.30 |
최근댓글