인프런 커뮤니티 질문&답변
표 찾아가기 도와주세요...ㅠㅠ
해결된 질문
작성
·
285
1
파이썬 pyhwpx 이용해서 개인 매크로를 만들고 있는데 ..
막히는 부분이 있어 문의드립니다
원하는 기능은 문서 내 모든 표를 저장하고 하나씩 순회하면서 매크로를 적용시키려합니다..
근데 표 글자처럼 취급을 해제시키면
hwp.get_into_nth_table(Table_index)이 코드로는 그 인덱스번호 표의 첫번째 셀로 가지 않았습니다..
hwp.move_to_ctrl(Table_list[Table_index])
hwp.find_ctrl()
hwp.ShapeObjTableSelCell()아니면 이렇게 컨트롤을 넣어서 해도 안으로 안갔습니다..
hwp.select_ctrl(Table_list[Table_index])이 함수 사용하니까 선택은 되는데 셀 전체 선택이 또 안되더라구요.ㅠㅠ 그리구 표 하나씩 넘길때마다 조판부호 같은게 켯다꺼지네용;;
글자처럼 취급하지 않은 표를 조작할 방법 알려주시면 감사하겠습니다.
퀴즈
강사는 왜 수강생들에게 질문 게시판 활용을 강하게 권장할까요?
강의 내용이 부족해서 보충 설명이 필요해서
업무 자동화가 어렵고 실제 문제 해결에 멘토링이 필요해서
완강을 해야만 질문 권한이 주어지기 때문에
강의 판매를 위해 질문 수를 늘려야 해서
답변 3
1
1
hwp.select_ctrl(Table_list[Table_index])
후 표가 선택 된다음
hwp.TableCellBlock()
hwp.TableCellBlockExtend()
hwp.TableCellBlockExtend()이녀석이 안먹습니다..ㅠ
1
안녕하세요, 인프런 AI 인턴입니다. 이상민님.
파이썬 pyhwpx 모듈을 사용하여 문서 내의 모든 표를 저장하고 순회하면서 작업을 수행하고 싶으신 것 같습니다. 또한, “글자처럼 취급”을 해제한 표에 대한 조작을 어떻게 해야 할지 막막해하시는 듯합니다. 이에 대한 해결책을 제공할 수 있는 몇 가지 방법과 참고할 수 있는 자료를 제공해 드리겠습니다.
우선, 관련 질문에 대한 기존의 자세한 답변들을 참고하시기 바랍니다:
표 내부 진입이 안되는 경우: 이 답변에서는 읽기 전용 속성을 해제하고
Execute메서드를 사용하여 문제가 해결되는 방법을 설명합니다.hwp.FindCtrl() 에서 표를 한번에 선택하지 못 하는 문제: 이 답변에서는
SelectCtrlFront와SelectCtrlReverse를 사용하여 문제를 해결하는 방법을 제시합니다.
다양한 방법으로 “글자처럼 취급”이 해제된 표를 조작할 수 있으니 다음 방법들을 참고해 보세요:
해결 방법 요약:
- 커서를 표 근처로 이동시키기:
MovePos(2)를 사용하여 문서의 시작으로 이동 후,FindCtrl을 통해 표 근처로 커서를 위치시킬 수 있습니다.
hwp.MovePos(2) # 문서 시작으로 이동
hwp.FindCtrl() # 컨트롤을 찾아 커서 이동
- 표 선택을 위해
SelectCtrlFront사용: 이 방법은 표가 아닌 다른 컨트롤이 근처에 있는 경우에도 명확히 표를 선택하는 데 도움을 줍니다.
hwp.HAction.Run("SelectCtrlFront")
- pyhwpx 모듈을 통한 표 선택:
pyhwpx를 사용하면 표의 첫 번째 셀로 더욱 쉽게 접근할 수 있는 방법도 있습니다.
hwp.get_into_nth_table(target_index)
hwp.SelectCtrlFront()
강력한 기능들은 모두 하이퍼텍스트 설명(HTP)과 연관이 있으므로, 각 메서드에 대한 이해를 높이기 위해 모듈의 문서화를 참고하면 좋습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.






상민님, 안녕하세요?
1. hwp.select_ctrl() 이후 셀 선택방법
hwp.select_ctrl(Table_list[Table_index])코드로 표를 선택했을 때에는표 전체가 선택된, 아래와 같은 상태가 됩니다.
이 상태에서는 셀 선택 명령어들이 작동하지 않습니다.
hwp.ShapeObjTextBoxEdit()코드로 A1 셀에 진입하신 후에야 셀선택 코드가 작동합니다.이렇게 A1 셀에 진입하고 나면
위 코드가 작동하게 됩니다. 아래는 시연화면입니다.
2. hwp.get_into_nth_table(idx)
hwp.get_into_nth_table(idx)메서드는글자처럼 취급이 되었든 안 되었든 해당 인덱스의 표 A1 셀로 진입해야 정상입니다ㅜ
만약 표 진입은 되는데, 엉뚱한 순서의 표로 들어가는 경우가 있기는 합니다.
글자처럼 취급이 꺼진 상태이면서, 조판부호와 표 위치가 다른 경우입니다.
(눈에 보이는 표 위치가 아니라 조판부호의 위치를 기준으로 인덱스가 매겨집니다.)
3. hwp.move_to_ctrl(idx)
질문 본문 두 번째에 보여주신
hwp.move_to_ctrl()메서드도, 아래처럼 작동해야 합니다.제 데스크탑이나 노트북에서는 정상(?) 작동하는 듯 한데ㅜㅜㅜ
혹시 pyhwpx 모듈 업데이트가 안 되어 있는지도 모르겠습니다..(현재 0.41.2입니다.)
만약 hwp파일이 문제라면,
새 문서에서 표를 몇 개만 만들어놓은 상태에서
테스트 한 번 부탁드립니다. (위의 움짤들처럼 작동해야 합니다.)
새 문서에서는 작동하는데, 특정 문서에서만 실행이 되지 않는다면
해당 문서를 martinii.fun@지메일로 공유해주시면
원인이나 해결방법을 찾아드리도록 하겠습니다.
감사합니다.