가나다 <---- 파일명이 될 텍스트 복사
‘가나다’ 복사 후 매크로 실행’ (클립보드에 붙어있는 상태)
블록 저장할 영역 내용
[스크립트 기록으로 생성된 코드]
function OnScriptMacro_script7()
{
HAction.GetDefault(“FileSaveBlock_S”, HParameterSet.HFileOpenSave.HSet);
with (HParameterSet.HFileOpenSave)
{
FileName = “C:\Users\usr\Desktop\가나다.hwp”;
Format = “HWP”;
}
HAction.Execute(“FileSaveBlock_S”, HParameterSet.HFileOpenSave.HSet);
HAction.Run(“MoveLineEnd”);
}
클립보드에 복사된 텍스트를
변수=파일명 형태로 지정해서
FileName = “C:\Users\usr\Desktop\” + 변수 + “.hwp”;
자동으로 저장되도록 하고 싶습니다!
GPT를 통해 이런 저런 코드를 생성해 보았지만, 역부족이라 도움을 청해봅니다 ㅠㅠ
안녕하세요
아래 게시글에서 말씀하신 코드로 하시면 동작하는 것 같습니다.
추가 문의가 있으시면 말씀 부탁드립니다.
감사합니다.
아까 게시글 남겼었는데, 파이썬으로도 구현이 어려워 다시 문의 드립니다.
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(…
답변 감사합니다!
빈 문서로 저장되는게 문제랍니다!
예를들어 ‘과일’ 이라는 단어를 제가 복사해서 클립보드에 남아있는 상태로
한글 문서에서 제가 저장하고자 하는 내용(바나나/사과/배/포도)에 블록을 지정하고
매크로를 실행하면
파일명: ‘과일.hwp’ > 열었을 때 내용에 ‘바나나/사과/배/포도’ 가 저장되도록 하는 기능을
구현하고 싶은데 계속 내용은 비어져 있는 상태더라구요 ㅠㅠ
보잘것 없는 코드를 테스트 해주셨다니 정말 감사합니다…!
계속 해결책을 찾아보고 있습니다 ㅠ ㅠ
이 문서를 먼저 열고 블록을 지정한 후에 블록 저장을 해야할 것 같네요
아래 가이드 참고하시면 좋을 것 같습니다.
네! 감사합니다 참고해서 다시 연구해보겠습니다! 자료 찾아주셔서 감사합니다!
안녕하세요.
문의하신 동작을 구현할 수 있는 몇 가지 오토메이션 API를 가이드 드리면,
⓵ 블록된 텍스트 가져오기
해당 구현이 클립보드가 굳이 필요할 것 같지는 않은데요.
GetTextFile을 통해 본문의 블록된 텍스트를 String 형식으로 받아올 수 있는 API가 있으니 참고 부탁드립니다.
⓶ 메시지박스
내가 만든 문자열에 대해 디버깅을 수월하게 하기 위해 메시지박스를 이용해보시면 좋을 것 같습니다.
⓷ 문서 저장
오토메이션 API에는 문서 저장할 수 있는 다양한 방법이 있습니다.
저는 보통 SaveAs 선호하는 편입니다.
function OnScriptMacro_script7()
{
var saveFileName;
var blockedText = GetTextFile("UNICODE", "saveblock");
saveFileName = "c:\\" + blockedText + ".hwp";
// 메시지 박스로 저장 파일 확인용으로 확인 후 제거하면 됨
XHwpMessageBox.String = saveFileName;
XHwpMessageBox.DoModal();
SaveAs(saveFileName, "HWP", "");
}
API 문서 링크 : 개발 가이드 | 한컴디벨로퍼
감사합니다.