방명록
- [파이썬 신병 교육대] MDB로 부터 Packing List 자동출력 프로그램_2주차에 만난 황당한 AttributeError2021년 12월 21일 10시 12분 06초에 업로드 된 글입니다.작성자: DandyNow728x90반응형
"Packing List 자동 출력 프로그램"
을 만들고 있고,
이제 2주차가 되었다.
그런데 다음과 같은 에러로 상당히 애를 먹었다.
(mysite) C:\pyworkspace\packing>c:/venvs/mysite/Scripts/python.exe c:/pyworkspace/packing/packing.py count 75.0 sum 776.5 dtype: float64 Exception in Tkinter callback Traceback (most recent call last): File "C:\Users\user\AppData\Local\Programs\Python\Python39\lib\tkinter\__init__.py", line 1892, in __call__ return self.func(*args) File "c:\pyworkspace\packing\packing.py", line 158, in okClick pkPrint(lot,company) File "c:\pyworkspace\packing\packing.py", line 130, in pkPrint sheets = excel.Workbooks.Open(os.getcwd()+'/pk_print.xlsm') File "c:\venvs\mysite\lib\site-packages\win32com\client\dynamic.py", line 639, in __getattr__ raise AttributeError("%s.%s" % (self._username_, attr)) AttributeError: Excel.Application.Workbooks
"AttributeError: Excel.Application.Workbooks"
이 메시지로 보아하니 엑셀과 관련된 속성에러로 보이는데,
관련해서 특별히 변경한 코드도 없었다.
2주차에서 개선하고자 했던 항목은 다음과 같았는데,
1. 리스트 고객사 삭제 기능
2. 잘못된 로트 번호 입력시 처리
3. 경로 문제(현재는 C:\pyworkspace\packing\ 에서만 실행 가능)2번 항목을 개선하기 위해 코드를 수정하던 중이었다.
이 문제를 해결하기 위해
구글링도 하고,
소스코드를 처음부터 끝까지 다시 살펴보고,
1주차 이후에 수정된 코드를 수정전으로 되돌려 보기도 했다.
하지만 그 어떤 방법으로도 해결할 수 없었다.
문제의 실마리는 황당한 곳에 있었다.
그림과 같은 엑셀 창이 떠 있는 상태,
그로 인해 아래의 코드가 실행되지 못한 것이다.
excel.Quit()
정리하자면 이전에 실행된 엑셀이 완전히 종료되지 않은 상태에서
프로그램을 실행하다 보니 발생한 에러였다.
AttributeError 에 대한 예외처리를 3주차 개선 사항에 포함 시켜야 겠다!
728x90반응형'영광의 시대! > 2022 파이썬 신병 교육대 1기' 카테고리의 다른 글
[파이썬 신병 교육대] MDB로 부터 Packing List 자동출력 프로그램_4주차_병장_수료식_주특기 시범_최종코드 (0) 2022.01.04 [파이썬 신병 교육대] MDB로 부터 Packing List 자동출력 프로그램_3주차_상병 (0) 2021.12.27 [파이썬 신병 교육대] MDB로 부터 Packing List 자동출력 프로그램_2주차_일등병 (0) 2021.12.22 [파이썬 신병 교육대] MDB로 부터 Packing List 자동출력 프로그램_1주차_이등병 (0) 2021.12.17 다음글이 없습니다.이전글이 없습니다.댓글