인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

YJ KIM님의 프로필 이미지
YJ KIM

작성한 질문수

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

파이썬으로 한/글 프로그램을 열기

hwp = win32......부터 에러가 발생합니다 ㅠㅠ

해결된 질문

작성

·

737

1

이것저것 다양하게 자동화코드 짜보시다가

막히면 언제든 무엇이든 질문 던져주세요.

업무자동화 코딩은 과학이나 알고리즘과는 조금 달라서

고민만으로 풀리지 않는 경우가 대부분입니다.

저도 최대한 빠르게 회신 드리겠습니다


>>> import win32com.client as win32

>>> hwp = win32.gencache.EnsureDispatch("hwpframe.hwpobject")

 

Traceback (most recent call last):

File "C:\Users\kyj\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\win32com\client\dynamic.py", line 84, in _GetGoodDispatch

IDispatch = pythoncom.connect(IDispatch)

pywintypes.com_error: (-2147221005, '잘못된 클래스 문자열입니다.', None, None)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

File "<pyshell#2>", line 1, in <module>

hwp = win32.gencache.EnsureDispatch("hwpframe.hwpobject")

File "C:\Users\kyj\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\win32com\client\gencache.py", line 621, in EnsureDispatch

disp = win32com.client.Dispatch(prog_id)

File "C:\Users\kyj\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\win32com\client\__init__.py", line 118, in Dispatch

dispatch, userName = dynamic._GetGoodDispatchAndUserName(dispatch, userName, clsctx)

File "C:\Users\kyj\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\win32com\client\dynamic.py", line 104, in _GetGoodDispatchAndUserName

return (_GetGoodDispatch(IDispatch, clsctx), userName)

File "C:\Users\kyj\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\win32com\client\dynamic.py", line 86, in _GetGoodDispatch

IDispatch = pythoncom.CoCreateInstance(

pywintypes.com_error: (-2147221005, '잘못된 클래스 문자열입니다.', None, None)

 

답변 1

1

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

YJ KIM님 안녕하세요?^^


설치된 PC에 아래아한글 오토메이션이 등록되어 있지 않은 상태인 것 같습니다.
(보통은 자동 등록되는데.. 흔하지는 않은 경우예요...ㅜ)

우선,

① 한글에 관리자 권한으로 cmd 창에서 한글경로\hwp.exe -regserver 를 실행해주세요.
오토메이션 등록하는 명령어입니다.
예를 들어 아래와 같이 입력하시면 됩니다. (제 경우)

"C:\Program Files (x86)\Hnc\Office 2022\HOffice120\Bin\Hwp.exe" -regserver

위와 같이 아래아한글을 실행한 후 닫고,
파이썬 코드를 재실행해보시기 바랍니다.

② 위의 오토메이션 등록으로 해결되지 않는 경우,
"한컴 기본 설정"을 통하여 초기화 해주시거나 아래아한글을 재설치해보셔야 할 것 같습니다...ㅜ

잘 해결되었으면 좋겠네요!!

YJ KIM님의 프로필 이미지
YJ KIM
질문자

감사합니다. 해결되었습니다.

YJ KIM님의 프로필 이미지
YJ KIM

작성한 질문수

질문하기