아까 게시글 남겼었는데, 파이썬으로도 구현이 어려워 다시 문의 드립니다.
import pyperclip
import win32com.client as win32
import os
from datetime import datetime
def get_valid_filename(s):
return “”.join(c for c in s if c.isalnum() or c in (’ ', ‘-’, ‘_’)).rstrip()[:50]
def save_block_as(hwp, path):
# SaveBlockAction 액션 사용
hwp.HAction.GetDefault(“FileSaveBlock_S”, hwp.HParameterSet.HFileOpenSave.HSet)
hwp.HParameterSet.HFileOpenSave.filename = path
hwp.HParameterSet.HFileOpenSave.Format = “HWP”
hwp.HAction.Execute(“FileSaveBlock_S”, hwp.HParameterSet.HFileOpenSave.HSet)
def main():
clipboard_content = pyperclip.paste()
filename = get_valid_filename(clipboard_content)
current_time = datetime.now().strftime(“%Y%m%d_%H%M%S”)
filename = f"{current_time}_{filename}.hwp"
desktop = os.path.join(os.path.expanduser("~"), "Desktop")
full_path = os.path.join(desktop, filename)
try:
hwp = win32.gencache.EnsureDispatch("HWPFrame.HwpObject")
save_block_as(hwp, full_path)
print(f"파일이 성공적으로 저장되었습니다: {full_path}")
except Exception as e:
print(f"오류 발생: {str(e)}")
finally:
if 'hwp' in locals():
hwp.Quit()
if name == “main”:
main()
단어 복사 후 블록 지정한 상태에서 해당 코드를 실행하는데,
블록으로 지정한 내용은 누락되고 빈문서로만 파일이 생성되고 있습니다.
도와주세요 ㅠㅠ