아래한글 초기화 방법을 문의드립니다.

안녕하십니까!

  1. HWP 파일을 열고,
hwp.Open(경로)
  1. 열어 놓은 HWP에 대해 일련의 자동화 작업을 시행한 뒤

  2. HWP 파일을 일반 형식과 PDF 형식으로 저장하고

hwp.SaveAs(client_complete_pdf_file_path)
hwp.SaveAs(client_complete_pdf_file_path, "PDF")

  1. HWP 파일을 닫습니다.
hwp.Quit() 

이런 1번부터 4번까지의 과정을 1개의 메소드로 정의한 뒤,
메소드를 2번 연속 호출하고 있습니다.

그런데, 첫번째 호출할 때는 1~4번까지의 과정이 정상적으로 이뤄지는데,

두번째 호출 할 때는 1번 단계에서 자꾸 아래의 에러가 표시됩니다.

|2024-03-26 22:06:34|INFO| Traceback (most recent call last):
  File "d:\dev_Python\Auto\macroDuty_Management_Document_Creater.py", line 270, in fieldInvestigationTableCreater
    hwp.Open(client_hwp_file_path)
  File "C:\Users\u\anaconda3\lib\site-packages\win32com\gen_py\7D2B6F3C-1D95-4E0C-BF5A-5EE564186FBCx0x1x0\IHwpObject.py", line 570, in Open
    return self._oleobj_.InvokeTypes(10000, LCID, 1, (11, 0), ((8, 1), (12, 1), (12, 1)),filename
pywintypes.com_error: (-2147023174, 'RPC 서버를 사용할 수 없습니다.', None, None)

이 문제를 해결할 수 없어 지금 3시간째 해메고 있습니다.

파일 경로는 다양한 방법으로 정상임을 확인 했습니다.

그래서 제가 예상하기로는 메소드를 두번째 호출할 때, open에서 에러가 표시되니까
'초기화’하거나 ‘닫는’ 행위가 부족해서 이런 에러가 표시되는 것 같다라고 예상하고 있어서

가능한 모든 초기화 방법을 알아낸 뒤 시도해보고자 합니다.

부탁드립니다.

(한글 버전은 2024입니다)

1개의 좋아요

hwp.quit()을 하면 한글 인스턴스가 종료되니 다시 인스턴스를 만들어야 합니다.

hwp.quit() 대신에 hwp.clear(2 또는 3)를 사용해 보세요
모든 작업이 끝난 후 hwp.quit()로 한글을 종료하시면 될것같습니다.

3개의 좋아요

답변 감사합니다!
hwp.Clear(2)로 해결 되었습니다!

원래 코드에서는
hwp.quit()한 뒤에
다시 hwp.open()을 호출하니까 저는 당연히
인스턴스가 재시작 되는 건 줄 알고 저 부분은 아예 신경 안 쓰고 있었는데
아니었군요! 정말 고맙습니다!