해결된 질문
작성
·
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)
----> 7 hwp1.Clear()
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) # 위와 동일
그래도 동일한 오류가 발생한다면,
다시 한 번 알려주시면 이어서 고민을 해 보겠습니다.
(분명 저도 겪었던 증상이라서 어디 적어놓았는데.. 찾질 못하겠네요ㅜ)