inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

12강 한글복사

해결된 질문

1019

teacher hosan

작성한 질문수 5

1

hwp.Run("CopyPage")

row = 2

while True:

if not ws.Cells(row, 1).Value:

hwp.Run("DeletePage")

break

else:

data = list(

ws.Range(ws.Cells(row,1),

ws.Cells(row, 4)).Value[0]

)

data[2] = data[2].strftime("%Y년 %#m월 %#d일")

필드삽입(row-2, data)

hwp.Run("PastePage")

row += 1

 

전체 카피가 되지 않고 하나의 파일만 복사되어 엑셀첫번째 열 파일만 생성됩니다.

python 한컴오피스

답변 3

1

teacher hosan

네. 이제 실행됩니다. 감사합니다~

0

일코

잘 된다니 다행이네요^^

직접 호산님의 업무에 활용하실 때
문법이나 명령어 종류 때문에 막히실 때
언제든 질문 남겨주세요.

구현에 도움 드리겠습니다.

행복한 하루 되세요^^

1

teacher hosan

2010입니다

1

일코

2014 이하 버전에서는 아쉽게도 CopyPage나 PastePage 명령어가 존재하지 않습니다.

다소 번거롭지만 아래 코드를 복붙하여 다시 테스트해봐주시기 바랍니다ㅎ

설명은 간단히 주석으로 붙여놓았습니다^^

# 모듈 임포트
import win32com.client as win32

FILENAME = r"C:\Users\Administrator\Desktop\누름틀필드.hwp"

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


def 엑셀시작():
    excel = win32.gencache.EnsureDispatch("Excel.Application")
    excel.Visible = True
    wb = excel.Workbooks.Open(r"C:\Users\Administrator\Desktop\취미.xlsx")
    ws = wb.Worksheets(1)
    return excel, wb, ws


def 필드삽입(index, value):
    """
    필드삽입 함수 정의
    """
    field_list = ["이름", "성별", "생일", "취미"]
    for idx, field in enumerate(field_list):
        hwp.PutFieldText(f"{field}{{{{{index}}}}}", value[idx])


def 쪽붙이기(file):
    """
    PastePage 액션 대신 정의한 함수(한/글 2014 이하 버전용)
    """
    hwp.HAction.GetDefault("InsertFile", hwp.HParameterSet.HInsertFile.HSet)
    hwp.HParameterSet.HInsertFile.filename = file
    hwp.HAction.Execute("InsertFile", hwp.HParameterSet.HInsertFile.HSet)


if __name__ == '__main__':
    hwp = 한글시작()
    excel, wb, ws = 엑셀시작()
    
    # 엑셀에서 데이터 가져오기
    data = [list(i) for i in ws.UsedRange()[1:]]  # 제목 행은 제외
    
    # 누름틀페이지 복사하기
    for i in range(len(data)):
        쪽붙이기(FILENAME)  # 페이지 끼워넣기
        hwp.HAction.Run("BreakPage")  # 쪽 나누기
        hwp.HAction.Run("MoveDocBegin")  # 문서 처음으로 이동
    hwp.Run("Delete")  # 빈 페이지 삭제
    hwp.Run("Delete")  # 빈 줄바꿈 삭제
    
    for idx, row in enumerate(data):  # enumerate함수는 for문 안에서 data의 인덱스와 요소를 동시에 가져올 수 있음
        row[2] = row[2].strftime("%Y년 %#m월 %#d일")  # 먼저 날짜 형식을 "1964년 2월 2일" 방식으로 변환
        필드삽입(idx, row)  # idx번째 페이지 누름틀에 row의 데이터를 삽입

image

1

일코

혹시 어떤 버전의 아래아한글을 사용하고 계세요?^^

섹션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

270

1

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

1

273

2

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

1

282

0

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

1

345

2

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

1

653

1

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

1

137

1

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

0

446

0

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

1

644

1