묻고 답해요
129만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
핸드폰으로는 못보나요?
핸드폰으로는 볼 수 없나요?커리큘럼 눌러도 내용이 안보이네요.
-
해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
수업자료가 안받아지거나 비어있는 폴더입니다
수업자료 비어있는 폴더입니다
-
해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
수업자료가 안받아지네요
수업자료가 안받아집니다
-
해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
필드속송 수정하기 본문 내 예제파일이 받아지지 않습니다.
필드속성 수정하기의 본문 중간에 있는예제파일 박스를 클릭해 봐도 아무런 반응이 없으며상단에 별도의 예제파일 다운 버튼도 없습니다.
-
해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
아직 아무것도 모르는 초짜이지만 질문 남겨봅니다...
매크로를 사용해보면서 어떤식으로 작동하고 이런것들을 이해해가고 있는 단계인 학생입니다. 매크로스크립트를 주로 사용해보고 있는데 그 과정에서 매크로스크립트 녹화 중 매크로스크립트 녹화해놓은 다른 매크로를 사용해야할 때가 오더군요. 이런 경우 코드를 따서 실행해야하는데 오른쪽에 코드가 나오는 건 알겠는데 어떤것을 따서 만들어야할지 모르겠습니다... 아직 제가 너무 기초도 몰라서 그런건가요? 답변해주시면 감사하겠습니다.
-
해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
API 버그를 이용한 글자색 일괄변경하기 수업자료
수업자료가 잘못되었나 파일을 다운받았는데, 한글파일은 없고 이상한 파일만 있네용
-
해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
hwp.InitScan(Range=0x00ff).. pywintypes.com_error: (-2147352562, '매개 변수의 개수가 잘못되었습니다.', None, None)
모듈화를 위해 다음과 같이 코드를 정리했습니다. import win32com.client as win32 import os from tkinter.filedialog import askopenfilenames, askopenfilename from tkinter import Tk def select_excel(): win = Tk() win.withdraw() xlsx = askopenfilename( title = "엑셀파일을 고르세요", initialdir = os.getcwd(), filetypes = [("엑셀파일", "*.xlsx *xls")] ) win.quit() return xlsx def select_hwp(): win = Tk() win.withdraw() hwp_file_list = askopenfilenames( title ="취합할 아래아 파일을 고르시오", initialdir=os.getcwd(), filetypes=[("아래아한글파일", "*.hwp *.hwpx")]) win.quit() return hwp_file_list def open_hwp(file): hwp = win32.dynamic.Dispatch("HWPFrame.HwpObject") hwp.XHwpWindows.Item(0).Visible = True hwp.RegisterModule("FilePathCheckDLL", "FilePathCheckerModule") hwp.Open(filename=file, Format="", arg="") # 한/글 파일 열기 return hwp def open_excel(xlsx): excel = win32.dynamic.Dispatch("Excel.Application") excel.DisplayAlerts = False wb = excel.Workbooks.Open(xlsx) ws = wb.Worksheets(1) excel.Visible = True return excel, ws, wb def get_text(): hwp.InitScan(Range=0xff) # 선택한 셀의 문자를 추출하는 방법.. 꼭!! Range=0xff를 빼먹지마라! total_text ="" state = 2 while state not in [0,1]: state, text =hwp.GetText() total_text += text hwp.ReleaseScan() return total_text def change_dir(path): os.chdir(path.rsplit("/", maxsplit=1)[0]) # 파일경로로 콘솔 이동 if __name__ == "__main__": excel_file = select_excel() change_dir(excel_file) excel, wb, ws = open_excel(excel_file) hwp_file_list = select_hwp() for file in hwp_file_list: hwp = open_hwp(file) ctrl = hwp.HeadCtrl while ctrl: if ctrl.CtrlID == 'tbl': hwp.SetPosBySet(ctrl.GetAnchorPos(0)) break else: ctrl = ctrl.Next hwp.FindCtrl() hwp.Run("ShapeObjTableSelCell") contents = [] contents.append(get_text()) while hwp.HAction.Run("TableRightCell"): contents.append(get_text()) 과제명 = contents[1] 신청부서 = contents[3].split("\r\n")[0].replace("/", "") 과제담당관 = contents[3].split("\r\n")[1] 담당공무원 = contents[5] 연구방식_ =["위탁형", "공동연구형", "자문형"] 연구방식 = [ i.strip() for i in contents[7].split("(")[1:]] for idx, text in enumerate(연구방식): if not text.startswith(")"): 연구방식 = 연구방식_[idx] 연구시작 = contents[9].split("~")[0].strip() 연구종료 = contents[9].split("~")[1].split('(')[0].strip() 연구기간 = contents[9].split("~")[1].split('(')[1].replace(")", "") 예산항목_ = ["포괄", "사업별"] 예산항목 = [i.strip() for i in contents[12].split("(")[1:]] for idx, text in enumerate(예산항목): if text.startswith(")"): pass else: 예산항목 = 예산항목_[idx] 예상금액 = contents[15] 연구필요성 = contents[17] 중복검토방법 = contents[21].split("\r\n")[1].replace("-", "").strip() 중복성여부_ = ["있다", "없다"] 중복성여부 = [ i.strip() for i in contents[21].split("\r\n")[2].split("(")[1:]] for idx, text in enumerate(중복성여부): if not text.startswith(")"): 중복성여부 = 중복성여부_[idx] 연구내용 = contents[23] 연구결과활용방안 = contents[25] 입력행 = len(ws.UsedRange()) + 1 ws.Range(ws.Cells(입력행, 1), ws.Cells(입력행, 15)).Value = (과제명, 신청부서, 과제담당관, 담당공무원, 연구방식, 연구시작, 연구종료, 연구기간, 예산항목, 예상금액, 연구필요성, 중복검토방법, 중복성여부, 연구내용, 연구결과활용방안) wb.Save() hwp.Quit() 하지만 코드를 실행하니 다음과 같은 에러가 발생했습니다.------------------------------------------------------ Traceback (most recent call last): File "C:\Users\user\Desktop\Pyton_hwp_auto\pyinstallertest.py", line 74, in <module> contents.append(get_text()) ^^^^^^^^^^ File "C:\Users\user\Desktop\Pyton_hwp_auto\pyinstallertest.py", line 43, in get_text hwp.InitScan(Range=0x00ff) # 선택한 셀의 문자를 추출하는 방법.. 꼭!! Range=0xff를 빼먹지마라! ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<COMObject HWPFrame.HwpObject>", line 3, in InitScanpywintypes.com_error: (-2147352562, '매개 변수의 개수가 잘못되었습니다.', None, None)------------------------------------------------------ 무엇이 잘못된걸까요?
-
해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
InsertPicture()메서드 질문
hwp.InsertPicture(경로, sizeoption)에서 경로를 png 파일은 안되나요? jpg만 인식이 되는거 같아서 질문남깁니다
-
해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
print(hwp.GetFieldList()) 결과값에 구분자가 x02가 아닌 값이 나옵니다.
안녕하세요. 질문올립니다. 문서의 필드목록 및 필드 값 취득하기에서 print(hwp.GetFieldList())를 실행하면 예제의 이름\x02성별\x02생일\x02취미\x02가 아니라이름성별생일취미이름성별생일취미이름성별생일취미이름성별생일취미이름성별생일취미이름성별생일취미""이 구분자로 붙어서 나옵니다.구분자는 컴퓨터 환경마다 다른 건가요?
-
해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
이미지를 글자와 겹쳐서 삽입하는 방법
좋은 강의 감사드립니다.한 가지 질문이 있어 문의드립니다. 한/글 파일에 사용인감 이미지를 첨부하고 싶은데요현재까지는 표를 만들어서 특정 셀에 이미지를 입력하는 방법까지 구현해봤습니다.그런데 한글 서식에서는 보통 "(서명)" 글자와 겹쳐서 이미지를 삽입하는데요이와 같이 이미지를 글자와 겹쳐서 삽입하는 것도 가능할까요?간단한 Tip이나 예제가 있으면 부탁드립니다.감사합니다.
-
미해결움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
다단 공백감지 질문드립니다.
하루에 2개를 질문하기 살짝 망설였습니다만주제가 너무 다르다 생각하여 따로 질문드립니다.다단으로 내용이 입력되어 있는 상황에서위와 같이단 위 부분에 ^n가 있는 경우 이를 제거하려합니다.하지만 단1의 아래의 ^n까지 제거하게 된다면 n. 부분이 단1로 넘어가 지져분해질 수도 있을거 같아서'별' 부분만을 감지하고 제거할 수 있을지 질문드려봅니다.
-
미해결움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
InsertPicture 관련 질문입니다.
매개변수(Parameters)path삽입할 이미지 파일, URL 사용 가능 (ver:0x05050111)embeded이미지 파일을 문서 내에 포함할지 여부 (True/False). 생략하면 True HwpCtrl API에서 이미지를 삽입할 경우 url이 사용가능하다고 하는데기본적으로 컴퓨터 내부의 파일을 불러오는 InsertPicture는 잘 작동하지만 혹시 url (외부 웹페이지)로 작업할 경우 다른 조치가 있어야하는지 질문드립니다.
-
미해결움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
표너비 비율대로 키우거나 줄일 수 있는지요?
정부청사나 연구원의 보고서 등을 한글로 편집하는 편집디자이너입니다.반복되는 작업이 많아 일을 자동화해보고자 수강신청를 했어요.일코님~ 이 작업도 가능한지 봐주세요원고가 A4로 오구 인쇄는 16절(190*260)로 할 경우(반대의 경우도 많아요ㅜ) 본문 사이즈를 조절하면 종이가 작아져서 표를 하나하나 줄여야하는대요.이걸 본문사이즈에 맞춰서 표너비의 비율대로 줄이거나 키울수가 있을까요??일코님~ 도와주세요~~
-
미해결움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
엑셀로 시험지를 만드는 루틴
(수능) 수학시험지를 읽어서 개별문항을 저장하고 시험지를 만드는 섹션을 보았는데요.반대로 엑셀에서 데이터를 받아와서 (문제, 지문, 보기, 해설) 한글 파일에 정의된 스타일로 써넣는 코드를 어디서 부터 시작해야 할까요?
-
미해결움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
pyinstaller로 실행파일 생성 후 다른 PC에서 실행시 문의 드립니다.~
안녕하세요~ 문의 드립니다~ pyinstaller로 실행파일 생성후 다른 PC에서 실행할 때 아래와 같은 메시지가 나오며 안됩니다. 해결방법이 없을까요? Traceback (most recent call last): File "pyhwpx.py", line 6237, in register_regedit File "subprocess.py", line 466, in check_output File "subprocess.py", line 548, in run File "subprocess.py", line 1026, in init File "subprocess.py", line 1538, in executechildFileNotFoundError: [WinError 2] 지정된 파일을 찾을 수 없습니다During handling of the above exception, another exception occurred:Traceback (most recent call last): File "hwptopdfgui.py", line 29, in <module> File "pyhwpx.py", line 143, in init File "pyhwpx.py", line 6195, in register_module File "pyhwpx.py", line 6241, in register_regedit File "subprocess.py", line 466, in check_output File "subprocess.py", line 548, in run File "subprocess.py", line 1026, in init File "subprocess.py", line 1538, in executechildFileNotFoundError: [WinError 2] 지정된 파일을 찾을 수 없습니다
-
해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
여러 페이지를 복사하고 붙여넣기를 하려고 합니다. 어떻게 해야 할까요?
엑셀문서 값을 필드에 입력하기 챕터에서hwp.Run("Copy Page"), hwp.Run("PastePage") 명령어는 첫번째 한 페이지를 복사해서 붙여넣기를 하는 명령어인데요 복사할 페이지 2~3페이지가 되는 경우에도 위 명령어를 이용할 수 있나요?답변부탁드립니다.
-
미해결움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
2가지 문제가 있습니다.
필두속성 수정하기 파티에서예제파일이 다운이 되지 않습니다."3. CreateField ..."에서 자꾸 제일 처음 셀이 건너뛰어집니다.
-
해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
미주 지우기 질문입니다.
1번사진2번 사진일코님 안녕하세요1번 사진과 같은 내용의 문서에서일종의 작업이 끝난 뒤에 2번 사진의 역할을 하려합니다..1번의 누름틀로 select=True를 통해 미주를 제거하려 하였지만 매크로로 이런부분이 제거가 되어야하는데 정상적으로 작동하지 않습니다.혹시 선택된 영역의 미주를 제거하는 방법이 있을까요?오토메이션에서 설명해주신 부분변수로 지정해서 빼보는 것까지 2번 사진에 해보았지만 차도가 없어서 질문드려봅니다
-
해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
table_to_df(startrow=n) 수행시 에러가 납니다.
안녕하세요 ~ 문의 드립니다.~ pyhwpx 버전 업데이트(0.10.29) 이후 hwp.table_to_df(startrow=2) 코드 부분에서 아래와 같은 에러가 납니다. 업데이트 하기 전에는 실행되었습니다. 음…잘 되었던 부분인데~ 혹시 변경된 부분이 있는지요? ^^ ~~~site-packages\pyhwpx.py", line 2260, in table_to_df arr = np.array(self.get_selected_text(as_="list")).reshape(rows, -1) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ValueError: cannot reshape array of size 2 into shape (5,newaxis)아래와 같은 표들을 데이터프레임으로 저장하는 로직 이었습니다. 설치된 패키지 버전 정보는 아래와 같습니다. Name: pyhwpxVersion: 0.10.29
-
해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
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() 위 코드에서 " 취합하기" 버튼을 누르면 엑셀에 있는 값들이 한글 문서 필드로 입력이 안됩니다. (아무 변화 없음)* 파일 열기나 다른 이름으로 저장하는 버튼을 누르면 정상 작동합니다. 취합하는 것만 안되는 이유가 뭘까요? 항상 친절히 답변 남겨 주셔서 너무 감사드립니다.