묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
exe 배포 파일 코드 작동 안함
안녕하십니까 항상 도움 많이 받고 있습니다.강의를 들으면서 아래와 같이 코드를 작성하였고(정상 작동함)배포 파일을 만들어서 실행하여 보니, 특성 코드가 작동이 안됩니다. import tkinter as tkfrom tkinter import filedialogimport win32com.client as win32from pyhwpx import Hwphwp = Hwp()excel = win32.gencache.EnsureDispatch("Excel.Application")excel.Visible = False# 한/글 파일 불러오기def open_hwp_file(): file_path = filedialog.askopenfilename(initialdir="C:/", title="Select HWP File", filetypes=(("HWP files", "*.hwp"), ("all files", "*.*"))) if file_path: hwp.Open(file_path)# 엑셀 파일 불러오기 def open_excel_file(): file_path = filedialog.askopenfilename(initialdir="C:/", title="Select Excel File", filetypes=(("Excel files", "*.xlsx;*.xlsm"), ("all files", "*.*"))) if file_path: wb = excel.Workbooks.Open(file_path)def process_excel(): wb = excel.ActiveWorkbook # 불러온 엑셀파일을 wb로 지정 ws = wb.Worksheets(3) # wb의 3번째 시트를 ws로 지정 xlsx_values = [list(i) for i in ws.UsedRange()] for idx, val in enumerate(xlsx_values): if idx: xlsx_values[idx][0] = xlsx_values[idx][0].strftime("%Y. %#m. %#d.") for idx, val in enumerate(xlsx_values[1:]): # hwp.get_field_list()로 삽입된 필드명 확인 후, 상황에 맞게 아래 코드의 필드명 수정 hwp.PutFieldText(f"보도일자{{{{{idx}}}}}\x02기사1{{{{{idx}}}}}\x02기사2{{{{{idx}}}}}\x02기사3{{{{{idx}}}}}\x02기사4{{{{{idx}}}}}\x02기사5{{{{{idx}}}}}\x02기사6{{{{{idx}}}}}\x02기사7{{{{{idx}}}}}\x02기사8{{{{{idx}}}}}\x02기사9{{{{{idx}}}}}\x02기사10{{{{{idx}}}}}\x02기사11{{{{{idx}}}}}\x02기사12{{{{{idx}}}}}\x02기사13{{{{{idx}}}}}\x02기사14{{{{{idx}}}}}\x02기사15{{{{{idx}}}}}\x02기사16{{{{{idx}}}}}\x02기사17{{{{{idx}}}}}\x02기사18{{{{{idx}}}}}\x02기사19{{{{{idx}}}}}\x02기사20{{{{{idx}}}}}\x02기사21{{{{{idx}}}}}\x02기사22{{{{{idx}}}}}\x02기사23{{{{{idx}}}}}\x02기사24{{{{{idx}}}}}\x02기사25{{{{{idx}}}}}\x02기사26{{{{{idx}}}}}\x02기사27{{{{{idx}}}}}\x02기사28{{{{{idx}}}}}\x02기사29{{{{{idx}}}}}\x02기사30{{{{{idx}}}}}", "\x02".join(val))def save_as(): hwp.save_as("보도자료 배포용(취합본).hwp") root = tk.Tk()root.title("보도자료 취합(배포용)")button_style = {"font": ("Arial", 15), "padx": 20, "pady": 10}open_hwp_button = tk.Button(root, text="한글) 파일 열기", command=open_hwp_file, **button_style)open_hwp_button.pack()open_excel_button = tk.Button(root, text="엑셀) 파일 열기", command=open_excel_file, **button_style)open_excel_button.pack()process_excel_button = tk.Button(root, text=" 취합 하기 ", command=process_excel, fg="blue", font=("Arial", 15, "bold"), padx=20, pady=10)process_excel_button.pack()process_excel_button = tk.Button(root, text="다른 이름 저장", command=save_as, ** button_style)process_excel_button.pack()root.mainloop() 위 코드에서 " 취합하기" 버튼을 누르면 엑셀에 있는 값들이 한글 문서 필드로 입력이 안됩니다. (아무 변화 없음)* 파일 열기나 다른 이름으로 저장하는 버튼을 누르면 정상 작동합니다. 취합하는 것만 안되는 이유가 뭘까요? 항상 친절히 답변 남겨 주셔서 너무 감사드립니다.
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
join(val) 코드 해석
챕터명: [응용] 엑셀문서 값을 필드에 입력하기# 셀범위 값 전부 읽어오기 xlsx_values = [list(i) for i in ws.UsedRange()] # 날짜 문자열 수정하기 for idx, val in enumerate(xlsx_values): if idx: # [0]은 제목이므로 생일 수정안함 xlsx_values[idx][2] = xlsx_values[idx][2].strftime("%Y년 %#m월 %#d일") print(xlsx_values) # >>> [['이름', '성별', '생일', '취미'], # ... ['마크', '남', '1984년 5월 14일', 'VR'], # ... ['빌', '남', '1955년 10월 28일', '기부'], # ... ['일론', '남', '1971년 6월 28일', '트위터'], # ... ['제프', '남', '1964년 1월 12일', '독서'], # ... ['리사', '여', '1969년 11월 7일', '게임'], # ... ['슬아', '여', '1983년 6월 16일', '쇼핑']] # 1페이지 복사해 둠 hwp.Run("CopyPage") for idx, val in enumerate(xlsx_values[1:]): if idx: # idx가 0인 경우는 제외 hwp.Run("PastePage") # 페이지 붙여넣기 hwp.PutFieldText(f"이름{{{{{idx}}}}}\x02성별{{{{{idx}}}}}\x02생일{{{{{idx}}}}}\x02취미{{{{{idx}}}}}", "\x02".join(val)) # 4개의 값을 한 번에 배치삽입하는 방법. "\x02"로 구분함.위 코드에서 hwp.PutFieldText(f"이름{{{{{idx}}}}}\x02성별{{{{{idx}}}}}\x02생일{{{{{idx}}}}}\x02취미{{{{{idx}}}}}", "\x02".join(val))이 부분이 이해가 잘 안됩니다. hwp.PutFieldText("이름", "홍길동") 이게 기본 형태로 알고 있는데, 저건 어떤 형태인가요?? 해석이 안되네요idx가 1인 경우에 대입하면, hwp.PutFieldText("이름{{1}} 성명{{1}} 생일{{1}} 취미{{1}}") 이렇게 있는데, 이름{{1}} 뒤에 1을 더하는 식으로 각 필드명에 적용한다는 건가요?? 그리고 마지막 join(val)은 무슨 역할인가요???
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
바탕쪽 텍스트추출, 표안의 사각형 안의 텍스트 추출, 표안의 글머리기호있는 텍스트 모두 추출
안녕하세요. 강의를 여러번 보면서 많은 도움을 얻고 있습니다. 감사합니다~몇가지 질문 드립니다.1. 바탕쪽이 표로 만들어져 있는 경우 바탕쪽에 있는 표의 셀안에 있는 텍스트는 어떻게 가져 올 수 있을까요? 2. 그리고 본문의 표의 셀내에 또 사각형을 만든 다음에 텍스트를 입력해 놓은 경우, 표의 셀안의 사각형 안의 텍스트를 가져오려면 어떻게 해야할까요? 3. 마지막으로 표안에 문단번호모양설정을 해서 글머리 기호 1. 2. 3.,,, 이런식으로 여러 줄이 있는 경우,hwp.InitScan(Range=0xff), GetText를 이용하면 제일 위의 한 줄만 추출 되는 데 전체 텍스트를 다 가져 오려면 어떻게 해야할까요?
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
exe파일로 추출하려고 했는데 오류가 떠요
선생님 또 질문하러 왔습니다 ㅠㅠpyinstaller로 exe파일 추출하는걸 따라하고 있었는데요... openpycl이 import 되지 않았다고 떠서 import 문도 따로 넣었거든요.그랬더니 이제는 openpyxl.cell_writer 모듈이 없다고 뜨는데 여기부터는 어떻게 해결해야하는지 잘 모르겠네요.구글 검색했더니 해결방법이 되게 여러가지가 뜨던데그중에 저에게 맞는 해결법은 없었습니다..:(혹시 선생님께서도 이런 오류를 겪으신 적이 있을까요?
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
한글 문서에 표 안에 있는 그림을 별도 파일(jpg, png등등) 저장하려면 어떻게 해야 할까요?
안녕하세요~ ^^ 강의를 통해 많은 도움을 받고 있습니다. ~다름이 아니라 ~ 한글 문서 표 안에 그림이 있는 것을 별도의 파일로 저장하는 파이썬 코드는 어떻게 해야 할까요~? “그림 삽입하기” 강의를 보고 나서 그 반대인 경우를 생각해봤습니다. 그림 ctrl 개체 선택 후 임의의 파일로 저장하는 방법이 궁금합니다. 표를 순회화면서 그림 개체를 발견하면 일정한 규칙을 정하고 파일을 저장하고 싶습니다.~
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
8강 표 복사가 안되네요
8강을 보고 있는데 표 복사 붙여넣기가 안되네요ceil을 안쓰고 바로 그냥 4로 적어봤는데 그래도 안됩니다. 표 테두리를 선택한채 멈춰 있네요왜그럴까요? 한글은 2020버전입니다.복사할표개수 = 4 #표진입 hwp.get_into_nth_table(-1) #표선택 hwp.SelectCtrlFront() #표복사 붙여넣기 hwp.copy() for i in range(복사할표개수): hwp.paste()
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
쪽번호 매기는 명령어도 있을까요?
안녕하세요!pyhwpx를 이용해서 자동화를 꿈꾸고 있는데,블로그에 적어주신 메소드에는 없는 것 같아서 한번 여쭤봅니다. 한글 쪽번호 매기기 기능도 명령어가 있을까요?그냥 1도 시작하는게 아닌, 제가 원하는 숫자로 시작하게 만들고 싶습니다. 여러 한글 파일에 쪽번호를 매기는데,그 파일들의 페이지수에 따라서 달리 페이지를 매겨야해서요!페이지는 일단 PageCount로 세면 될것 같은데hwp.Run("PageNumPos")로는 자동으로 제가 센 페이지를 대입할 수는 없겠더라고요. 혹시 좋은 방법이 있을까요?언제나 감사드립니다.
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
미주 개수 세는 법을 질문드립니다.
조건을 주어 파일의 실행을 관리하려합니다.조건이 '미주 개수 == 누름틀 개수' 인 경우에 실행을 하려하는데누름틀의 개수는 GetFieldList의 리스트의 요소 개수로 개수를 알 수 있지만 미주의 개수는 일일이 커서를 움직여서 개수를 세서 해야할지 고민입니다. 찾아보니 Count라는 함수가 있는 것을 보았는데이런 경우 사용할 수 있는 것인지 함수를 써보아도 오류가 리턴되네요항상 감사드립니다.
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
이게 될지 잘 모르겠어서 질문드립니다.
안녕하세요일코님 덕분에 많이 해결되고 있는 작업들이 기쁩니다.다름이 아니라 누름틀에 SetTextFile를 통해 작업을 하고 있습니다.그러다보니 [누름틀 시작]과 [누름틀 끝] 사이에 페이지가 바뀌는 경우가 생기는데 이 경우 [누름틀 시작] 부분도 다음 페이지로 넘어가도록 설정하고 싶은 경우가 생기게 되었습니다.혹시 이 같은 경우도 좋은 방법이 있을지 의견을 구해봅니다.
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
테이블에서 셀 나누기를 할 경우 어떻게 하나요?
셀 필드 삽입은 잘 이해해서 쓰고 있습니다.그런데 문서를 만들다 보면 행이 1개일 때도 있고 2~3개가 될 수도 있습니다. 이 처럼 행의 개수가 늘어나는 경우에는 셀 나누기를 통해서 셀을 늘려야 하는데 그때 사용할 수 있는 명령어가 있을까요?
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
문의 드립니다. “python+hwp 단축커맨드” 접근권한 관련입니다. ^^
한글문서 자동화에 많은 도움을 얻고 있습니다. 운영하시는 블로그에서 단축커맨드 정보를 보려고 했는데접근이 안되어서요~ 이용하려면 다른 절차가 필요한 것인지 문의 드립니다. ^^
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
강의를 응용해서 적용해보려 했는데 쉽지 않네요,,
안녕하세요 [응용] 엑셀문서 값을 필드에 입력하기 강의를 활용해서제 나름대로 누름틀 9개짜리 샘플양식을 만든 뒤에엑셀에 있는 데이터를 넣어보려고 했는데엑셀에 있는 필드값과 같은 누름틀에 들어가는게 아니라뒤죽박죽으로 들어가서 뭐가 문제인지 모르겠네요.제가 코드를 이해하지 못한 게 문제인 것 같은데 메일로 뭐가 잘못된거지 혹시 확인 좀 부탁드려도 괜찮을까요? ㅠㅠ
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
8강 영상 언제 돌아오나요?
제목 그대로입니다!기약없이 기다리기보다는 시기를 좀 알면 좋을 것 같아서 여쭤봐요계획없으면 없다고 편하게 답변 부탁드립니다!
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
API 버그를 활용한 서체 일괄 변경이 잘 안됩니다.
API 버그를 활용한 서체 일괄체크 및 변경 파이썬코드가 작동안하는데 한글의 버그가 패치되었는지~ 글자색_변경하기()함수는 결과가 나오는데 모든_줄간격_변경하기(줄간격), 모든_글자색_변경하기(r, g, b) 함수는 실행시켜도 한글 문서에 아무런 변화가 없습니다.~
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
문자가 표안에 있는지 여부를 확인하고 싶어요.
안녕하세요~일코님 (맞는지 모르겠네요.)어젠가 그젠가 부터 https://martinii.fun/ 사이트 접속이 안되네요.. ㅠㅠ 아무튼 질문은표밖의 글자만 일괄 수정작업을 하고 있습니다. 볼드체만 추려서 일괄적으로 작업하고 있는데, 표안의 글자들이 바뀌고는 해서 표안의 글자는 패스~ 하게 하고 싶어서 홈페이지를 찾아보려했는데 저만 그런건지 먹통이네요.. ㅠㅠ 현재 상태는 1번부터 100번 문제가 있으면, 중간중간 지워야 하는 문제들이 있어서 넘버링 작업을 하고 있습니다.(1~XX 번까지 순서대로 수정하는 작업) 이것을 자동화하는 중에각 문제마다 지문이 표안에 있습니다.예) 번호(볼드) 문제지문(표안에 있음)이렇게 문제들의 반복인데, 간혹 지문(표안에 있는)에 볼드 숫자들이 들어가서 문제의 번호를 일괄로 바꾸다가 지문의 숫자가 바뀌어서 좀... 난간하게 되는데, 표안의 문자들은 패스하게 하는 코드를 알고 싶습니다. 그러니까... 문자가 표안에 있는지 여부를 확인 할 수 있으면 될것같습니다. 설 연휴 잘 보내시고, 새해 복 많이 받으세요~~
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
한글 그림 삽입하는 예제랑 글이 안보입니다..
질문 남겨주셔서 감사합니다.막히면 언제든 무엇이든 자주 질문 던져주세요.수학/과학이나 알고리즘과는 달리업무자동화 코딩은 고민해서 풀리는 경우가 정말 드뭅니다.다시 말씀드리지만, 질문을 자주자주 남겨주세요.저도 최대한 빠르게 회신 드리겠습니다.당부드릴 두 가지가 있습니다.① 가급적 구체적으로 설명해주세요.② 특정 챕터 관련 질문 남겨주실 때는, 어느 챕터인지 알려주세요ㅜ==================================== 안녕하세요.이미지 갯수대로 한글파일에 삽입하는 파이썬 강좌가 안보이네요..블로그에도, 커뮤니티에도 상세하게 올려져있던 내용인것 같던데, 여기 인프런에도 안보이네요..어디서 해당 강좌를 볼 수 있나요?
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
액세스가 거부되었습니다. 라고 뜹니다
안녕하세요[응용] 폴더에 있는 한글/파일을 모두 열기 편 실습중이었는데반복문 사용해서 한글파일을 실행하려 하니 액세스가 거부되었습니다. 라고 뜨네요. 이유를 알 수 있을까요??[응용] 폴래더에 있는 한/글 파일을 모두 열기[응용] 폴더에 있는 한/글 파일을 모두 열기
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
밑줄쳐진 단어를 괄호로 감싸는 방법이 있을까요?
아주 좋은 강의와 피드백까지 정말 감사합니다~한글파일에 밑줄쳐진 단어가 있을때, 그 단어를 밑줄을 없애고 괄호로 감싸는 방법이 있는지 궁금합니다.한글에서 찾아바꾸기로는 쉽지 않아보이는데, 혹시 한글에서 엑셀로 저장할 때 밑줄 단어를 괄호로 감쌀 수 있는지요. 만약 한글에서 안된다면 일단 밑줄단어를 폰트나 색깔이나 크기들을 찾아바꾸기 한후, 이 텍스트를 엑셀로 붙여넣기 할 때 원본 서식을 유지한 채 붙여넣어서 엑셀에서 다시 그 단어들을 괄호로 감쌀 수 있을까요? 예를 들면 한글파일의 밑줄단어를 찾아바꾸기에서 색깔을 빨간색으로 바꾼 후에 엑셀로 서식을 유지한채 붙여넣은 후, 엑셀에서 빨간색 단어만 찾아서 단어 앞뒤로 괄호로 감쌀 수 있을까요?
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
pyhwpx 사용법도 알려주세요!
한/글 오토메이션 API는 너무 복잡하고 어렵습니다.최근 제작하신 pyhwpx라는 툴에 대해서도 본 강의에서 풀어주시면 감사하겠습니다.
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
표 내부 진입이 안되는 경우
질문에 잘 대답해주시고 항상 정말 감사드립니다. 특정 파일이 읽기 전용인 듯 싶은데요.아래 코드를 실행하면 표가 선택이 되기는 하는데 내부 셀로 들어가지 않고 밖이 선택되어서 hwp.SetPosBySet(pos) hwp.FindCtrl() hwp.Run('ShapeObjTableSelCell') while hwp.HAction.Run("TableRightCell"): text = get_text()그래서 아래 코드를 실행하면 바로 루프를 빠져 나와요~~표 안의 데이터를 가지고 올 수 없네요.어떻게 해야 될까요??