해결된 질문
작성
·
1.2K
1
import win32com.client as win32
from tkinter import Tk
from tkinter.filedialog import askopenfilenames
import os
from time import sleep
hwp = win32.gencache.EnsureDispatch("hwpframe.hwpobject")
hwp.XHwpWindows.Item(0).Visible = True
hwp.RegisterModule("FilePathCheckDLL", "FilePathCheckerModule")
PATH = os.getcwd()
def check_hwp(file_name):
if 'hwp' in file_name:
return True
else:
return False
file_list = filter(check_hwp,os.listdir())
print(file_list)
for i in file_list:
hwp.Open(os.path.join(os.getcwd(), i)) #파일 열기
#이미지 파일 경로 선택
root = Tk() # 이미지선택창 열기
imagelist = askopenfilenames()
root.destroy() # 이미지선택창 닫기
BASE_DIR = imagelist[0].rsplit("/", maxsplit=1)[0] # 이미지리스트에서 경로 추출
imagelist = [i.rsplit("/", maxsplit=1)[1] for i in imagelist] # 이미지리스트에서 파일명만 남김
#이미지입력
hwp.MoveToField('첨부이미지1')
hwp.InsertPicture(os.path.join(BASE_DIR, f"{imagelist[0]}.jpg"), Embedded=True,
sizeoption=2)
hwp.MoveToField('첨부이미지2')
hwp.InsertPicture(os.path.join(BASE_DIR, f"{imagelist[1]}.jpg"), Embedded=True,
sizeoption=2)
hwp.MoveToField('첨부이미지3')
hwp.InsertPicture(os.path.join(BASE_DIR, f"{imagelist[2]}.jpg"), Embedded=True,
sizeoption=2)
hwp.MoveToField('첨부이미지4')
hwp.InsertPicture(os.path.join(BASE_DIR, f"{imagelist[3]}.jpg"), Embedded=True,
sizeoption=2)
sleep(1)
hwp.Save()
각 셀에 필드명은 이미 설정된 상태에서 셀마다 이미지를 삽입하려고 하는데 한 줄씩 실행해보니 분명 파일이 선택되고 커서도 셀로 가는데 이미지 삽입이 실행되지 않습니다. 혹시 왜 그런지 알 수 있을까요?
답변 2
1
강석님 안녕하세요?^^
hwp.InsertPicture(os.path.join(BASE_DIR, f"{imagelist[0]}.jpg"), Embedded=True,
sizeoption=2)
부분에서,
imagelist[0] 파일명 안에 이미 확장자(.jpg)가 들어있는데 그 뒤에 .jpg를 다시 붙이셔서
이미지 파일을 못 찾은 것 같아요.
중괄호 바깥의 ".jpg"만 지우시면 정상적으로 삽입될 것 같습니다^^
검토해 보시기 바랍니다ㅎ 행복한 하루 되세요!
1
안녕하세요, 인프런 AI 인턴이에요.
표 이미지 삽입에 대한 질문이 있으신 것 같네요. 어떤 도움이 필요하신가요? 어떤 문제가 발생하거나 원하는 결과를 얻지 못하고 있는지 자세히 알려주세요. 그러면 더 정확한 답변을 드릴 수 있을 거에요.