소개
안녕하세요?
일상의코딩 블로그를 운영중인 일코입니다.
업무자동화와 관련한 콘텐츠 제작 및 강의 등을 하고 있습니다.
강의
전체1수강평
- 항상 감사합니다!!
박민수
2024.05.23
1
- 좋은 내용과 훌륭한 강의에 감사드립니다.
김공이산
2024.03.07
1
- 짬을 내어 배울 수 있게 되어 있어 좋아요.
ILHWAN YOO
2024.01.26
1
게시글
질문&답변
2024.06.02
갑작스런 경로 문제로 질문드립니다..
맥북을 오래 쓰셨나봐요ㅎ 유저네임에 대시가 있어서 나는 오류로 보입니다. 사용자이름의 대시를 유닉스호환의 언더스코어 같은 걸로 바꾸시거나 하면 확실히 오류가 안 날 것 같습니다. (저는 배시나 콘다를 전혀 안 쓰고 있어서 답변을 드리기가 좀 그렇습니다^^;)
- 1
- 1
- 21
질문&답변
2024.05.30
개체 참조가 개체의 인스턴스로 설정되지 않았습니다.
안녕하세요? 이 오류 역시 코드 자체에는 문제가 없어 보입니다. (아마도요..) 지난 번 오류 때처럼 PC환경이나 한/글 설치 또는 버전 관련한 오류로 보입니다. 왜냐면 doc_1이나 doc_2를 열고닫는 과정에서 인스턴스가 닫히더라도 저런 오류팝업이 뜨지 않고 예를 들면 doc_2가 None이 되어서 코드에 오류가 발생했다는 파이썬 오류메시지가 뜨게 되거든요. 혹시 지금 사용하시는 한/글 버전이 어떻게 되나요?(두 개 이상 설치되어 있나요?) 우선 아래와 같이 조치해 보시기 바랍니다. pythonwin.exe를 실행합니다. 경로는 일반적으로 가상환경을 사용하는 경우에는 가상환경을 활성화하시고 venv/Lib/site-packages/pythonwin/pythonwin.exe 를 실행하시면 되고, 가상환경을 쓰지 않으신다면 (또는 가상환경이 뭔지 모르신다면) 파이썬 설치폴더/Lib/site-packages/pythonwin/pythonwin.exe 를 실행하시면 됩니다. 아래와 같은 창이 뜨면 상단 메뉴의 Tools - COM MakePy utility 를 선택합니다. (사진) HwpObject 1.0 Type Library(1.0) 을 찾아서 선택한 후, OK 버튼을 누릅니다. (사진) 파이썬 콘솔 또는 에디터를 재시작한 후 다시 코드를 실행해보세요. 그런 후에도 동일한 팝업이 뜬다면 코드를 명령하는 속도보다 한/글이 프로세스를 연산하는 과정이 더 길어서(혹은 PC 속도가 느려서) SetActive_XHwpDocument 명령어가 씹히고 의도하지 않았던 창이 닫혔다든지 하는 경우일 수도 있어요. 한/글의 특정 메서드들은 비동기로 연산되기 때문에 명령이 수행되고 있는 짧은 시간에 다른 명령이 들어오면 오류가 나는 경우들이 있거든요. 보통 그런 경우에는 적당히 오류가 발생하는 라인 앞에 time.sleep()을 추가하거나, 콜백처럼 완료확인 후 다음명령을 실행해야 하는 방법들이 있습니다. 번거로우시겠지만, 보여주신 오류팝업에 확인을 누른 후에 파이썬 콘솔에 출력되는 오류메시지 전체를 복사해서 댓글로 남겨주시겠어요? 지금은 재현하기가 어려워 설명이 장황한데, 심각하거나 엄청 어려운 문제는 아닙니다. 댓글 기다릴게요^^
- 1
- 1
- 53
질문&답변
2024.05.30
페이지 가로로 돌리기 매크로녹화 스크립트 미작동
병현님 안녕하세요? 코드에는 문제가 없어 보입니다. (제 PC에서도 아래와 같이 잘 실행됩니다.) (사진) (강의에서 설명드렸듯 pythonwin.exe를 통해서 MakePy를 실행하시는 방법도 있지만..) 조금 번거로우시더라도 아래와 같이 실행을 해보시겠어요? 우선 pyhwpx 모듈을 설치합니다. (venv) C:\Users\SAMSUN~1\> pip install pyhwpx 아래 코드를 대신 실행해봅니다. (처음 두 줄만 다릅니다.) from pyhwpx import Hwp hwp = Hwp(visible=True) doc_2 = hwp.XHwpDocuments.Add(False) # 새로운 hwp열고 할당 (False=새로운창 / True = 기존hwp의 탭으로) doc_2.SetActive_XHwpDocument() # 두 번째 문서 활성화 hwp.HAction.GetDefault("PageSetup", hwp.HParameterSet.HSecDef.HSet) hwp.HParameterSet.HSecDef.PageDef.Landscape = 1 hwp.HParameterSet.HSecDef.HSet.SetItem("ApplyClass", 24) hwp.HParameterSet.HSecDef.HSet.SetItem("ApplyTo", 3) hwp.HAction.Execute("PageSetup", hwp.HParameterSet.HSecDef.HSet) (사진) (아마 잘 실행되겠지만..) pyhwpx를 통해 실행해도 동일한 오류가 발생한다면 댓글을 달아주세요. 해결방법을 알려드리겠습니다. 감사합니다. 행복한 하루 되세요^^
- 1
- 1
- 31
질문&답변
2024.05.27
탭 선택 관련 문의 입니다.
탭이 n개 열려 있는 경우 hwp.XHwpDocuments.Item(n-1).SetActive_XHwpDocument() 메서드로 n번째 탭을 활성화하실 수 있습니다. (0부터 시작합니다.) 다만 유의하실 점은, ① 내부적으로 SetActive_XHwpDocument() 메서드는 새 창과 새 탭을 구분하지 않으므로 여러 개의 창이 열려 있는 경우에는 인덱스에 신경을 쓰셔야 합니다. (hwp.Path나 Name 등으로 재확인하시는 것을 추천드립니다.) ② 그리고 혹시라도 마우스나 키보드로 (수동으로) 특정 탭을 활성화하셨다면 SetActive~ 메서드와 상관없이 최근에 활성화했던 한/글 문서로 포커스가 옮겨갑니다. (사진) ③ SetActive_XHwpDocument 메서드 실행 시점에 포커스가 한/글로 옮겨갑니다. 만약 파이참이나 VSCode 등으로 실시간 코딩을 하고 계신다면, 포커스에 유의하시기 바랍니다. 이밖에도 몇 가지 버그가 있기는 하지만, TMI인 것 같아 여기서 줄입니다. 도움이 되었길 바랍니다^^
- 2
- 1
- 65
질문&답변
2024.05.27
가상환경에서 import error 질문드립니다.
안녕하세요? (현재 pyhwpx를 사용중이신 거죠?) 해당 메시지는 무시하셔도 됩니다. (사진) 그간 실행이 안 되는 분들의 문제를 모두 해결하기 위해 임포트 시점에 이것저것 내부적으로 다양하게 실행하게 코드를 짰는데, 그 프로세스 중 하나가 캐시와 충돌이 있어 저 메시지가 뜨는 것으로 추측해봅니다. 다만 실행에는 지장이 없으므로 무시하시고 코딩하셔도 됩니다^^ 혹시 아래아한글 실행이 되지 않거나 다른 문제가 있는 경우 댓글 달아주시면 같이 고민해보겠습니다. 감사합니다. 행복한 하루 되세요^^
- 1
- 1
- 38