인프런 커뮤니티 질문&답변

YongJun(Passion)님의 프로필 이미지
YongJun(Passion)

작성한 질문수

직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피

API 버그를 활용한 서체 일괄체크 및 변경

hwp.("Copy") 후 hwp.Clear()문제 발생

해결된 질문

작성

·

366

1

코드에서 막힐 이유가 전혀 없었는데

hwp.Run("Copy") 이후

hwp.Clear()라는 명령을 하면 듣기는 하지만(문서가 종료가 되지만) 이후 hwp에 대한 오류가 발생 -> 그 이후 코드에서 hwp ctrl의 권한이 풀려

Quit과 같은 명령을 할 수 없어 코드를 실행할 수 없는 문제가 있었습니다.

저는 그래서 hwp.Run("FileClose")라는 명령을 찾아서 해결을 하였는데 혹시 다른 버전들에서도 같은 문제가 나오는 것이라면

다른 분들도 위와 같은 경우에 한번 시도해보셨으면 해서 글 남겨봤습니다.

 

  • 추가적으로 혹시 이 같은 경우 더 좋은 방법이 있는지 질문드립니다.


오류 리턴 내용입니다

Traceback (most recent call last) Cell In[23], line 7

5 hwp1.MoveToField(new_lists_dict[Kor_key_value][k], select=True)

6 hwp1.Run("Copy")

----> 7 hwp1.Clear()

9 # hwp1.Run("FileClose")

10 # hwp1.Quit()

 

File C:\Users\FLIPWO~1\AppData\Local\Temp\gen_py\3.11\7D2B6F3C-1D95-4E0C-BF5A-5EE564186FBCx0x1x0\IHwpObject.py:83, in IHwpObject.Clear(self, option)

81 def Clear(self, option=defaultNamedNotOptArg):

82 'method Clear'

---> 83 return self._oleobj_.InvokeTypes(10035, LCID, 1, (24, 0), ((12, 1),),option

84 )

 

com_error: (-2147417851, '서버에서 예외 오류가 발생했습니다.', None, None)

답변 1

1

일코님의 프로필 이미지
일코
지식공유자

Jun님 안녕하세요?

예전에 저도 분명 그 오류를 경험했던 것 같은데
재현해보려고 하니까 지금은 오류가 안 나네요..ㅜ

 

hwp.Run("FileClose") 액션은 아쉽게도 문서변경시에 팝업이 뜨는 관계로
① hwp.SetMessageBoxMode() 로 팝업을 처리해야 하거나,
hwp.Save()로 저장을 해야 하는 등 다소 번거로울 수 있습니다.

 

대신 아래 방법들을 활용해 보시기 바랍니다.

hwp.Clear(option=True)  # 명시적으로 변경내용을 버리겠다고 option파라미터에 True 지정
hwp1.XHwpDocuments.Item(0).Clear(option=True)  # 위와 동일

 

그래도 동일한 오류가 발생한다면,
다시 한 번 알려주시면 이어서 고민을 해 보겠습니다.
(분명 저도 겪었던 증상이라서 어디 적어놓았는데.. 찾질 못하겠네요ㅜ)

YongJun(Passion)님의 프로필 이미지
YongJun(Passion)

작성한 질문수

질문하기