해결된 질문
작성
·
1.8K
2
-2147023174, 'RPC 서버를 사용할 수 없습니다.'
이렇게 뜨는데 뭐가 문제인 거죠?
한글파일을 실행하고 해도 계속 오류가 뜹니다.
--------------------------------------------------------------------------- com_error Traceback (most recent call last) d:\SHW\PROGRAM\PYTHON\hwp\data\practice.ipynb 셀 6 in <cell line: 1>() ----> 1 summ_info = hwp.XHwpDocuments.Item(0).XHwpSummaryInfo 3 summ_info.Title File c:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\win32com\client\__init__.py:583, in DispatchBaseClass.__getattr__(self, attr) 579 if args is None: 580 raise AttributeError( 581 "'%s' object has no attribute '%s'" % (repr(self), attr) 582 ) --> 583 return self._ApplyTypes_(*args) File c:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\win32com\client\__init__.py:572, in DispatchBaseClass._ApplyTypes_(self, dispid, wFlags, retType, argTypes, user, resultCLSID, args) 570 def ApplyTypes(self, dispid, wFlags, retType, argTypes, user, resultCLSID, args): 571 return self._get_good_object_( --> 572 self._oleobj_.InvokeTypes(dispid, 0, wFlags, retType, argTypes, *args), 573 user, 574 resultCLSID, 575 ) com_error: (-2147023174, 'RPC 서버를 사용할 수 없습니다.', None, None)
답변 2
1
import os
import shutil
import win32com.client as win32
hwp = win32.gencache.EnsureDispatch("hwpframe.hwpobject")
hwp.RegisterModule("FilePathCheckDLL","FilePathCheckerModule")
hwp.XHwpWindows.Item(0).Visible = True
summ_info = hwp.XHwpDocuments.Item(0).XHwpSummaryInfo
summ_info.Title
임포트문 아래의 세 줄은
실행할 때마다 매번 새로운 한/글 프로그램이 열려버립니다.
(오류메시지를 읽어보니까 쥬피터 노트북을 사용하고 계신 것 같은데요.)
① 한/글 프로그램을 실행하는 아래 세 줄의 라인은
hwp = win32.gencache.EnsureDispatch("hwpframe.hwpobject")
hwp.RegisterModule("FilePathCheckDLL","FilePathCheckerModule")
hwp.XHwpWindows.Item(0).Visible = True
딱 한 번만 실행하시고,
summ_info = ~
으로 시작하는 라인부터는
별도의 셀에 입력하셔서 반복실행하시는 방법이 있고요.
② 셀 모양은 그대로 두고 맨 마지막에만 hwp.Quit()
라인을 추가해 두시면
실행됐던 한/글 프로그램이 자동으로 종료됩니다.
hwp.Quit()
명령어는 한/글 프로세스를 종료하는 명령어입니다.
연습삼아 위 코드를 실행해보시는 경우라면
①, ② 어떤 방법으로든 실행하셔도 무관하지만
예를 들어 여러 한/글 파일의 타이틀을 조회하셔야 하거나 수정하는 프로그램을 만드신다면
파이썬 프로그램이 종료될 때 한/글 프로세스도 같이 닫히도록
꼭 코드 끝에 hwp.Quit() 을 추가해 두실 것을 추천드립니다.
0
-2147023174, 'RPC 서버를 사용할 수 없습니다.' 라는 오류는,
파이썬으로 열었던 아래아한글 프로그램이 임의로 종료된 후에
API 명령어를 실행하려는 경우 뜨는 메시지입니다.
혹시 실행하신 코드 전체를 보여줄 수 있으신가요?^^
이런식으로 작성하니까 매번 한글파일이 새로 실행되서 찾을 수가 없어요