메시지 박스 모드 설정 관련 & PDF로 저장

안녕하세요~ 일코님
무더위에 건강 잘 챙기시기 바랍니다.
메시지 박스 모드가 제가 볼떄는 Yes 아니면 No인 부분이라 생각해서
hwp.SetMessageBoxMode(0x10000)
요렇게 설정을 했는데요.
이렇게 설정했음에도 불구하고 왜 계속 메시지박스가 뜨는걸까요??
메시지박스 관련 코드는
MB_MASK 0x00FFFFFF
1. 확인만 : IDOK(1)
MB_OK_ODOK 0x00000001
MB_OK_MASK 0x0000000F
2. 확인/취소 (MB_OKCANCEL) : IDOK(1), IDCANCEL(2)
MB_OKCANCEL_IDOK 0x00000010
MB_OKCANCEL_IDCANCEL 0x00000020
MB_OKCANCEL_MASK 0x000000F0 # 적용시 hwp.SetMessageBoxMode(0xF0)
3. 종료/재시도/무시(MB_ABORTRETRYIGNORE) : IDABORT(3), IDRETRY(4), IDIGNORE(5)
MB_ABORTRETRYIGNORE_IDABORT 0x00000100
MB_ABORTRETRYIGNORE_IDRETRY 0x00000200
MB_ABORTRETRYIGNORE_IDIGNORE 0x00000400
MB_ABORTRETRYIGNORE_MASK 0x00000F00
4. 예/아니오/취소(MB_YESNOCANCEL) : IDYES(6), IDNO(7), IDCANCEL(2)
MB_YESNOCANCEL_IDYES 0x00001000
MB_YESNOCANCEL_IDNO 0x00002000
MB_YESNOCANCEL_IDCANCEL 0x00004000
MB_YESNOCANCEL_MASK 0x0000F000
5. 예/아니오(MB_YESNO) : IDYES(6), IDNO(7)
MB_YESNOCANCEL_IDYES 0x00010000
MB_YESNOCANCEL_IDNO 0x00020000
MB_YESNOCANCEL_MASK 0x000F0000
6. 재시도/취소(MB_RETRYCANCEL) : IDRETRY(4), IDCANCEL(2)
MB_RETRYCANCEL_IDRETRY 0x00100000
MB_RETRYCANCEL_IDCANCEL 0x00200000
MB_RETRYCANCEL_MASK 0x00F00000이렇게 정리해놨는데요.
저는 5번케이스라고 생각했는데 2번 케이스에 해당하는걸까요?
케이스를 구분하는건 어떤 기준인지 궁금합니다!
그리고 두번째로는,
hwp를 수정하고 저장한뒤, PDF로도 추가로 저장하고자 하여
아래와 같이 코드를 작성해 보았는데요.
# hwp 저장
hwp.save_as(save_path_문제지)
# pdf 로 저장하기 위해서 경로 할당
파일이름, _ = os.path.splitext(os.path.basename(save_path_문제지))
저장경로 = os.path.join(os.path.dirname(save_path_문제지), 파일이름 + ".pdf")
# pdf로 저장하기
hwp.SaveAs(Path=os.path.join(os.path.dirname(save_path_문제지), 파일이름 + ".pdf"), Format="PDF")
그런데 터미널에 아래와 같은 오류가 뜨네요...
TypeError: Hwp.SaveAs() got an unexpected keyword argument 'Path'
이전에는 잘작동했떤 코드같은데 왜 안되는 걸까요?
잘부탁드립니다!! 늘 감사합니다.!
답변 1
2
병현님 안녕하세요?
1. SetMessageBoxMode 오류
사실 저도 아직 케이스의 구분기준을 정확히 몰라서
특정 메시지박스를 자동클릭하고 싶을 때 항상 시행착오를 겪습니다.
눈에 보이는 팝업은 [확인/취소] 인데, 내부에서는 [예/아니오] 라든지..
그래서 제 루틴은 아래와 같습니다.
① 우선 자동클릭이 되는지 확인하기 위해 모든 옵션을 1로 바꿔본다.
hwp.SetMessageBoxMode(0x111111)② 만약 작동한다면, 아닌 것 같은 옵션부터 F로 바꿔본다.
hwp.SetMessageBoxMode(0x11F11F)
hwp.SetMessageBoxMode(0xF1F11F)
hwp.SetMessageBoxMode(0xF1FF1F)
hwp.SetMessageBoxMode(0xFFFF1F)③ 하나가 골라질 때까지 반복하다가, 찾아냈으면 그 코드를 쓴다.
hwp.SetMessageBoxMode(0x000010)
# 클릭이 필요한 동작 수행
hwp.SetMessageBoxMode(0x0000F0)
이런 식으로 작업해보시면 금방 찾으실 수 있을 겁니다.
(사실 시행착오 없이 0x111111로 전부 "예"를 클릭하게 하고, 0xFFFFFF로 다시 자동클릭을 꺼도 되겠습니다..)
2. SaveAs의 Path파라미터는 소문자, path입니다ㅜ
오토메이션API의 SaveAs의 파라미터는 Path인데,
pyhwpx.Hwp의 SaveAs 파라미터는 path입니다. (P가 소문자예요.)
해결방법은 Path=... 부분을 path=으로 바꾸시거나,
아예 파라미터명을 쓰지 않는 것입니다.
hwp.SaveAs(os.path.join(os.path.dirname(save_path_문제지), 파일이름 + ".pdf"), "PDF")마찬가지로 Format 파라미터도 format으로 바뀌어 있습니다.
당시에는 소문자 파라미터가 파이썬스럽다고 생각해서 바꾼 건데,
사용자 분들이 많이 어려워하시는 것 같습니다.
근데, 이 모듈로 솔루션을 구축하신 분들이 계셔서ㅜ
지금와선 바꾸기도 어렵고... 그런 상태입니다.
사용하시는 IDE에 따라, 괄호 안에서 Ctrl- P 나 Ctrl- Space 등을 눌러 자동완성해보시면
파라미터 목록이 보일 것입니다.

