오빠두엑셀 `2026 무료 챌린지` 오픈! 완주하고 수료증 받아가세요! 5년 연속 IT분야 베스트셀러! 「 진짜쓰는 실무엑셀 」로 2026년 공부 끝내기 엑셀이 막히셨나요? Q&A 게시판에서 바로 해결하세요.
메뉴

엑셀 x 네이버 블로그 발행량 조회 자동화 양식 & 함수 만들기

댓글 13
4.7 (6개 평가)
맥스정 💎
맥스정 💎 2021.09.23 13:48
진짜 환상적이네요.... 어서 빨리 선생님 레벨에 오르고 싶네요....
woo
woo 2022.01.25 15:11
감사합니다
박수현
박수현 2023.10.03 23:01
python사용 하면 몇 초면 만드는데....
유메미
유메미 2024.04.22 10:58
보충 vba코드를 입력하고 실행 누르면 아무것도 안나옵니다
네이버페이지가 개편되서 안되는걸까요?
24년도에 하니 뷰기능이 없고 블로그로 바뀌어서 그런걸까요?
오빠두엑셀
오빠두엑셀 작성자 2024.04.22 19:29
안녕하세요. 오빠두엑셀입니다.
먼저 오류를 확인해주셔서 감사드립니다.
말씀하신 오류는 블로그 발행량을 반환하는 URL 구조가 일부 변경되어서 그런 것으로 확인 하였습니다.
코드 중 URL 부분을 아래와 같이 수정 후 다시 실행해보시겠어요? :)
URL = "https://s.search.naver.com/p/blog/search.naver?where=blog&api_type=1&query=" & Keyword & "&dup_remove=1&nso=so:r,p:" & Period & ",a:all&nx_search_query=" & Keyword
바로 해결되실겁니다.
감사합니다.
유메미
유메미 2024.05.20 11:32
안녕하세요 영상과 별개인 질문이있는데 VBA왕초보라 커서부분이 첨부된 그림처럼 두껍게 되어서 중간에 작성시 이전에 작성된부분이 계속지워지던데
이거 해결할수있는방법이있나요?
1처
오빠두엑셀
오빠두엑셀 작성자 2024.05.21 18:01
안녕하세요. 오빠두엑셀입니다.
말씀하신 상황은 키보드의 INSERT 키가 눌려 '겹쳐쓰기'가 활성화되어서 그렇습니다.
이러한 경우 INSERT 키를 다시 한번 더 눌러서 겹쳐쓰기를 비활성화하면 바로 해결됩니다.^^
감사합니다.
유메미
유메미 2024.05.21 19:26
답변감사합니다.
강민준🤗
강민준🤗 2024.08.12 08:54
좋은 강의 감사합니다🙇‍♂️
kj
kj 2024.08.20 21:35
지금은 블로그 발행량 조회가 안되는데 어떻게 가능할까요?
오빠두엑셀
오빠두엑셀 작성자 2024.08.21 05:07
안녕하세요. 오빠두엑셀 전진권입니다.
24년 8월 20일 이후, 네이버의 블로그 게시글의 주/월별 발행량을 조회하는 URL이 중단되었습니다.
따라서 본 기능은 더 이상 사용 불가하며, 블로그 게시글의 총 발행량을 조회하는 방법은 빠른 시일내에 멤버십 특강으로 제공할 예정입니다.
감사합니다.🙇‍♂️
kj
kj 2024.08.26 19:44
진권님
유튜브 오늘 업로드 되었던데,
이게 블로그 발행량 수정된 영상강의 맞을까요? 바로 실습적용해야되서요~
오빠두엑셀
오빠두엑셀 작성자 2024.08.27 10:48
안녕하세요. 오빠두엑셀 전진권입니다.
네, 맞습니다.
이번주에 업로드한 라이브 189강에서 블로그 발행량 관련하여 수정된 내용을 정리했으니 확인해보시길 바랍니다.
준비한 강의가 업무를 보시는데 도움이 될 수 있길 바랍니다. 감사합니다.
라이브정보
방송일 2021년 07월 03일 (55회)
강의시간 1시간 7분
버전 안내
Windows 파워쿼리의 FuzzyMatch 기능은 엑셀 2021 이후 버전에서 사용 가능하며, 파워쿼리는 엑셀 2016 이후 버전부터 사용가능합니다.
Mac Mac용 엑셀에서는 실습 진행이 불가능합니다.
보충자료

1️⃣ 이번 강의에서 사용된 네이버 게시글 게시글 세기 - VBA 마스터 코드

Function NaverPostCount(Keyword, Optional Period = "1m")

Dim URL As String
Dim HTMLDoc As HTMLDocument
Dim strResult As String

'Dim Keyword As String: Dim Period As String
'Keyword = "파워포인트"
'Period = "1y"
'1h:1시간, 1w:1주, 1m:1달, 1y:1년, from20200101to20201231:기간지정..

