EXCEL - VBA

네이버 블로그의 글을 티스토리로 쉽게 옮기는 매크로

별동산 2022. 9. 21. 08:54
반응형

1. 네이버 블로그의 글을 티스토리에 붙여 넣기

네이버의 글을 복사해서 티스토리에 붙여 넣으면

네이버 블로그의 글


PC에서는 문제없이 잘 보이는데,

티스토리에 붙여넣은 글


안드로이드폰에서 보면 아래와 같이 HTML이라는 표시로 영역만 표시되고 내용이 보이지 않으며,

티스토리에 붙여넣은 글이 안드로이드 폰에서는 제대로 안보임



아이폰에서도 Source란 글자로 영역만 표시되고 내용이 보이지 않습니다.

티스토리에 붙여넣은 글이 아이폰에서도 제대로 안보임

2. PC에서 HTML 모드로 글 보기

소스를 보기 위해 티스토리에서 기본 모드를 눌러 HTML 모드로 전환하면

HTML모드로 티스토리 글 보기


아래와 같이 HTML 소스가 보입니다.

HTML 소스


정상적으로 보이는 글을 HTML 모드로 바꿔서 보게 되면 아래와 같아서,

제대로 된 티스토리 글의 HTML 소스


위와 아래의 HTML 코드를 비교해 보면 div 태그가 있느냐 여부입니다.

그렇지만 div 태그를 잘 살펴보면 2가지 경우가 있습니다.

① <div id="SE-13662e81-3d4f-40ed-bfb2-9116b76b1c90"> , <div> </div>와 같이 지워도 되는 것과

② 아래와 같이 이미지가 들어갈 영역을 지정하는 div 태그도 있습니다.
<div>


② 개발도구 탭 아래 Visual Basic을 클릭합니다.

개발도구 - Visual Basic(VBA Editor 엶)


만약 없다면 https://lsw3210.tistory.com/142 글을 보고 개발도구 탭을 먼저 활성화시켜야 합니다.

③ 삽입 - 모듈을 클릭하거나

모듈 삽입 방법1


사용자 정의 폼 오른쪽의 콤보 상자 버튼을 눌러 콤보 상자를 펼친 후 모듈을 클릭합니다.

모듈 삽입 방법2


④ 그러면 아래와 같이 통합 문서1에 모듈과 그 아래 Module1이 추가됩니다.

모듈이 추가된 화면


⑤ 오른쪽 코드 창에 아래 코드를 복사해서 붙여 넣습니다.

Sub naver_to_tistory()
    Dim end_Row As Integer, i As Integer
    Dim id_start_loc As Integer, id_end_loc As Integer, div_start_loc As Integer, image_start_loc As Integer
    Dim div_span_start_loc As Integer, div_span_end_loc As Integer
    
    end_Row = Range("a10000").End(xlUp).Row
    
    For i = end_Row To 1 Step -1
        div_start_loc = InStr(Range("a" & i), "div")
        image_start_loc = InStr(Range("a" & i), "Image")
        div_span_start_loc = InStr(Range("a" & i), "div><span>")
        div_span_end_loc = InStr(Range("a" & i), "/span></div>")
        
        If image_start_loc > 0 Then
            Range("a" & i) = WorksheetFunction.Substitute(Range("a" & i), "div", "p")
        ElseIf div_start_loc > 0 Then
            Rows(i).Delete shift:=xlUp
        End If
    Next
End Sub


그러면 아래와 같은 모습이 됩니다.

코드를 복사해서 붙여넣은 화면


⑥ 파일 아래 표준 도구 모음에서 엑셀 아이콘을 누르거나

엑셀로 돌아가기 아이콘


파일 메뉴를 누른 후 '닫고 Microsoft Excel(으)로 돌아가기 메뉴를 누릅니다.

엑셀로 돌아가기 메뉴

4. HTML 코드 수정하기

① HTML 코드를 Ctrl + A키를 눌러 모두 선택한 다음 Ctrl +C키를 누르거나, 마우스 오른쪽 버튼을 누른 후 복사 메뉴를 눌러 복사한 후,

② 엑셀 통합 문서의 A1셀에 커서를 두고 마우스 오른쪽 버튼을 누른 후 붙여넣기를 누르거나 Ctrl + V키를 누릅니다.

HTML 코드 붙여넣기


그러면, 아래와 같이 붙여집니다.

엑셀에 HTML 코드를 붙여넣은 화면


③ 개발도구 - 매크로를 누른 후 매크로 이름 목록에서 naver_to_tistory를 찾아 더블 클릭하거나 클릭한 후 실행 버튼을 누릅니다.

매크로 실행


④ 그러면 아래와 같이 div 태그가 지워지고, image 태그 앞 뒤의 div가 p로 바뀝니다(7번째 줄, 원본은 18번째 줄 등)

div 태그 처리 - 줄 삭제 또는 p 태그로 변경


마우스 휠을 아래로 굴려 글 아래로 내려가 보니 줄이 삭제되어 빈 줄도 선택되어 있습니다.

div 태그 줄이 삭제되어 줄이 많이 줄어들었음


⑤ 끝 줄, 위와 같은 경우는 A34셀을 클릭한 다음 Shift + Ctrl + ↑ 키를 눌러 A1셀까지 선택하고 복사합니다.

⑥ HTML 코드로 된 '테스트' 글로 돌아간 다음 붙여넣기를 합니다. 그러면 아래와 같이 코드가 간단해집니다.

수정된 HTML 코드를 붙여넣은 화면


⑦ HTML을 누른 후 기본모드로 변경하고,

HTML 모드를 기본모드로 변경


⑧ 임시저장 버튼을 누릅니다.

임시 저장


⑨ 이제 안드로이드폰에서 티스토리를 연 다음 맨 아래 + 표시 글쓰기 아이콘을 누릅니다.

스마트폰에서 글쓰기 아이콘



⑩ 그리고, 저장 옆의 숫자를 누릅니다.

임시 저장된 글 수 선택


⑪ 그러면 임시 저장된 글 목록이 표시되는데, 여기서는 '테스트'를 누릅니다.

임시 저장된 글 선택


⑫ 그러면 HTML 이란 표시 없이 글이 제대로 보입니다.

안드로이드폰에서 티스토리의 글이 제대로 보임


아이폰에서도 테스트 글을 읽어 보면 문제없이 잘 보입니다.

아이폰에서도 티스토리의 글이 잘 보임


위와 같이 엑셀 매크로 잘 사용하면 네이버 블로그의 글을 티스토리의 글로 변환하는 작업을 쉽게 할 수 있습니다.
위와 같은 경우이외에 다른 경우가 있다면 댓글 남겨주시면 반영할 수 있도록 하겠습니다.

반응형