월 19,800원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
폰트 설정 뒤 텍스트 입력이 안되는 문제
안녕하세요 일코님!글자속성 부분 강의를 들으면서, 매크로로도 확인해서 함수를 작성해보았는데요. 먼저 텍스트 입력 함수입니다.def 텍스트입력(text): hwp.HAction.GetDefault("InsertText", hwp.HParameterSet.HInsertText.HSet) hwp.HParameterSet.HInsertText.Text = text hwp.HAction.Execute("InsertText", hwp.HParameterSet.HInsertText.HSet) 그다음 폰트를 설정하는 함수입니다.def 폰트설정(글꼴,크기): hwp.HAction.GetDefault("CharShape", hwp.HParameterSet.HCharShape.HSet); hwp.HParameterSet.HCharShape.FaceNameUser = f"{글꼴}" hwp.HParameterSet.HCharShape.FontTypeUser = hwp.FontType("TTF") hwp.HParameterSet.HCharShape.FaceNameSymbol = f"{글꼴}" hwp.HParameterSet.HCharShape.FontTypeSymbol = hwp.FontType("TTF") hwp.HParameterSet.HCharShape.FaceNameOther = f"{글꼴}" hwp.HParameterSet.HCharShape.FontTypeOther = hwp.FontType("TTF") hwp.HParameterSet.HCharShape.FaceNameJapanese = f"{글꼴}" hwp.HParameterSet.HCharShape.FontTypeJapanese = hwp.FontType("TTF") hwp.HParameterSet.HCharShape.FaceNameHanja = f"{글꼴}" hwp.HParameterSet.HCharShape.FontTypeHanja = hwp.FontType("TTF") hwp.HParameterSet.HCharShape.FaceNameLatin = f"{글꼴}" hwp.HParameterSet.HCharShape.FontTypeLatin = hwp.FontType("TTF") hwp.HParameterSet.HCharShape.FaceNameHangul = f"{글꼴}" hwp.HParameterSet.HCharShape.FontTypeHangul = hwp.FontType("TTF") hwp.HParameterSet.HCharShape.Height = hwp.PointToHwpUnit(크기) hwp.HAction.Execute("CharShape", hwp.HParameterSet.HCharShape.HSet) 이렇게 하니까, 변경까지는 아주 잘 되는데, 변경후에 텍스트를 입력하면 커서만 깜빡이고 텍스트가 입력되질 않네요..매크로로 해서 그런가 싶어서, 다시 일코님이 작성해주신 코드를 복붙해서 사용해보았는데 charshape = hwp.XHwpDocuments.Item(0).XHwpCharacterShape charshape.Height = 5000 # 5000 HwpUnit = 50 pt charshape.Italic = True # 이탤릭 charshape.Bold = True # 진하게 charshape.ShapeNormal() # 글자크기와 서체를 제외한 모든 속성 초기화 이코드도 동일하게 적용까지는 되는데,, 텍스트가 입력이 되지 않네요.움짤로는 아래와 같습니다!
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
갑작스런 경로 문제로 질문드립니다..
안녕하세요 일코님.저번에 visible설정을 잘 알려주셔서 무척 도움을 받았습니다!다름이 아니고 원래는 제가 mac에서만 작업을 했는데요.이번에 hwp 강의를 구매하면서 삼성 노트북을 구매하여 쓰고있습니다. 그런데 이 시스템 환경변수가 매번 말썽입니다.vscode + anaconda + bash터미널을 쓰고있는데요. bash 터미널에 which conda 명령어를 입력하면$ which conda /c/Users/samsung-user/anaconda3/Scripts/conda 이렇게 잘 인식을 하고 있는데요. conda 명령어를 입력하면$ conda bash: C:\Users\samsung-usernaconda3\Scripts: No such file or directory samsung-user/anaconda3 로 인식되어야 하는데,samsung-useraconda3 로 이렇게인식이 되고 있네요.GPT랑 아무리 씨름을 해보아도 답이 안나오더라구요.GPT가 시킨것은 ~/.bashrc 파일과 ~/.bash_profile 파일을 수정하라는 것인데,각 파일은 아래와 같이 수정했습니다. ~/.bashrc ~/.bash_profile 시스템 환경 변수 설정도 아래와 같이 했는데요... 혹시 뭐가 문제가 있는걸까요??부탁드립니다 ㅠㅠㅠ 늘감사합니다!!
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
개체 참조가 개체의 인스턴스로 설정되지 않았습니다.
안녕하세요 일코님저번 답변으로 큰 도움을 얻었습니다. 감사합니다. 현재 제가 코드를 실행하면 아래와같은 경고메시지가 뜨는데..하나씩 실행해가면서 봤을떄는 문제가 없었는데 아래와 같은 문제가 왜 발생하는지 모르겠습니다. 어떨땐 뜨고, 어떨땐 안뜨는데, 도무지 알수가 없네요... 전체 코드를 첨부드립니다. import os from tkinter.filedialog import askopenfilename, askopenfilenames from pyhwpx import Hwp def 타겟인덱스찾기(target,학년): # FindReplace 설정 초기화 hwp.HAction.GetDefault("RepeatFind", hwp.HParameterSet.HFindReplace.HSet) hwp.HParameterSet.HFindReplace.FindString = f"{target[0]}년도 {target[1]:02}월 {학년} 학평 {target[2]:02}번" hwp.HParameterSet.HFindReplace.Direction = hwp.FindDir("Forward") hwp.HParameterSet.HFindReplace.FindType = 1 hwp.HParameterSet.HFindReplace.IgnoreMessage = 1 # 메시지 무시 설정 output = hwp.HAction.Execute("RepeatFind", hwp.HParameterSet.HFindReplace.HSet) if output == False: hwp.HAction.GetDefault("RepeatFind", hwp.HParameterSet.HFindReplace.HSet) hwp.HParameterSet.HFindReplace.FindString = f"{target[0]}년 {target[1]:02}월 {학년} 학평 {target[2]:02}번" hwp.HParameterSet.HFindReplace.Direction = hwp.FindDir("Forward") hwp.HParameterSet.HFindReplace.FindType = 1 hwp.HParameterSet.HFindReplace.IgnoreMessage = 1 # 메시지 무시 설정 return hwp.HAction.Execute("RepeatFind", hwp.HParameterSet.HFindReplace.HSet) else : return True def 워크북복수선택(): """ 선택한 모든 파일들의 전체경로를 가져오는 함수 """ filelist = askopenfilenames(title="문제를 추출할 아래아한글 문서를 모두 선택해주세요.", initialdir=os.getcwd(), filetypes=[("아래아한글파일", "*.hwp *.hwpx")]) return filelist # hwp = Hwp().hwp # 현재 열린 한글 실행 if __name__ == '__main__': hwp = Hwp(visible=True) 학년 = "고2" 타겟리스트 = [(21,11,30), (21,9,30), (20,6,3), (23,6,31), (22,11,31), (23,6,34) , (22,3,33), (21,6,33), (22,11,35), (22,6,35), (23,6,36) , (21,3,37), (20,9,38), (23,6,38), (21,9,39), (20,11,38), (22,9,40), (20,6,40), (23,9,30), (20,11,30) ] doc_1 = hwp.XHwpDocuments.Item(0) # output 문서 hwp.SetMessageBoxMode(0x20000) # 예,아니오 경고창은 노로 대답하기 워크북리스트 = 워크북복수선택() for 파일인덱스, 워크북 in enumerate(워크북리스트, start=1): doc_2 = hwp.XHwpDocuments.Add(False) # input문서 새로운 hwp열고 할당 (False=새로운창 / True = 기존hwp의 탭으로) hwp.Open(워크북) hwp.SetMessageBoxMode(0x20000) # 예,아니오 경고창은 노로 대답하기 doc_2.SetActive_XHwpDocument() # input문서 # Unit 추출하기 # '게시금지 ' 로 검색 hwp.HAction.GetDefault("RepeatFind", hwp.HParameterSet.HFindReplace.HSet) hwp.HParameterSet.HFindReplace.FindString = "게시금지 " hwp.HParameterSet.HFindReplace.Direction = hwp.FindDir("Forward") hwp.HParameterSet.HFindReplace.FindType = 1 hwp.HParameterSet.HFindReplace.IgnoreMessage = 1 # 메시지 무시 설정 hwp.HAction.Execute("RepeatFind", hwp.HParameterSet.HFindReplace.HSet) hwp.HAction.Run("Cancel") # Unit 칸으로 이동하여 복사하기 hwp.HAction.Run("MoveParaEnd") hwp.HAction.Run("MoveRight") hwp.HAction.Run("MoveSelParaEnd") # 현재 문단의 끝까지 블록 설정 hwp.HAction.Run("Copy") # 블록 설정된 텍스트를 클립보드로 복사 hwp.HAction.Run("Cancel") doc_1.SetActive_XHwpDocument() # output 문서 활성화 # 복사한 텍스트를 문서에 입력 if 파일인덱스 != 1 : hwp.HAction.Run("MoveDocEnd") hwp.HAction.Run("BreakPage") hwp.HAction.Run("Paste") hwp.HAction.Run("MoveSelLineBegin") for _ in range(10): hwp.HAction.Run("CharShapeHeightIncrease") # 텍스트 크기 증가 hwp.HAction.Run("Cancel") hwp.HAction.Run("MoveParaEnd") hwp.HAction.GetDefault("PageSetup", hwp.HParameterSet.HSecDef.HSet) hwp.HParameterSet.HSecDef.PageDef.Landscape = 1 hwp.HParameterSet.HSecDef.PageDef.BottomMargin = 0 hwp.HParameterSet.HSecDef.HSet.SetItem("ApplyClass", 28) hwp.HParameterSet.HSecDef.HSet.SetItem("ApplyTo", 2) hwp.HAction.Execute("PageSetup", hwp.HParameterSet.HSecDef.HSet) doc_2.SetActive_XHwpDocument() # input 활성화 for 인덱스,타겟튜플 in enumerate(타겟리스트, start=1) : hwp.HAction.Run("MoveDocBegin") # 타겟 찾아서 쪽 복사하기 if 타겟인덱스찾기(타겟튜플,학년): hwp.HAction.Run("CopyPage") # 두번째 문서 활성화 하고 쪽 붙여넣기 doc_1.SetActive_XHwpDocument() # output 문서 활성화 hwp.HAction.Run("MoveDocEnd") hwp.HAction.Run("BreakPage") hwp.HAction.Run("PastePage") if 인덱스 > 1: hwp.SetMessageBoxMode(0x20) hwp.HAction.Run("MovePrevParaEnd") hwp.HAction.Run("Delete") hwp.HAction.Run("Delete") hwp.HAction.Run("MoveDocEnd") doc_2.SetActive_XHwpDocument() # input 문서 활성화 현재경로 = doc_2.FullName doc_2.Close(False) #TRUE : 내용이 변경된 경우 닫지 않음, FALSE : 강제로 닫음 hwp.SetMessageBoxMode(0xF0000) # 경고창이 기본모드로 바뀜 hwp.SetMessageBoxMode(0xF0) 현재디렉토리 = os.path.dirname(현재경로) 파일이름 = "상세분석_작업완료.hwp" 저장경로 = os.path.join(현재디렉토리, 파일이름) doc_1.SaveAs(저장경로) hwp.Quit() 한두개를 작업할떄는 문제가 없었는데 여러개를 작업하니까 문제가 생기네요..ㅠㅠ너무 큰 질문을 드리는것 같아 죄송하고 감사한 마음입니다..늘 강의 잘 보고있고 업무에 큰도움 받고있습니다 정말 감사합니다.
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
페이지 가로로 돌리기 매크로녹화 스크립트 미작동
문서 두개를 띄워서 작업을 하려고 하는데요. 먼저 한글시작을 하구 hwp = 한글시작(True) def 한글시작(TF): hwp = win32.gencache.EnsureDispatch("hwpframe.hwpobject") hwp.XHwpWindows.Item(0).Visible = TF hwp.RegisterModule("FilePathCheckDLL", "FilePathCheckerModule") return hwp 그다음 아래와같이 코드를 작성했는데요. hwp = 한글시작(True) doc_2 = hwp.XHwpDocuments.Add(False) # 새로운 hwp열고 할당 (False=새로운창 / True = 기존hwp의 탭으로) doc_2.SetActive_XHwpDocument() # 두 번째 문서 활성화 hwp.HAction.GetDefault("PageSetup", hwp.HParameterSet.HSecDef.HSet) hwp.HParameterSet.HSecDef.PageDef.Landscape = 1 hwp.HParameterSet.HSecDef.HSet.SetItem("ApplyClass", 24) hwp.HParameterSet.HSecDef.HSet.SetItem("ApplyTo", 3) hwp.HAction.Execute("PageSetup", hwp.HParameterSet.HSecDef.HSet)XHwpDocumnets.Add 를 통해서 새로운 hwp를 열었고, 활성화도 했습니다.그이후에 한글을 직접 작동하여, 페이지를 가로로 돌리는것(편집용지->가로)을 매크로 녹화했는데요아래 부분을 입력하고 실행했을 때, hwp.HAction.GetDefault("PageSetup", hwp.HParameterSet.HSecDef.HSet) FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\SAMSUN~1\\AppData\\Local\\Temp\\gen_py\\3.12\\7D2B6F3C-1D95-4E0C-BF5A-5EE564186FBCx0x1x0\\HSecDef.py.18740.temp' 이런 오류 메시지가 터미널에 뜨게됩니다.반면에, hwp.HAction.Run("MoveParaEnd")등을 실행했을 떄는 모두 정상적으로 작동합니다. 왜 한글매크로를 녹화한것이 제대로 작동하지 않는걸까요? 잘 알려주셔서 정말 감사합니다
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
탭 선택 관련 문의 입니다.
특정 탭에 진입할 수 있어야 합니다.이렇게 초반에 탭이 3개가 있는 프로세스가 있는 경우현재는 test2라는 탭이 활성화 되어있습니다.저는 test라는 탭을 편집하여야하는데test2를 종료 하더라도 test 탭으로 정확히 이동이 안되는데혹여 특정 탭에 접근이 가능한 방법이 있을까요?우선 현재 띄워져 있는 창의 탭 이름을 가져오는 것에는 성공을 하였습니다. from pyhwpx import Hwp hwp = Hwp() documents = hwp.XHwpDocuments for i in range(documents.Count): doc = documents.Item(i) doc_name = doc.FullName if doc.FullName else "저장되지 않은 문서" print(f"문서 {i}: {doc_name}") if 'test.hwpx' in doc_name: selected_doc = doc selected_num = i break if 'selected_doc' in locals(): # 해당하는 문서가 탭에 존재하면 해당 문서를 편집할 수 있게 선택 만약 탭이름을 활용해서 선택하는 방법이 없다면hwp.Run("WindowNextTab")을 통하여 현재 탭의 이름과 하나하나 비교하여 일치하는 경우까지 이동하게 하는 방식이 나을지 아니면 탭에 접근하는 방법이 있을지 질문드립니다.
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
가상환경에서 import error 질문드립니다.
우선 매번 질문에 관한 답변 정말 감사드립니다.venv 가상환경에서 win32에 관한 문구가 종종 등장해서 질문드립니다.해서 찾아보니 이전에도 비슷한 글이 올라와 있어서https://employeecoding.tistory.com/183해당 내용을 따라 했을 때 1번은 일시적인 해결이 되지만재시작하면 다시 import error를 리턴하더군요 그래서 3번을 적용해보았습니다.하지만 .venv 내부에서 실행해서 그런지 pythonwin.exe가 가상환경 내의 것은 실행되지 않아서 에러를 일으키는것 같습니다.[.venv 내의 pythonwin.exe 실행시 사진]물론 가상환경(venv)이 아닌 Local에서는실행이 되긴 하지만Local과 venv는 독립된 공간이라 그런지3번을 Local에 적용하여도 가상환경에서 실행한다면 같은 문제를 일으킵니다. 언제나 감사드립니다!
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
pyhwpx 관련 질문있습니다.
질문 남겨주셔서 감사합니다.막히면 언제든 무엇이든 자주 질문 던져주세요.수학/과학이나 알고리즘과는 달리업무자동화 코딩은 고민해서 풀리는 경우가 정말 드뭅니다.다시 말씀드리지만, 질문을 자주자주 남겨주세요.저도 최대한 빠르게 회신 드리겠습니다.당부드릴 두 가지가 있습니다.① 가급적 구체적으로 설명해주세요.② 특정 챕터 관련 질문 남겨주실 때는, 어느 챕터인지 알려주세요ㅜ==================================== 최근 pyhwpx 관련으로 구현해두셨다고 하셨는데블로그를 통해 활용하는 법을 정리하신다고 알고 있습니다만어떤 함수가 있는지 조금 헤매이고 있어요그래서 생각해보건데대부분의 표기법을 파스칼케이스(ex) PutFieldText)에서스네이크 케이스(put_field_text()) 로 변경하신건지 아니면 특정 함수만 스네이크 케이스로 만들어두신건지 질문 드립니다.
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
한셀은 어떻게 하죠?
강의 챕터 : [응용] 엑셀문서 값을 필드에 입력하기질문사항 : 저희 회사에서는 엑셀을 사용하지 않고 한셀을 사용하도록 하는데 그 때는 어떻게 하나요?
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
섹션0 마지막강의 질문입니다.
강의명 : [꿀팁] 기존에 열려있는 한/글 프로그램을 파이썬으로 제어하기질문사항 : 1) '파이썬으로 기존 열린 한/글 프로그램을 제어하는 코드입니다.' 이렇게 설명이 되어있는데 저의 컴퓨터에 설치된 한글프로그램 폴더에는 이렇게 되어있는데 프로그램을 다시 설치해야하는 건가요? 2) 그리고 올려주신 코딩은 어디에서 어떻게 사용하는거에요? 움짤을 보니까 파이참에 복사해서 붙여넣기 해서 사용하는 것 같은데 따라하려고 해도 잘 모르겠어요. 간단하게라도 어떤 상황에서 어떤 목적으로 사용하는건지 부탁드려요.
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
파일을 복사하는 코딩을 복사해서 붙여넣기 했는데 잘 모르겠어요.
강의챕터 : '한/글 파일을 불러올 때마다 뜨는 팝업, 안 뜨게 할 수 없을까요?'질문사항 : 선생님~ 두번째 예제 내용에서 요걸 복사해서 파이참에 붙여넣기 한 다음에 실행해보니까 안되는 것 같은데 뭐가 잘못된걸까요? (혹시 1.hwp 파일이 있는 장소를 추가로 지정해줘야하는건가요?) 그리고 cmd 창에 위 내용을 그대로 복사해서 넣고 엔터를 치니까 이렇게 표시되면서 파일이 생기는 것 같은데 표시만 되는건가요? 아님 위의 질문처럼 임의의 저정장소를 넣어줘야하는건가요?
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
파이참으로 하면 결과값이 다른데 왜그런거죠?
강의챕터 : '한/글 파일을 불러올 때마다 뜨는 팝업, 안 뜨게 할 수 없을까요?'질문사항 : 선생님 강의대로 따라가는데 cmd 창을 띄워서 한글파일을 불러오기 했을 때 팝업창이 뜨지 않는데 파이참으로 했을 때는 팝업창이 뜨는 이유가 뭔가요? 레지스트리에 정상적으로 등록되었기 때문에 cmd 창에서는 팝업창이 안뜨는 것일 텐데 파이참으로 하면 팝업창이 뜨는 이유가 무엇인지 궁금합니다.
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
핸드폰으로는 못보나요?
핸드폰으로는 볼 수 없나요?커리큘럼 눌러도 내용이 안보이네요.
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
수업자료가 안받아지거나 비어있는 폴더입니다
수업자료 비어있는 폴더입니다
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
수업자료가 안받아지네요
수업자료가 안받아집니다
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
필드속송 수정하기 본문 내 예제파일이 받아지지 않습니다.
필드속성 수정하기의 본문 중간에 있는예제파일 박스를 클릭해 봐도 아무런 반응이 없으며상단에 별도의 예제파일 다운 버튼도 없습니다.
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
아직 아무것도 모르는 초짜이지만 질문 남겨봅니다...
매크로를 사용해보면서 어떤식으로 작동하고 이런것들을 이해해가고 있는 단계인 학생입니다. 매크로스크립트를 주로 사용해보고 있는데 그 과정에서 매크로스크립트 녹화 중 매크로스크립트 녹화해놓은 다른 매크로를 사용해야할 때가 오더군요. 이런 경우 코드를 따서 실행해야하는데 오른쪽에 코드가 나오는 건 알겠는데 어떤것을 따서 만들어야할지 모르겠습니다... 아직 제가 너무 기초도 몰라서 그런건가요? 답변해주시면 감사하겠습니다.
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
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가 아니라이름성별생일취미이름성별생일취미이름성별생일취미이름성별생일취미이름성별생일취미이름성별생일취미""이 구분자로 붙어서 나옵니다.구분자는 컴퓨터 환경마다 다른 건가요?