'중요 알림
'블로그 발행량을 반환하는 URL이 일부 변경되었습니다.
'전체 코드 중, URL 부분은 아래 코드로 수정하여 실습을 진행해주세요! 
'URL = "https://s.search.naver.com/p/blog/search.naver?where=blog&api_type=1&query=" & Keyword & "&dup_remove=1&nso=so:r,p:" & Period & ",a:all&nx_search_query=" & Keyword

End Function

Private Function GetHttp(URL As String, Optional formText As String, _
                                Optional isWinHttp As Boolean = False, _
                                Optional RequestHeader As Variant, _
                                Optional includeMeta As Boolean = False, _
                                Optional RequestType As String = "GET") As Object
 
'###############################################################
'오빠두엑셀 VBA 사용자지정함수 (https://www.oppadu.com)
'▶ GetHttp 함수
'▶ 웹에서 데이터를 받아옵니다.
'▶ 인수 설명
'_____________URL                         : 데이터를 스크랩할 웹 페이지 주소입니다.
'_____________formText                 : Encoding 된 FormText 형식으로 보내야 할 경우, Send String에 쿼리문을 추가합니다.
'_____________isWinHttp               : WinHTTP 로 요청할지 여부입니다. Redirect가 필요할 경우 True로 입력하여 WinHttp 요청을 전송합니다.
'_____________RequestHeader       : RequestHeader를 배열로 입력합니다. 반드시 짝수(한 쌍씩 이루어진) 개수로 입력되어야 합니다.
'_____________includeMeta           : TRUE 일 경우 HTML 문서위로 ResponseText를 강제 입력합니다. Meta값이 포함되어 HTML이 작성되며 innerText를 사용할 수 없습니다. 기본값은 False 입니다.
'_____________RequestType           : 요청방식입니다. 기본값은 "GET"입니다.
'▶ 사용 예제
'Dim HtmlResult As Object
'Set htmlResult = GetHttp("https://www.naver.com")
'msgbox htmlResult.body.innerHTML
'###############################################################
 
Dim oHTMLDoc As Object: Dim objHTTP As Object
Dim HTMLDoc As Object
Dim i As Long: Dim blnAgent As Boolean: blnAgent = False
Dim sUserAgent As String: sUserAgent = "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.183 Mobile Safari/537.36"
 
Application.DisplayAlerts = False
 
If Left(URL, 4) <> "http" Then URL = "http://" & URL
 
Set oHTMLDoc = CreateObject("HtmlFile")
Set HTMLDoc = CreateObject("HtmlFile")
 
If isWinHttp = False Then
    Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
Else
    Set objHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
End If
 
objHTTP.setTimeouts 3000, 3000, 3000, 3000
objHTTP.Open RequestType, URL, False
If Not IsMissing(RequestHeader) Then
    Dim vRequestHeader As Variant
    For Each vRequestHeader In RequestHeader
        Dim uHeader As Long: Dim Lheader As Long: Dim steps As Long
        uHeader = UBound(vRequestHeader): Lheader = LBound(vRequestHeader)
        If (uHeader - Lheader) Mod 2 = 0 Then GetHttp = CVErr(xlValue): Exit Function
        For i = Lheader To uHeader Step 2
            If vRequestHeader(i) = "User-Agent" Then blnAgent = True
            objHTTP.setRequestHeader vRequestHeader(i), vRequestHeader(i + 1)
        Next
    Next
End If
If blnAgent = False Then objHTTP.setRequestHeader "User-Agent", sUserAgent
 
objHTTP.send formText
 
If includeMeta = False Then
    With oHTMLDoc
        .Open
        .Write objHTTP.responseText
        .Close
    End With
Else
    oHTMLDoc.body.innerHTML = objHTTP.responseText
End If
 
Set GetHttp = oHTMLDoc
Set oHTMLDoc = Nothing
Set objHTTP = Nothing
 
Application.DisplayAlerts = True
 
End Function
 
Private Function Splitter(v As Variant, Cutter As String, Optional Trimmer As String)
 
'###############################################################
'오빠두엑셀 VBA 사용자지정함수 (https://www.oppadu.com)
'▶ Splitter 함수
'▶ Cutter ~ Timmer 사이의 문자를 추출합니다. (Timmer가 빈칸일 경우 Cutter 이후 문자열을 추출합니다.)
'▶ 인수 설명
'_____________v       : 문자열입니다.
'_________Cutter      : 문자열 절삭을 시작할 텍스트입니다.
'_________Trimmer  : 문자열 절삭을 종료할 텍스트입니다. (선택인수)
'▶ 사용 예제
'Dim s As String
's = "{sa;b132@drama#weekend;aabbcc"
's = Splitter(s, "@", "#")
'msgbox s   '--> "drama"를 반환합니다.
'###############################################################
 
Dim vaArr As Variant
 
On Error GoTo EH:
 
vaArr = Split(v, Cutter)(1)
If Not IsMissing(Trimmer) Then vaArr = Split(vaArr, Trimmer)(0)
 
Splitter = vaArr
 
Exit Function
 
EH:
    Splitter = ""
 
End Function