월 19,800원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
복습하고 있는데,,,
import win32com.client as win32hwp = win32.gencache.EnsureDispatch("hwpframe.hwpobject")단순하게 이 코드를 실행하는데 아래와 같은 에러가 발생합니다 pip install도 안되고 pip install --upgrade도 안됩니다 ㅜㅜ --------------------------------------------------------------------------- ImportError Traceback (most recent call last) Cell In[1], line 1 ----> 1 import win32com.client as win32 3 hwp = win32.gencache.EnsureDispatch("hwpframe.hwpobject") 5 hwp.XHwpWindows.Item(0).Visible = True File ~\AppData\Local\Programs\Python\Python311\Lib\site-packages\win32com\__init__.py:8 5 import os 6 import sys ----> 8 import pythoncom 9 import win32api 11 # flag if we are in a "frozen" build. File ~\AppData\Local\Programs\Python\Python311\Lib\site-packages\pythoncom.py:2 1 # Magic utility that "redirects" to pythoncomxx.dll ----> 2 import pywintypes 4 pywintypes.__import_pywin32_system_module__("pythoncom", globals()) File ~\AppData\Local\Programs\Python\Python311\Lib\site-packages\win32\lib\pywintypes.py:126 122 sys.modules[modname] = old_mod 123 globs.update(mod.__dict__) --> 126 __import_pywin32_system_module__("pywintypes", globals()) File ~\AppData\Local\Programs\Python\Python311\Lib\site-packages\win32\lib\pywintypes.py:52, in __import_pywin32_system_module__(modname, globs) 47 raise ImportError( 48 "Module '%s' isn't in frozen sys.path %s" % (modname, sys.path) 49 ) 50 else: 51 # First see if it already in our process - if so, we must use that. ---> 52 import _win32sysloader 54 found = _win32sysloader.GetModuleFilename(filename) 55 if found is None: 56 # We ask Windows to load it next. This is in an attempt to 57 # get the exact same module loaded should pywintypes be imported (...) 66 # That shouldn't really matter though, so long as we only ever 67 # get one loaded. ImportError: DLL load failed while importing _win32sysloader: 지정된 모듈을 찾을 수 없습니다.
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
모든 글자에 글자모양, 문단모양 변경없이 스타일 값만 바꿀 수 있을까요?
안녕하세요 해당 수업 덕분에 한글을 좀 더 잘 쓸수 있게 되었습니다.여러문서를 이리저리 합치다 보니 스타일이 막 뒤죽박죽으로 섞여서예를 들어 바탕체, 바탕체사본1, 바탕체사본2 이렇게 섞여있어서 스타일을 좀 정리하고 싶은데기존에 보니 모든 스타일을 바탕글로 바꾸는 코드는 있던데표 안에는 적용이 안되고 서식복사기능을 사용하다보니 글씨 모양(볼드체나 색등)이 바뀌게 되던데 본문에 모든 글씨의 글씨모양이나 문단모양, 자간은 그대로 하고 스타일 정보만 바꾸고 싶은데 방법이 있을까요? 생각중인건 한 글자씩 글씨의 모든 정보 조회-> 각 정보를 변수에 저장 -> 원하는 스타일 변경 -> 복사한 변수정보로 대치 하면 될 꺼 같긴 한데, 보통 액션 자체에 변수초기화가 디폴트로 들어가다보니 이렇게 코드를 만드는게 맞는지 궁금합니다. 아니면 스타일값만 바꾸는(글자는 현재보이는 그대로) 다른 액션이나 파라미터셋이 있는지 궁금합니다. 내용이 복잡하긴하지만 조금 힌트라도 주시면 감사하겠습니다
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
지난번 질문인데..
이전 문의내용인데 혹시 방법이 없을까요?ㅜㅜ한글 2022인데 그것과 상관있을까요? 그전버전에서는 이상없었습니다.#Python#한컴오피스
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
자간 자동조정 프로그램 만들어보기
'자간 자동조정 프로그램 만들어보기'이 챕터 설명이 좀 부족해요..코드에 대한 자세한 설명을 듣고 싶어요
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
엑셀 xlsm파일 불러오기
class App: def init(self, master): self.master = master self.file_path = 'C:\coding' self.wb = None master.title("Excel 파일 불러오기") self.label = tk.Label(master, text="Excel 파일을 선택하세요.") self.label.pack() self.button = tk.Button(master, text="파일 선택", command=self.open_file_dialog) self.button.pack() self.file_path = None # 파일 경로를 저장할 변수를 초기화합니다. def open_file_dialog(self): self.file_path = filedialog.askopenfilename(filetypes=[("Excel files", "*.xlsx;*.xls;*.xlsm")]) if self.file_path: try: df = pd.read_excel(self.file_path) self.label.config(text="파일이 성공적으로 불러와졌습니다.") except pd.errors.ParserError: self.label.config(text="유효한 엑셀 파일이 아닙니다.") else: self.label.config(text="파일을 선택하지 않았습니다.")이 엑셀을 매크로가 있는 문서에 실행시키면아래와 같은 에러가 뜹니다. 실행는 되는데 에러가 신경쓰입니다Exception in Tkinter callback Traceback (most recent call last): File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\tkinter\__init__.py", line 1948, in __call__ return self.func(*args) ^^^^^^^^^^^^^^^^ File "C:\Users\Public\Documents\ESTsoft\CreatorTemp\ipykernel_20568\1648523354.py", line 35, in open_file_dialog df = pd.read_excel(self.file_path) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\site-packages\pandas\util\_decorators.py", line 211, in wrapper return func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\site-packages\pandas\util\_decorators.py", line 331, in wrapper return func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\site-packages\pandas\io\excel\_base.py", line 482, in read_excel io = ExcelFile(io, storage_options=storage_options, engine=engine) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\site-packages\pandas\io\excel\_base.py", line 1695, in __init__ self._reader = self._engines[engine](self._io, storage_options=storage_options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\site-packages\pandas\io\excel\_openpyxl.py", line 557, in __init__ super().__init__(filepath_or_buffer, storage_options=storage_options) File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\site-packages\pandas\io\excel\_base.py", line 545, in __init__ self.book = self.load_workbook(self.handles.handle) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\site-packages\pandas\io\excel\_openpyxl.py", line 568, in load_workbook return load_workbook( ^^^^^^^^^^^^^^ File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\site-packages\openpyxl\reader\excel.py", line 346, in load_workbook reader.read() File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\site-packages\openpyxl\reader\excel.py", line 303, in read self.parser.assign_names() File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\site-packages\openpyxl\reader\workbook.py", line 109, in assign_names sheet.defined_names[name] = defn ^^^^^^^^^^^^^^^^^^^ AttributeError: 'ReadOnlyWorksheet' object has no attribute 'defined_names'
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
날짜 뒤에 요일 붙이기 질문
import os import datetime as dt from time import sleep import win32com.client as win32 def init_hwp(): hwp = win32.gencache.EnsureDispatch("hwpframe.hwpobject") hwp.XHwpWindows.Item(0).Visible = True hwp.RegisterModule("FilePathCheckDLL","FilePathCheckerModule") return hwp hwp = init_hwp() #hwp.Open(r"D:\\SHW\\PROGRAM\\PYTHON\\hwp\\data\\실작업공정표.hwpx") hwp.Open(os.path.join(os.getcwd(), r"D:\\SHW\\PROGRAM\\PYTHON\\hwp\\data\\실작업공정표.hwpx")) def get_value(): hwp.InitScan(Range=0xff) # 추출범위를 "선택영역"으로 지정 text = hwp.GetText()[1] # 선택범위 문자열값 추출 hwp.ReleaseScan() # 검색종료 return text # 추출값 리턴 def get_weekday(text): week_list = ["월", "화", "수", "목", "금", "토", "일"] month, day = [int(i) for i in text.split(".")[:2]] week_num = dt.date(2022, month, day).weekday() week_day = week_list[week_num] return f"({week_day})" def insert_text(text): act = hwp.CreateAction("InsertText") pset = act.CreateSet() pset.SetItem("Text", text) act.Execute(pset) if __name__ == '__main__': hwp.FindCtrl() # 표 선택 hwp.Run("ShapeObjTableSelCell") # 첫 번째 셀로 진입(셀선택상태) while True: # 무한반복 text = get_value() # 셀의 텍스트 추출 if text.endswith("."): # 셀 안의 텍스트가 "."으로 끝나면(날짜셀을 구분하는 임의의 방법) weekday = get_weekday(text) # 요일 파악 hwp.Run("Cancel") # 셀선택 취소 hwp.Run("MoveLineEnd") # 문자열 끝으로 이동 insert_text(weekday) # 요일 삽입 hwp.Run("TableCellBlock") # 다시 셀선택 if not hwp.HAction.Run("TableRightCell"): # 우측으로 이동하다 break # 끝에 도달하면 while문 종료 아무리 해도 문서에서 변경이 안일어나는데 뭐가 문제인지 모르겠습니다.그리고 마지막 if 문에서if __name__ == '__main__':이게 무슨 의미인지 설명 부탁 드립니다.
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
hwp 문서 내의 개체를 파일명으로 찾는 방법이 있을까요?
먼저, 강의 감사합니다. 많은 도움이 되고 있습니다!그림파일로 입력된 원번호를 텍스트 원번호로 교체하고 싶습니다. 문서에 삽입된 그림파일의 파일명(개체 설명문에 나오는)으로 객체를 찾는 방법이 궁금합니다.
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
com_error: (-2147221005, '잘못된 클래스 문자열입니다.', None, None)
한글 2022인데 그것과 상관있을까요? 그전버전에서는 이상없었습니다.
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
GetText 강의 수강 중....
GetText 강의를 보고 따라하는데com_error Traceback (most recent call last) Cell In[11], line 1 ----> 1 hwp.InitScan() 2 while True: 3 state, text = hwp.GetText() File ~\AppData\Local\Temp\gen_py\3.11\7D2B6F3C-1D95-4E0C-BF5A-5EE564186FBCx0x1x0\IHwpObject.py:475, in IHwpObject.InitScan(self, option, Range, spara, spos, epara, epos) 472 def InitScan(self, option=defaultNamedNotOptArg, Range=defaultNamedNotOptArg, spara=defaultNamedNotOptArg, spos=defaultNamedNotOptArg 473 , epara=defaultNamedNotOptArg, epos=defaultNamedNotOptArg): 474 'method InitScan' --> 475 return self._oleobj_.InvokeTypes(10017, LCID, 1, (11, 0), ((12, 1), (12, 1), (12, 1), (12, 1), (12, 1), (12, 1)),option 476 , Range, spara, spos, epara, epos 477 ) com_error: (-2147023174, 'RPC 서버를 사용할 수 없습니다.', None, None) 이런 에러가 뜹니다 해결 방법을 알려주세요
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
모든 표와 그림의 속성을 "글자처럼 취급" 으로 바꾸려면 어떻게 해야 하나요?
api에 속성에서 바꿀 수 있는지 모르겠어요 Shape Object 안에 속성에 분명 있는 것 같은데 좋은 강의 감사합니다.
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
문서 A의 내용을 문서B에 옮기는 방법
문서A의 내용을 문서B에다 전체 복사넣기 하다보니 문서A에서 적용된 폰트들이 다 깨져서 파이썬으로 활용하고자 합니다.제목 그대로 문서A의 내용(텍스트, 그림, 표 등)을 문서B에다 옮기는 기본 방법은 무엇인지요?
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
한글 물음창 제어
본 강의 덕분에 업무의 자동화가 목전에 왔습니다. 좋은 강의 열어주심에 감사드립니다.또 여쭤봅니다.파이썬에서 돌리는 와중에 표의 셀을 삭제할 때 한글에서 확인하는 창이 뜹니다."선택된 셀들을 지웁니다. 내용만 지우고 셀 모양은 남겨둘까요? 남김(Y)/지우기(N)/취소(C)"이 경우 자동화는 어떻게 하는지요?현재는 한글내 마크로를 정의해서 활용하고 있습니다만..다른 방법이 있는지요?
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
개체 여백 조정 방법
표 혹은 그림이든 개체 여백조정을 하고자 합니다.매크로정의하고 코드편집에 따라서 해보았는데요 잘 동작하지 않네요..ㅠㅠ아래는 개체 바깥 여백조정을 위한 함수를 만들어 본 예제입니다. 바깥 윗여백만 조정하는 것으로 했습니다.def Change_Object_Blank(): hwp.HAction.GetDefault("CellBorderFill", hwp.HParameterSet.HCellBorderFill.HSet) hwp.HParameterSet.HCellBorderFill.Hset.SetItem("ApplyTo", 1) hwp.HAction.Execute("CellBorderFill", hwp.HParameterSet.HCellBorderFill.HSet) hwp.HAction.GetDefault("TablePropertyDialog", hwp.HParameterSet.HShapeObject.HSet) hwp.HParameterSet.HShapeObject.OutsideMarginTop = hwp.MiliToHwpUnit(0.0) hwp.HParameterSet.HShapeObject.Hset.SetItem("ShapeType", 6) hwp.HAction.Execute("TablePropertyDialog", hwp.HParameterSet.HShapeObject.HSet) return
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
12강 한글복사
hwp.Run("CopyPage")row = 2while True:if not ws.Cells(row, 1).Value:hwp.Run("DeletePage")breakelse: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 전체 카피가 되지 않고 하나의 파일만 복사되어 엑셀첫번째 열 파일만 생성됩니다.
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
win32com.client run 오류
Pywin32 cmd로 설치되었는데 파이썬에서 Run하면 실행이 안되네요ㅠ 이유가 뭘까요...
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
엑세스가 거부되었습니다가 뜨네요.
여러개 한글 파일을 열려고 하지만 엑세스가 거부되었습니다가 떠서 실행이 안되는데 원인이 무엇인지 모르겠네요 ㅠ
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
한글 개체 임포트 오류 입니다.
안녕하세요.어제까지만 해도 아무 문제 없었는데 갑자기 오늘 오류가 발생합니다. 문제 발생하는 부분 찾기 위해 처음 부분만 입력 했었는데# 모듈 임포트 import win32com.client as win32 # 한/글 열기 hwp = win32.gencache.EnsureDispatch("hwpframe.hwpobject") hwp.XHwpWindows.Item(0).Visible = True hwp.RegisterModule("FilePathCheckDLL", "FilePathCheckerModule")이것만 실행했는데 오류메세지가 떠요AttributeError: module 'win32com.gen_py.7D2B6F3C-1D95-4E0C-BF5A-5EE564186FBCx0x1x0' has no attribute 'CLSIDToPackageMap'갑자기 왜 문제가 발생한건지 도저히 모르겠어요.. 오타일까봐 강사님 코딩을 직접 복붙해 보기도 했는데 해결이 안되네요..
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
{{{{index}}}} 의미가 궁금합니다.
초보라 궁금해서...ㅠㅠ[응용] 엑셀문서 값을 필드에 입력하기에서...hwp.PutFieldText(f"{field}{{{{{index}}}}}", value[idx]){{{{{index}}}}}에 대해서 설명해 주실 수 있을런지... {field}는 필드명을 가져오는건 알겠는데..{{{{index}}}}는 추정컨데 동일필드가 여러개 있을경우 페이지 기준으로 순서를 나타내는거 같은데..{}를 5중으로 적는게...원래 저렇게 그냥 쓰는건지...다른 어떤 의미가 있는건지요?
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
엑셀문서의 데이터를 필드에 입력하기 파트에서 문의사항 있습니다.
for row in range(2,8): data = list( ws.Range(ws.Cells(row,1),ws.Cells(row,4)).Value[0] ) data[2] = data[2].strftime("%Y. %#m. %#d.") print(data)에서 ws.Range(ws.Cells(row,1),ws.Cells(row,4)).Value[0] 마지막에 value[0]은 왜 넣는 거죠?이미 영역을 지정해서 리스트 자료형으로 작성하면 되는데 value[0]을 넣는 이유가 궁금합니다.value[1]로 수정해 보니 tuple index out of range 라고 뜨네요..
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
GetText()사용법
GetText 사용법이 감이 잘 안오네요while과 state없이 GetText()를 실행하면 텍스트 출력이 안되네요..파이썬에서 정확한 문법 정의가 어떻게 되는지요?