파이참 기준으로 순서대로
① 메서드 위에서 Ctrl-Q,
② 괄호 안에서 Ctrl-P,
③ 괄호 안에서 Ctrl-Space를 누른 상태입니다.
도움이 되었길 바랍니다^^;
행복한 하루 되세요!!!
2
아하~~ 너무나 명쾌합니다... 오래간 한 분야에 몰입하셔서 얻은 지식을 이렇게 쉽게 학습할수 있게 해주셔서 진심으로 감사합니다. 덕분에 저는 더 효율적으로 일하면서 일에서 행복을 찾고 있습니다. 일코님도 행복한 하루되세요.
섹션7과 같은 수학 수식을 백지에서 시작할 때 어떻게 만들 수 있을까요?
0
76
1
hwp 병렬 작업시 클립보드 충돌문제
0
59
1
본문을 각주로 내리는 법
1
93
1
한글 자동화 삽도 삽입!!
1
384
2
한글 표 내부 위치 찾는 코드좀 알려주세요 ㅠㅠ
1
233
2
빈 문서를 새로 열때는 팝업이 안나오는데 기존 문서를 열면 팝업이 나옵니다
1
118
2
사무실 컴퓨터ㅠ
0
96
2
글자입력 여러번 실행기
0
67
1
현재 커서 문단에 아무런 내용이 없는지 확인하기
1
102
1
특정 스타일을 찾아 이동하는 방법
1
162
2
한/글 파일 open 시 '상위 버전에서...' 메세지 안 뜨게 하는 방법?
1
1110
1
win32com 으로 hwp 문자열 검색하기 문의
1
222
2
[응용] 엑셀문서 값을 필드에 입력하기 질
1
123
1
표 병합하기 관련
0
140
0
메타태그 삽입 자동화
0
191
1
스크립트 매크로 초기화 하고 싶습니다.
1
270
2
한글 창이 여러 개 존재할 때 pyhwpx 모듈로 접근하는 방법을 알고 싶습니다.
1
271
1
표안의 특정 필드에 있는 이미지를 복사하여 한글 외부에 저장하기
1
274
2
스타일 싹 다 지우고 바탕글로 통일하는 방법 문의드립니다.
1
283
0
하위의 여러 폴더 중 특정폴더의 사진만 추출하기
1
345
2
한글 수식을 자동으로 넣는 코드를 만들었는데, 수식 사이의 간격이 계속 벌어집니다.
1
658
1
보유 특허 검색 페이지에서 검색이 되지 않습니다.
1
139
1
hwp 페이지별 분할 저장하는 코드 관련 문의
0
447
0
한글 문서에 사용된 폰트명 추출
1
647
1





