SRT 자막파일을 엑셀 VBA 로 편집
SRT 자막파일의 구조를 보면 이렇게 생겼다.
번호와 바로 아래 타임코드(timecode) 정보가 있다.
그리고 그 아래에 자막내용이 있다.
동영상 플레이어에서는 이 타임코드 정보를 기준으로 해서 자막을 화면에 뿌려주게 된다.
자막파일을 가지고 이런 타임코드 정보는 전부다 지우고 자막내용만 남기고 싶은 경우의 VBA 코드를 만들어봤다. 아래코드처럼 한 이유는 자막 내용에 숫자만 들어간 경우가 있을 수 있다.
자막 내용은 지우지 않고 순수하게 타임코드 위의 번호(숫자)만 지우는 걸 고려해서 코드를 만들어봤다.
Sub Sub_Editing()
Dim rngAll As Range
Dim i As Integer
Application.ScreenUpdating = False '// 화면 업데이트 (일시) 중지
Set rngAll = Range([A1], Cells(Rows.Count, "A").End(3))
For i = rngAll.Cells.Count To 1 Step -1 '// 맨 마지막 줄부터 시작해서 거꾸로 i 값을 줄여나가라
If InStr(Cells(i, 1), ":") And InStr(Cells(i, 1), "-->") Then '// 타임코드 정보가 포함되어 있다면
If IsNumeric(Cells(i - 1, 1)) Then '// 타임코드 정보 윗줄이 숫자라면
Range(Cells(i, 1), Cells(i - 1, 1)).EntireRow.Delete '// 두줄을 지워라
End If
i = i - 1 '// 두줄을 지웠으니 i 값을 하나더 빼라
ElseIf Trim(Cells(i, 1)) = "" Then
Cells(i, 1).EntireRow.Delete
End If
Next i
Cells(1, 1).Select
MsgBox "자막정리완료"
End Sub
'업무 능력 향상 > 엑셀 VBA 활용' 카테고리의 다른 글
Replace 이용하여 주소에서 지역만 다시 정리 (0) | 2014.12.07 |
---|---|
주소 지역명 자동추출 VBA (0) | 2014.12.06 |
엑셀과 MySQL 연동처리 (2) | 2014.10.26 |
홀수행 또는 짝수행만 추출하는 VBA (0) | 2014.10.17 |
[VBA] 셀을 분리하여 검사하고 결과를 저장 (0) | 2014.09.24 |