• 카테고리

    질문 & 답변
  • 세부 분야

    업무 자동화

  • 해결 여부

    해결됨

-2147023174, 'RPC 서버를 사용할 수 없습니다.'

23.03.17 11:19 작성 조회수 1.28k

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

sunstephan님의 프로필

sunstephan

질문자

2023.03.17

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
sunstephan님의 프로필

sunstephan

질문자

2023.03.17

이런식으로 작성하니까 매번 한글파일이 새로 실행되서 찾을 수가 없어요

임포트문 아래의 세 줄은
실행할 때마다 매번 새로운 한/글 프로그램이 열려버립니다.
(오류메시지를 읽어보니까 쥬피터 노트북을 사용하고 계신 것 같은데요.)

① 한/글 프로그램을 실행하는 아래 세 줄의 라인은

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 명령어를 실행하려는 경우 뜨는 메시지입니다.
혹시 실행하신 코드 전체를 보여줄 수 있으신가요?^^