취미코딩

회사 보안 엑셀 자동화 후기

upstonekr 2022. 5. 6. 22:40
반응형

파이썬으로 맨날 하는 손목 아픈 업무 시작 루틴을 자동화 좀 해보고 싶었다.

뭐 유튭에서 잘도 설명해 주고 다들 따라만라면 네이버에 좋은 정보들이 내 사이트, 내 엑셀에 뙇~
보기 좋게 잘 저장될 수 있을 것 같았다.

하지만, 나에게 필요한 건 내가 맨날맨날 손목 아프게 반복하는 그런 일들을 일단 먼저 줄이는 것이 제일 중요했다.

그래 파이썬 자동화 이거 어렵지 않겠는데.
회사에서 파이썬을 깔았다. 내가 다니는 회사는 이것저것 막혀있는데, 파이썬은 문제없이 깔리는 것이다.
휴~

그러나 엑셀을 수정하려니 이것저것 좀 복잡하다...
셀 고정을 취소하고 항목 병합되어있는 것을 풀고 불필요한 항목을 지우고
이런 걸 파이썬 명령을 다 찾아서 하나하나 세팅한다는 것 좀 용도 결정을 잘못한 거 아닐까도 생각했지만, 나는 뭐 코딩을 취미로 하는 사나이라 한번 해봤는데...
복붙하는 내 코딩 실력으로는 그냥 손목에 파스를 사서 붙이는 것이 더 좋을 것 같았다.
역시나 그러면 안 되는 것이었다.

참 제일 문제 되는 부분은 파이썬이 파일을 읽어오지 못하는 것이다. 에러를 뿜는데.. 뭐 알고 싶지도 않다. ㅋㅋ
파이썬으로 엑셀 파일을 직접 수정하는것(openpyxl)이 아닌 엑셀을 실행시켜서 그 엑셀을 실행한 주체를, 아바타를 움직이는 것(xlwings)이다.
회사에 보안설정이 되어 있는 엑셀은 이 방법밖에 없는 것 같다.


자 그래서 어떻게 했나.... 엑셀에서 그냥 메크로라는 것을 이용해서 처리해 보기로 했다.

엑셀에서 메크로 시작 버튼 클릭과 함께 나는 마우스를 최대한 확실하게 움직였다. ㅋㅋ
역시나 단순한 작업 2,3가지를 해보고 실행해 봤는데, 잘되긴 하는데 아무리 생각을 해도 이 많은 작업들을 메크로로 시도하는 것이 내가 잘하는 것일까 의문이 들었다.
메크로는 마우스 관련된 내용을 저장할 때 마우스 좌표를 저장하는 것인가 셀에 좌표를 저장하면서 기록하는 것인가?

그냥 포기하기로 했다. 이걸 하느니 그냥 출근해서 손목이 아픈 루틴을 하든 그냥 확인할걸 안 하든 에라 모르겠다. 였는데.
역시나 내 머리는 내가 컨트롤이 잘 안 된다.
학교 다닐 때 그렇게 공부를 하고 싶었는데 공부가 잘 안 됐는데
지금은 그냥 신경을 쓰기 싫은데 나도 모르게 내 머리는 계속 고민을 하고, 여러 가지 경우의 수를 대입하고 문제점을 되새김질하고 있는 것이다.

다음날, 내 머릿속에 결론은 키보드만으로 메크로를 작성해 보는 것이었다.
마우스가 좌표를 이용하는지 마우스가 선택한 셀 좌표를 이용하는지 모르겠지만, 키보드는 확실했다.
키보드 단축키도 어느 정도 익혔으니,

메크로 시작.... 셀 고정 취소를 위한 ALT이 키 누르면 상단에 메뉴를 고를 수 있다. 쉽다.
지금은 집이라 맥북에 엑셀이 없어 확인이 안 되네..
메크로 저장 시 모든 작업을 키보드로 다 하고 저장을 했다.

A엑셀 파일을 저장하고 메크로 파일을 만들었으니
B엑셀 파일을 열어서 만들어둔 엑셀 파일을 불러와서 메크로 실행을 해야 되는데...... 이런
새로운 B엑셀 파일에는 메크로란에 메크로 파일이 없는 것이다. 새 파일 만들기도 없다. 참..
그러서 내가 하는 방법은

  1. A엑셀 파일에 메크로를 키보드로만 입력해서 저장한다.
  2. 새로운 B엑셀 파일을 연다.
  3. 메크로 녹화 후 바로 정지
  4. 메크로 파일을 보면 파일이 있다. 그 파일 열어보자.
  5. A엑셀 파일에 만들어둔 엑셀 파일을 편집해서 전체 복사해 둔다.
  6. A엑셀 파일 메크로 내용 B에 복붙 후 실행

잘 된다. 이것으로 매일매일 반복되는 내 시간과 손목 통증을 줄일 수 있었다.
왜 메크로 파일을 이렇게 생성해야 되는 것인가? 마소에서 참 엑셀을 잘 만들었는데 이 부분이 참 의문이다.

반응형

쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.