지치지 않는 준빠님때문에 가랑이가 찢어질것 같다...이번 작업은 대화내용을 배열에 담아서 해당날짜와 시간 그리고 내화 내용을 출력하는 작업이다.
오픈챗 대화내용을 보면 알겠지만 분단위로 대화를 출력하기에 동일인이 동일한 시간대에 입력하면서 엔터를 쳤을 때 닉네임과 시간이 생략된 채 대화 내용만 출력되게 된다...이게 첫번째 변수
대화내용을 보면 알겠지만 질문과 답변으로 이뤄지는 답변속에 = 로 시작하는 문장들이 있어 ...이렇게 되었을 때 엑셀에서 수식인줄 알고 에러메세지를 발생시키는 것이 두번째 변수 였다
아오~~~~얄미워~~~
코드 진행은 이렇다.
1. 오픈챗 대화 소개글 다음부터 배열에 담아야 하기 때문에 그 구분을 짓기 위해 Bln 으로 참 / 거짓으로 구분
2. 정규식은 2개가 사용되었는데... 날짜를 분리해서 담을 정규식 / 요일, 닉네임, 시간, 대화 내용을 가져올 정규식
3. 요일,닉네임,시간,대화 정규식에서 대화 내용만 있는 것들이 있어서 이걸 임시배열에 적당히 담아줄 조건문이 필요
4. 코드 진행이 크게 정규식으로 한번 걸러지고 그 다음 대화를 임시배열에 담았다가 출력하는 구조이기에 맨마지막에 담긴 대화는 정규식이 대상이 더이상 없기에 그대로 배열에 담긴채 셀에 뿌려지지 못한다. 그래서 배열이 마지막일 경우 정규식을 통과했을 때 진행되는 코드를 한번더 진행시켜야 하기 때문에 배열이 마지막인지 물어봐야 한다
5. 이대로 출력을 하게되면 배열들이 중간중간 대화 내용이 없고 공백으로 된 배열들이 출력되기에 빈셀을 한꺼번에 잡아서 그부분을 처리해주고 각 열의 너비를 고정값을 주며 작업을 마무리해야 한다.
6. 이 과정이 대화 내용에 따라 시간이 소요될 수 있기에 왼쪽 하단에 프로그래스바를 추가하여 진행단계를 표시하게 하였다.
'VBA' 카테고리의 다른 글
[VBA] 나만의 영어사전을 만들어보자(feat. 네이버사전) (0) | 2022.01.28 |
---|---|
[VBA] 텍스트마이닝(ArrayList, Dictionary, Reg) (0) | 2022.01.18 |
[VBA] 오픈채팅방 내용을 해당날짜의 폴더에 저장하기 (0) | 2022.01.10 |
[VBA] 지난 3개월간 오픈챗팅에서 대화한 멤버들 확인하기 (2) | 2022.01.03 |
[VBA] 폴더속 파일 시트 일괄 변경하기(복수폴더) (0) | 2022.01.03 |
댓글