import shutil # 파일복사용 모듈
import win32com.client as win32 # 한/글 열기 위한 모듈
import pandas as pd # 그 유명한 판다스. 엑셀파일을 다루기 위함
# import win32gui # 한/글 창을 백그라운드로 숨기기 위한 모듈
excel = pd.read_excel(r"C:\Users\Administrator\Desktop\python\수상자명단.xlsx") # 엑셀로 데이터프레임 생성
hwp = win32.gencache.EnsureDispatch("HWPFrame.HwpObject") # 한/글 열기
shutil.copyfile(r"C:\Users\Administrator\Desktop\python\award.hwp",r"C:\Users\Administrator\Desktop\python\award_result.hwp")
hwp.Open(r"C:\Users\Administrator\Desktop\python\award_result.hwp") # 수정할 한/글 파일 열기
field_list = [i for i in hwp.GetFieldList().split("\x02")] # 한/글 안의 누름틀 목록 불러오기
# print(field_list)
hwp.Run('SelectAll') # Ctrl-A (전체선택)
hwp.Run('Copy') # Ctrl-C (복사)
hwp.MovePos(3) # 문서 끝으로 이동
print('페이지 복사를 시작합니다.')
for i in range(len(excel) - 1): # 엑셀파일 행갯수-1 만큼 한/글 페이지를 복사(기존에 한쪽이 있으니까)
hwp.Run('Paste') # Ctrl-V (붙여넣기)
hwp.MovePos(3) # 문서 끝으로 이동
for page in range(len(excel)): # 한/글 모든 페이지를 전부 순회하면서,
for field in field_list: # 모든 누름틀에 각각,
hwp.MoveToField(f'{field}{{{{{page}}}}}') # 커서를 해당 누름틀로 이동(작성과정을 지켜보기 위함. 없어도 무관)
hwp.PutFieldText(f'{field}{{{{{page}}}}}', # f"{{{{{page}}}}}"는 "{{1}}"로 입력된다. {를 출력하려면 {{를 입력.
excel[field].iloc[page]) # hwp.PutFieldText("index{{1}}") 식으로 실행될 것.
'파이썬 -한글 코드' 카테고리의 다른 글
오늘부터 운동! : 인바디 다이얼 (H20B) 구매 후기 (0) | 2019.09.17 |
---|---|
2019.8.24 토) 저녁부터 16시간 굶으면 정크물질 분해되 살빠져 (0) | 2019.08.26 |
드디어 메르비 갈바닉을 만나다♡ (feat.남편찬쓰) (0) | 2019.08.14 |