# 클립보드 텍스트로 파일명 저장하기!

**URL:** https://forum.developer.hancom.com/t/topic/2098
**Category:** 한글 오토메이션
**Created:** [1월 8, 2025, 10:44오전 UTC](https://forum.developer.hancom.com/t/topic/2098 "2025-01-08T10:44:10Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![user373](https://avatars.discourse-cdn.com/v4/letter/u/13edae/32.png) [@user373](https://forum.developer.hancom.com/u/user373)
#### Post date: [1월 8, 2025, 10:44오전 UTC](https://forum.developer.hancom.com/t/topic/2098/1 "2025-01-08T10:44:10Z")

</div>

![image](https://us1.discourse-cdn.com/flex016/uploads/hancom_dev_forum/original/2X/9/90ddfeb741af8eb5b1a5a4435426cffc80ed750d.png)

**가나다** \<---- 파일명이 될 텍스트 복사  
‘가나다’ 복사 후 매크로 실행’ (클립보드에 붙어있는 상태)

블록 저장할 영역 내용

[스크립트 기록으로 생성된 코드]

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를 통해 이런 저런 코드를 생성해 보았지만, 역부족이라 도움을 청해봅니다 ㅠㅠ

---

<div class="post-metadata">

### Author: ![ygyoun](https://avatars.discourse-cdn.com/v4/letter/y/b4bc9f/32.png) [@ygyoun](https://forum.developer.hancom.com/u/ygyoun)
#### Post date: [1월 9, 2025, 12:42오전 UTC](https://forum.developer.hancom.com/t/topic/2098/2 "2025-01-09T00:42:33Z")

</div>

안녕하세요

아래 게시글에서 말씀하신 코드로 하시면 동작하는 것 같습니다.  
추가 문의가 있으시면 말씀 부탁드립니다.

감사합니다.

> [@파이썬 이용해서 블록 저장하기](https://forum.developer.hancom.com/t/topic/2100):
>
> 아까 게시글 남겼었는데, 파이썬으로도 구현이 어려워 다시 문의 드립니다. 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(…

---

<div class="post-metadata">

### Author: ![user373](https://avatars.discourse-cdn.com/v4/letter/u/13edae/32.png) [@user373](https://forum.developer.hancom.com/u/user373)
#### Post date: [1월 9, 2025, 1:32오전 UTC](https://forum.developer.hancom.com/t/topic/2098/3 "2025-01-09T01:32:24Z")

</div>

답변 감사합니다!

빈 문서로 저장되는게 문제랍니다!

예를들어 ‘과일’ 이라는 단어를 제가 복사해서 클립보드에 남아있는 상태로  
한글 문서에서 제가 저장하고자 하는 내용(바나나/사과/배/포도)에 블록을 지정하고  
매크로를 실행하면

파일명: ‘과일.hwp’ \> 열었을 때 내용에 ‘바나나/사과/배/포도’ 가 저장되도록 하는 기능을  
구현하고 싶은데 계속 내용은 비어져 있는 상태더라구요 ㅠㅠ

보잘것 없는 코드를 테스트 해주셨다니 정말 감사합니다…!  
계속 해결책을 찾아보고 있습니다 ㅠ ㅠ

---

<div class="post-metadata">

### Author: ![ygyoun](https://avatars.discourse-cdn.com/v4/letter/y/b4bc9f/32.png) [@ygyoun](https://forum.developer.hancom.com/u/ygyoun)
#### Post date: [1월 9, 2025, 2:08오전 UTC](https://forum.developer.hancom.com/t/topic/2098/4 "2025-01-09T02:08:46Z")

</div>

> [@user373](#):
>
> 한글 문서에서 제가 저장하고자 하는 내용(바나나/사과/배/포도)

이 문서를 먼저 열고 블록을 지정한 후에 블록 저장을 해야할 것 같네요

아래 가이드 참고하시면 좋을 것 같습니다.

> **[개발 가이드](https://developer.hancom.com/hwpautomation)**
>
> 개발 가이드

---

<div class="post-metadata">

### Author: ![user373](https://avatars.discourse-cdn.com/v4/letter/u/13edae/32.png) [@user373](https://forum.developer.hancom.com/u/user373)
#### Post date: [1월 9, 2025, 3:05오후 UTC](https://forum.developer.hancom.com/t/topic/2098/5 "2025-01-09T15:05:57Z")

</div>

네! 감사합니다 참고해서 다시 연구해보겠습니다! ☺ 자료 찾아주셔서 감사합니다!

---

<div class="post-metadata">

### Author: ![jhbang](https://avatars.discourse-cdn.com/v4/letter/j/ee59a6/32.png) [@jhbang](https://forum.developer.hancom.com/u/jhbang)
#### Post date: [1월 9, 2025, 11:31오후 UTC](https://forum.developer.hancom.com/t/topic/2098/6 "2025-01-09T23:31:34Z")

</div>

안녕하세요.

문의하신 동작을 구현할 수 있는 몇 가지 오토메이션 API를 가이드 드리면,

⓵ 블록된 텍스트 가져오기  
해당 구현이 클립보드가 굳이 필요할 것 같지는 않은데요.  
GetTextFile을 통해 본문의 블록된 텍스트를 String 형식으로 받아올 수 있는 API가 있으니 참고 부탁드립니다.

 ![image](https://us1.discourse-cdn.com/flex016/uploads/hancom_dev_forum/original/2X/1/102deccd577b52fc2b9aeacbaea0a4b8dd5b6562.png)

⓶ 메시지박스  
내가 만든 문자열에 대해 디버깅을 수월하게 하기 위해 메시지박스를 이용해보시면 좋을 것 같습니다.

 ![image](https://us1.discourse-cdn.com/flex016/uploads/hancom_dev_forum/original/2X/3/34a293ec8741fbee0887bd482e7f32976ea1fba5.png)

⓷ 문서 저장  
오토메이션 API에는 문서 저장할 수 있는 다양한 방법이 있습니다.  
저는 보통 SaveAs 선호하는 편입니다.

 ![image](https://us1.discourse-cdn.com/flex016/uploads/hancom_dev_forum/original/2X/d/dda9995c2d707d87989bd7d0a9c8ba07e6ce5492.png)

```auto
function OnScriptMacro_script7()
{
	var saveFileName;
	var blockedText = GetTextFile("UNICODE", "saveblock");

	saveFileName = "c:\\" + blockedText + ".hwp";
	
	// 메시지 박스로 저장 파일 확인용으로 확인 후 제거하면 됨
	XHwpMessageBox.String = saveFileName;
	XHwpMessageBox.DoModal();

	SaveAs(saveFileName, "HWP", "");
}

```

API 문서 링크 : [개발 가이드 | 한컴디벨로퍼](https://developer.hancom.com/hwpautomation)

감사합니다.

---

<div class="post-metadata">

### Author: ![user373](https://avatars.discourse-cdn.com/v4/letter/u/13edae/32.png) [@user373](https://forum.developer.hancom.com/u/user373)
#### Post date: [1월 21, 2025, 3:02오후 UTC](https://forum.developer.hancom.com/t/topic/2098/7 "2025-01-21T15:02:18Z")

</div>

상세히 메서드까지 정리해주셔서 감사합니다!  
일단 클립보드에 붙여진 텍스트를 사용하고자 했던 이유는

1. 파일명이 될 텍스트를 ‘먼저’ 복사
2. 이후 저장하고 싶은 영역 블록 지정-표, 이미지, 텍스트 혼합되어 있음- 후 스크립트 실행

위의 코드로 진행하게 되면 후에 블록 지정한 영역의 표, 이미지, 텍스트가 파일명이 될 수 없기 때문에  
결국 제가 처음에 만들고자 했던 기능은 불가능하네요 😂

일단 우회하여 다른 방법으로 작업을 진행하긴 했습니다!  
코멘트 달아주신 내용 응용해서 한번 더 코드 만들어볼게요! 감사합니다!
