inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

페이지 가로로 돌리기 매크로녹화 스크립트 미작동

해결된 질문

264

윤병현

작성한 질문수 20

1

문서 두개를 띄워서 작업을 하려고 하는데요.

 

먼저 한글시작을 하구

hwp = 한글시작(True)

def 한글시작(TF):
    hwp = win32.gencache.EnsureDispatch("hwpframe.hwpobject")
    hwp.XHwpWindows.Item(0).Visible = TF
    hwp.RegisterModule("FilePathCheckDLL", "FilePathCheckerModule")
    return hwp

 

그다음 아래와같이 코드를 작성했는데요.

 

    hwp = 한글시작(True)
    doc_2 = hwp.XHwpDocuments.Add(False) # 새로운 hwp열고 할당 (False=새로운창 / True = 기존hwp의 탭으로)
    doc_2.SetActive_XHwpDocument()  # 두 번째 문서 활성화
    hwp.HAction.GetDefault("PageSetup", hwp.HParameterSet.HSecDef.HSet)
    hwp.HParameterSet.HSecDef.PageDef.Landscape = 1
    hwp.HParameterSet.HSecDef.HSet.SetItem("ApplyClass", 24)
    hwp.HParameterSet.HSecDef.HSet.SetItem("ApplyTo", 3)
    hwp.HAction.Execute("PageSetup", hwp.HParameterSet.HSecDef.HSet)

XHwpDocumnets.Add 를 통해서 새로운 hwp를 열었고, 활성화도 했습니다.

그이후에 한글을 직접 작동하여, 페이지를 가로로 돌리는것(편집용지->가로)을 매크로 녹화했는데요

아래 부분을 입력하고 실행했을 때,

 

 

hwp.HAction.GetDefault("PageSetup", hwp.HParameterSet.HSecDef.HSet)

 

FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\SAMSUN~1\\AppData\\Local\\Temp\\gen_py\\3.12\\7D2B6F3C-1D95-4E0C-BF5A-5EE564186FBCx0x1x0\\HSecDef.py.18740.temp'

 

이런 오류 메시지가 터미널에 뜨게됩니다.

반면에,

 

hwp.HAction.Run("MoveParaEnd")등을 실행했을 떄는 모두 정상적으로 작동합니다.

 

왜 한글매크로를 녹화한것이 제대로 작동하지 않는걸까요?

 

잘 알려주셔서 정말 감사합니다

 

python 한컴오피스

답변 1

1

일코

병현님 안녕하세요?

코드에는 문제가 없어 보입니다.

(제 PC에서도 아래와 같이 잘 실행됩니다.)

image

(강의에서 설명드렸듯 pythonwin.exe를 통해서 MakePy를 실행하시는 방법도 있지만..)

조금 번거로우시더라도

아래와 같이 실행을 해보시겠어요?

  1. 우선 pyhwpx 모듈을 설치합니다.

(venv) C:\Users\SAMSUN~1\> pip install pyhwpx
  1. 아래 코드를 대신 실행해봅니다. (처음 두 줄만 다릅니다.)

from pyhwpx import Hwp

hwp = Hwp(visible=True)

doc_2 = hwp.XHwpDocuments.Add(False) # 새로운 hwp열고 할당 (False=새로운창 / True = 기존hwp의 탭으로)
doc_2.SetActive_XHwpDocument()  # 두 번째 문서 활성화
hwp.HAction.GetDefault("PageSetup", hwp.HParameterSet.HSecDef.HSet)
hwp.HParameterSet.HSecDef.PageDef.Landscape = 1
hwp.HParameterSet.HSecDef.HSet.SetItem("ApplyClass", 24)
hwp.HParameterSet.HSecDef.HSet.SetItem("ApplyTo", 3)
hwp.HAction.Execute("PageSetup", hwp.HParameterSet.HSecDef.HSet)

image

(아마 잘 실행되겠지만..)

pyhwpx를 통해 실행해도 동일한 오류가 발생한다면

댓글을 달아주세요. 해결방법을 알려드리겠습니다.

 

감사합니다.

행복한 하루 되세요^^

 

섹션7과 같은 수학 수식을 백지에서 시작할 때 어떻게 만들 수 있을까요?

0

76

1

hwp 병렬 작업시 클립보드 충돌문제

0

58

1

본문을 각주로 내리는 법

1

93

1

한글 자동화 삽도 삽입!!

1

384

2

한글 표 내부 위치 찾는 코드좀 알려주세요 ㅠㅠ

1

232

2

빈 문서를 새로 열때는 팝업이 안나오는데 기존 문서를 열면 팝업이 나옵니다

1

117

2

사무실 컴퓨터ㅠ

0

96

2

글자입력 여러번 실행기

0

67

1

현재 커서 문단에 아무런 내용이 없는지 확인하기

1

102

1

특정 스타일을 찾아 이동하는 방법

1

161

2

한/글 파일 open 시 '상위 버전에서...' 메세지 안 뜨게 하는 방법?

1

1108

1

win32com 으로 hwp 문자열 검색하기 문의

1

222

2

[응용] 엑셀문서 값을 필드에 입력하기 질

1

122

1

표 병합하기 관련

0

140

0

메타태그 삽입 자동화

0

191

1

스크립트 매크로 초기화 하고 싶습니다.

1

270

2

한글 창이 여러 개 존재할 때 pyhwpx 모듈로 접근하는 방법을 알고 싶습니다.

1

271

1

표안의 특정 필드에 있는 이미지를 복사하여 한글 외부에 저장하기

1

273

2

스타일 싹 다 지우고 바탕글로 통일하는 방법 문의드립니다.

1

283

0

하위의 여러 폴더 중 특정폴더의 사진만 추출하기

1

345

2

한글 수식을 자동으로 넣는 코드를 만들었는데, 수식 사이의 간격이 계속 벌어집니다.

1

653

1

보유 특허 검색 페이지에서 검색이 되지 않습니다.

1

137

1

hwp 페이지별 분할 저장하는 코드 관련 문의

0

446

0

한글 문서에 사용된 폰트명 추출

1

644

1