해결된 질문
작성
·
583
답변 1
1
pyhwpx 모듈을 사용하신다면, (pip으로 설치가능)
아래와 같은 코드로 특정 이름의 필드를 제거할 수 있습니다.
from pyhwpx import Hwp
hwp = Hwp()
hwp.open("./doc.hwp")
hwp.delete_field_by_name("name") # "name"이라는 이름의 누름틀 모두 제거(텍스트 남김)
기존의 win32com 방식으로 제거하시는 방법은,
대략 아래와 같은 함수로 짤 수 있습니다.
import win32com.client as win32
hwp = win32.gencache.EnsureDispatch("hwpframe.hwpobject")
def delete_field_by_name(field_name):
start_pos = hwp.get_pos()
ctrl = hwp.HeadCtrl
while ctrl:
if ctrl.CtrlID == "%clk":
hwp.SetPosBySet(ctrl.GetAnchorPos(1))
if hwp.GetCurFieldName() == field_name:
hwp.DeleteCtrl(ctrl)
ctrl = ctrl.Next
hwp.SetPos(*start_pos)
도움이 되었길 바랍니다^^