월 14,850원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
한글 2022 보안모듈 사용 가능 여부
안녕하세요! 지난번 질문에 친절하게 답변해주셔서 감사합니다. 다름이 아니라, 보안모듈에 대해서 질문이 있는데요, hwp.RegisterModule("FilePathCheckDLL", "FilePathCheckerModule")이 코드를 반복해서 시도하였는데도 계속 False 결과값이 나옵니다. 한글 2022버전이라서 그런 것이 아닌가 조심스럽게 생각해봅니다만 .. 확인할 수 있는 방법이 있을까요?
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
누름틀 없는 한글문서 엑셀로 취합하기 응용 질문드려요
해당 강의 잘 보고 응용해보려고 하는데 잘 풀리지 않는 부분이 있어 문의 드립니다.제가 자동화하고자 하는 파일은 예시의 서식이 여러파일형태로 존재하는 게 아니라 한 파일안에 동일한 양식의 표가 반복되는 형태인데요.동일한 양식의 표를 엑셀에 항목별로 입력하고자 합니다.강의로 예를 들면 강의에서는 용역과제 심의신청서가 각 파일에 1개씩 이어서 폴더내의 파일을 하나하나 열면서 안의 내용을 리스트로 정리하고, 리스트 중 옮길 값을 추출했지만제 경우에는 용역과제 심의신청서가 한 파일에 모두 모여있는 경우라고 할 수 있을 것 같습니다.그래서 파일안에 있는 텍스트를 모두 추출하여 list화 까지는 수행했는데, 거기서 엑셀로 옮길 값만 추출하는데 있어서 어떤 규칙성을 찾기가 어려워서 어떻게 해야할지 좀 막막하네요...예를 들면 예시에서 과제명이 contents[1]이었으면 다음 표에서는 과제명이 contents[26] (<-연구결과활용방안다음)이어야 하는데 중간중간 끊기는 부분이 있는지 갑자기 contents[27]이라던가 번호가 하나씩 밀리는 문제가 발생합니다.이런 경우에는 어떤 for문으로 반복되는 표 양식 안의 내용을 가져올 수 있을까요..?
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
pywintypes.com_error: (-2147221021, '작업을 사용할 수 없습니다.', None, None)
안녕하세요!기존에 아나콘다로 32비트 가상환경을 만들어서 win32사용했을때는 오류가 안났는데최근 아나콘다 자체를 64비트로 변경하고64비트 가상환경을 만들어 사용하려하니 아래와 같은 오류가 납니다.찾아보니 32비트 가상환경으로 변경해야한다고 해서 32비트 환경구성 후 진행해도 동일한 에러가 나는데 어떻게 해야하는지 알 수 있을까요? (D:\Anaconda3_envs\dask_3.8.10) C:\Users\user>pythonPython 3.8.10 (default, May 19 2021, 13:12:57) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32Type "help", "copyright", "credits" or "license" for more information.>>> import win32com.client as win32>>> hwp = win32.gencache.EnsureDispatch("HWPFrame.HwpObject")Traceback (most recent call last): File "D:\Anaconda3_envs\dask_3.8.10\lib\site-packages\win32com\client\dynamic.py", line 84, in _GetGoodDispatch IDispatch = pythoncom.connect(IDispatch)pywintypes.com_error: (-2147221021, '작업을 사용할 수 없습니다.', None, None)During handling of the above exception, another exception occurred:Traceback (most recent call last): File "<stdin>", line 1, in <module> File "D:\Anaconda3_envs\dask_3.8.10\lib\site-packages\win32com\client\gencache.py", line 621, in EnsureDispatch disp = win32com.client.Dispatch(prog_id) File "D:\Anaconda3_envs\dask_3.8.10\lib\site-packages\win32com\client\__init__.py", line 118, in Dispatch dispatch, userName = dynamic._GetGoodDispatchAndUserName(dispatch, userName, clsctx) File "D:\Anaconda3_envs\dask_3.8.10\lib\site-packages\win32com\client\dynamic.py", line 104, in _GetGoodDispatchAndUserName return (_GetGoodDispatch(IDispatch, clsctx), userName) File "D:\Anaconda3_envs\dask_3.8.10\lib\site-packages\win32com\client\dynamic.py", line 86, in _GetGoodDispatch IDispatch = pythoncom.CoCreateInstance(pywintypes.com_error: (-2147221164, '클래스가 등록되지 않았습니다.', None, None)
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
hwp.XHwpWindows.Item(0).Visible = True 명령어 작성시 에러가 뜹니다.
여러 블로그 나 구글링을 해봤는데 보통은 hwp = win32.gencache.EnsureDispatch("hwpframe.hwpobject")이단계에서 에러가 많이 나더군요. 흠 제 컴퓨터가 이상한건지... 도와주세요!
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
필드위치로 커서 옮기기에서 질문
여기서 필드위치로 가서 사진을 붙여놓는데요.그런데 일반적으로 표의 셀이 많을경우 일일이 필드이름을 지정하기 어려울텐데표를 불러와서나무사진4라는 이름과 어떠한 폴더안에 나무사진4.JPG가 일치할 경우 나무사진4의 셀 위에 사진을 크기에 맞추어 붙여넣기 하는방법은 없나요??강의를 진행하다보면 저절로 알 수 있는 부분일까요?
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
특정 셀필드 아래칸으로 이동해 텍스트 입력도 가능한가요?
특정 셀필드 아래칸으로 이동해 텍스트 입력도 가능한가요?예시 코드가 궁금합니다구현하려는 것이 a서식(셀필드 20개)b서식(a서식과 동일한 셀필드 20개 + 별도 @)을자동입력하는 것인데 b서식에만 있는 셀필드에는저런 식으로 접근해서 값을 입력하려고 합니다
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
스타일 정보 조회가 가능할까요?
안녕하세요...파이썬에서 특정한 아래한글화일을 Open 하고, 등록된 스타일 리스트에서 특정한 스타일명의 서체정보를 가지고 올수 있을까요?
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
사진 자동화 문의입니다.
제가 강사님의 블로그를 보고 만들었습니다.제가 생각하는 방법은 표의 이름을 사진의 이름과 일치시켜서 표에 넣으려고 했는데 오류가 나네여import win32com.client as win32 import pandas as pd import numpy as np import os import pyautogui from tkinter import Tk from tkinter.filedialog import askopenfilenames def 한글_시작(): hwp = win32.gencache.EnsureDispatch("hwpframe.hwpobject") hwp.XHwpWindows.Item(0).Visible = True hwp.RegisterModule("FilePathCheckDLL", "FilePathCheckerModule") return hwp file_list = os.listdir("e:/python22/inflearn_hangeul/img") root = Tk() # 이미지선택창 열기 imagelist = askopenfilenames() root.destroy() # 이미지선택창 닫기 BASE_DIR = imagelist[0].rsplit("/", maxsplit=1)[0] # 이미지리스트에서 경로 추출 imagelist = [i.rsplit("/", maxsplit=1)[1] for i in imagelist] # 이미지리스트에서 파일명만 남김 print(imagelist) 표_리스트 = list(set([i.split(".")[0] for i in imagelist])) 표_리스트.sort() print(표_리스트) hwp = 한글_시작() hwp.Open("e:/python22/inflearn_hangeul/사업개요서_그림작성자동화서식.hwp") hwp.Run("CopyPage") for _ in range(9): hwp.Run("PastePage") for idx, content in enumerate(표_리스트): hwp.HAction.GetDefault("TablePropertyDialog", hwp.HParameterSet.HShapeObject.HSet) hwp.HParameterSet.HShapeObject.ShapeTableCell.Editable = 1 hwp.HParameterSet.HShapeObject.ShapeTableCell.CellCtrlData.name = content print(content) hwp.HAction.Execute("TablePropertyDialog", hwp.HParameterSet.HShapeObject.HSet) for j, content in enumerate(표_리스트): hwp.MoveToField(content) # 해당 필드로 이동 hwp.InsertPicture(os.path.join(BASE_DIR, f"{content}.png"), Embedded=True, sizeoption=2) # 이미지 삽입40번째 줄에서 오류가 나구요pywintypes.com_error: (-2147417851, '서버에서 예외 오류가 발생했습니다.', None, None)
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
API문서
한글 API문서는 어디서 받나요?강의 보니까 그 문서 보면서 하시던데 저는 못찾겠어요
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
문서 내 특정 표의 내용 읽기
한 문서 안에 표가 여러개 있을 때하나씩 접근해서 표의 행과 열, 그리고 셀로 접근해서셀의 데이터를 읽어 오고 싶습니다. "한/글 표에 데이터프레임 채우기" 강의에서 특정 표로 접근하는 부분은확인하고 잘 되고 있습니다.여기서 각 셀을 순환하면서 접근하여 각 셀 내에 있는 텍스트를 읽어 오고 싶습니다. 답변 부탁 드립니다. 감사합니다.
- 해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
복습하고 있는데,,,
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 안에 속성에 분명 있는 것 같은데 좋은 강의 감사합니다.