XLS+VBA
영어단어와 뜻 OCR인식 결과 정리하기
쵸코난
2023. 6. 12. 08:41
관련: 지식인
위와 같은 영어단어 목록을 영단어/우리말뜻으로 정리하고 싶다는 질문입니다.
OCR인식과 엑셀VBA를 이용하여 정리하는 방법을 소개합니다.
여기에 사용된 엑셀 VBA는 간단히 모든 라인을 순환하다가 영어 단어를 만나면 그아래 셀을 뜻으로 간주해서 모든 단어를 정리하는 역할을 합니다. 이 코드는 모든 경우에 사용할 수 있는 것은 아니지만
필요한 경우에 VBA를 이용해서 이렇게 실생활에 이용할 수 있다는 것을 보여드립니다.
1. 구글 드라이브에 올린 다음 연결앱에서 구글 문서로 열면
![](https://blog.kakaocdn.net/dn/D2K0a/btsjnHnNMUg/9AoGXDi4hDjSBWM2p1PkVk/img.png)
2. 아래처럼 자동으로 글자 인식을 해줍니다.
![](https://blog.kakaocdn.net/dn/bKSxEI/btsjpFDilPW/DwuJEN3sD03FdesZxXsVw1/img.png)
3. 위 내용을 엑셀에 집어 넣고 정리합니다.
4. 특히 아래처럼 단어 앞에 숫자가 있는 경우 정리가 안되므로 숫자를 지우거나 다른 곳으로 옮겨줍니다.
![](https://blog.kakaocdn.net/dn/bQlCi7/btsjnHBlHjp/ed5JMtnCE5LT9S7MwUhrkk/img.png)
5. 아래처럼 영어단어 바로 아래에 해당 단어의 뜻이 아닌 경우 필요 없는 것을 삭제해줍니다.
이 단어들이 모두 오류가 나기 때문에 아래 세 단어를 잘 찾아서 수정해줘야 합니다.
![](https://blog.kakaocdn.net/dn/bYAKAu/btsjnboV0Fa/3HVuTK1tCQSV8FPgm2414K/img.png)
단어 밑에 뜻이 아닌 경우도 찾아서 추가해줍니다.
![](https://blog.kakaocdn.net/dn/bnDPDL/btsjBugwUqJ/XaLhkM1vHyASYXxUu7q8Z1/img.png)
6. 지난 번 매크로를 돌려줍니다.
더보기
Sub m()
Dim c As String
Dim r As Range
Dim sht As Worksheet, shtN As Worksheet
Dim k As Long
Set sht = ActiveSheet
Set shtN = Worksheets.Add
For Each r In sht.Range("A1:A300")
c = Left(Trim(r.Text), 1)
If c >= "a" And c <= "z" Then
k = k + 1
shtN.Cells(k, 1) = r
shtN.Cells(k, 2) = r.Offset(1)
End If
Next r
shtN.Cells.Columns.AutoFit
End Sub
매크로는 영어 단어를 만나면 바로 아래 칸을 뜻으로 간주해서 목록을 만들어주는 역할입니다.
![](https://blog.kakaocdn.net/dn/o4miB/btsjBthDzJy/MFi5cbaNqVXK8KVMXdH1y0/img.png)
아래처럼 뜻 대신 숫자가 나오는 경우는 직접 찾아서 입력하거나 엑셀파일을 수정하고 다시 매크로를 돌립니다.
![](https://blog.kakaocdn.net/dn/bHTNT0/btsjlXdA2Uw/v02PTDNLHEzkyULZatv3Fk/img.png)
8. 100개를 채웠습니다.
![](https://blog.kakaocdn.net/dn/bdYLZW/btsjnGPUSgm/E2CHiffLcMm96MLTG95fk0/img.png)