# 표의 HML을 SetTextFile로 입력하면 문제 발생

**URL:** <https://forum.developer.hancom.com/t/hml-settextfile/2558>\
**Category:** 한글 오토메이션\
**Created:** [6월 5, 2025, 12:31오전 UTC](https://forum.developer.hancom.com/t/hml-settextfile/2558 "2025-06-05T00:31:39Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![user106](https://avatars.discourse-cdn.com/v4/letter/u/41988e/32.png) [@user106](https://forum.developer.hancom.com/u/user106)\
**Post date:** [6월 5, 2025, 12:31오전 UTC](https://forum.developer.hancom.com/t/hml-settextfile/2558/1 "2025-06-05T00:31:39Z")

</div>

[1] 한글 오토메이션입니다.  
[2] MFC (Visual C++) 환경입니다.  
[3] (중요) 다른 한글 오피스 버전은 문제가 없고, 한글 오피스 2024에만 해당합니다.

CHwpObject의 SetTextFile(varHML, \_T(“HWPML2X”), \_T(“insertfile”));을 사용해서 표의 HML 문자열을 입력하면, 약 80% 빈도(혹은 그 이상)로, 세로로 표가 2~4번 입력됩니다.

현재 빈도 정도면, 포럼 자체에서도 확인 가능해서 글부터 작성합니다.  
가능하면, 단위 샘플도 만들어볼 예정이긴 합니다.  
재현되셨는지 알려주시면 좋겠습니다.

---

<div class="post-metadata">

**Author:** ![user106](https://avatars.discourse-cdn.com/v4/letter/u/41988e/32.png) [@user106](https://forum.developer.hancom.com/u/user106)\
**Post date:** [6월 5, 2025, 12:59오전 UTC](https://forum.developer.hancom.com/t/hml-settextfile/2558/2 "2025-06-05T00:59:20Z")

</div>

저희가 확인한 시나리오에서는 A문서에서 표에 해당하는 HML파일을 얻어서 B문서에 입력(SetTextFile)하는 시나리오 입니다.  
같은 문서 상에서 SetTextFile하는 시나리오와 다른 문서 상에서 SetTextFile하는 시나리오는 다를 수도 있기 때문에 공유드립니다.

---

<div class="post-metadata">

**Author:** ![user106](https://avatars.discourse-cdn.com/v4/letter/u/41988e/32.png) [@user106](https://forum.developer.hancom.com/u/user106)\
**Post date:** [6월 5, 2025, 1:06오전 UTC](https://forum.developer.hancom.com/t/hml-settextfile/2558/3 "2025-06-05T01:06:49Z")

</div>

HML파일 아니고 HML문구입니다. 글을 쓴 후, 다시 보니까, 잘못 쓴 부분이 발견되어서 언급합니다.

---

<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:** [6월 5, 2025, 2:07오전 UTC](https://forum.developer.hancom.com/t/hml-settextfile/2558/4 "2025-06-05T02:07:54Z")

</div>

안녕하세요.

재현 시나리오를 정리하면,  
① 표가 있는 A.hml 문서를 B문서에 SetTextFile(\_T(“A.hml”, \_T(“HWPML2X”), \_T(“insertfile”));  
② “HML” 문자열 입력

\<발생 현상\>  
B문서에 삽입된 A.hml 문서의 **표가 세로로 입력** 됨

@user106  
재현 시나리오와 발생 현상이 맞는지 확인 부탁드립니다.  
세로로 표가 입력된다는 현상이 어떤 것인지 캡쳐 화면으로 보여주시면 답변 드리는데 도움될 것 같습니다.

감사합니다.

---

<div class="post-metadata">

**Author:** ![user106](https://avatars.discourse-cdn.com/v4/letter/u/41988e/32.png) [@user106](https://forum.developer.hancom.com/u/user106)\
**Post date:** [6월 5, 2025, 3:57오전 UTC](https://forum.developer.hancom.com/t/hml-settextfile/2558/5 "2025-06-05T03:57:24Z")

</div>

원문입니다.

 ![image](https://us1.discourse-cdn.com/flex016/uploads/hancom_dev_forum/original/2X/4/4ad7d905ccf4333371379b500bd3457c762b7eef.png)  
SetTextFile로 붙여 넣은 문서입니다.

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

---

<div class="post-metadata">

**Author:** ![user106](https://avatars.discourse-cdn.com/v4/letter/u/41988e/32.png) [@user106](https://forum.developer.hancom.com/u/user106)\
**Post date:** [6월 5, 2025, 6:25오전 UTC](https://forum.developer.hancom.com/t/hml-settextfile/2558/6 "2025-06-05T06:25:05Z")

</div>

제가 조금 더 확인해보겠습니다. 확인하지 말고 계세요.

---

<div class="post-metadata">

**Author:** ![user106](https://avatars.discourse-cdn.com/v4/letter/u/41988e/32.png) [@user106](https://forum.developer.hancom.com/u/user106)\
**Post date:** [6월 5, 2025, 7:21오전 UTC](https://forum.developer.hancom.com/t/hml-settextfile/2558/7 "2025-06-05T07:21:30Z")

</div>

```auto
SetTextFile(_T(“A.hml”, _T(“HWPML2X”), _T(“insertfile”));

```

을 사용해서

 ![20250605_161524](https://us1.discourse-cdn.com/flex016/uploads/hancom_dev_forum/original/2X/d/dfb32c479ad044701a1322c975c26ca0b3418350.jpeg)  
 ![20250605_161550](https://us1.discourse-cdn.com/flex016/uploads/hancom_dev_forum/original/2X/e/e06484330473e59f7d5c6c16a9c90687fd1c2c98.jpeg)  
“표”-“기본”-"글자처럼 취급"을 해제하거나, “표”-“표”-"여러 쪽 지원"에서 "나눔"이나 "셀 단위로 나눔"을 하면,  
상단에서 언급한 현상이 발생합니다.

태그로 보면,

```auto
<TABLE BorderFill="3" CellSpacing="0" ColCount="3" PageBreak="Table" RepeatHeader="true" RowCount="4">
						<SHAPEOBJECT InstId="1865560526" Lock="false" NumberingType="Table" TextWrap="TopAndBottom" ZOrder="1">
							<SIZE Height="11568" HeightRelTo="Absolute" Protect="false" Width="23028" WidthRelTo="Absolute"/>
							<POSITION AffectLSpacing="false" AllowOverlap="false" FlowWithText="true" HoldAnchorAndSO="false" HorzAlign="Left" HorzOffset="0" HorzRelTo="Para" TreatAsChar="false" VertAlign="Top" VertOffset="0" VertRelTo="Para"/>
							<OUTSIDEMARGIN Bottom="0" Left="0" Right="0" Top="0"/>
						</SHAPEOBJECT>
                                      </TABLE>

```

의 TABLE태그의 PageBreak속성입니다. 또한 SHAPEOBJECT의 ZOrder속성도 편집했습니다.  
POSITION태그의 TreatAsChar속성입니다.

---

<div class="post-metadata">

**Author:** ![user106](https://avatars.discourse-cdn.com/v4/letter/u/41988e/32.png) [@user106](https://forum.developer.hancom.com/u/user106)\
**Post date:** [6월 5, 2025, 7:23오전 UTC](https://forum.developer.hancom.com/t/hml-settextfile/2558/8 "2025-06-05T07:23:25Z")

</div>

태그 부분이 사라져서 나와서 다시 적어봅니다.  
=\>

---

<div class="post-metadata">

**Author:** ![user106](https://avatars.discourse-cdn.com/v4/letter/u/41988e/32.png) [@user106](https://forum.developer.hancom.com/u/user106)\
**Post date:** [6월 9, 2025, 12:56오전 UTC](https://forum.developer.hancom.com/t/hml-settextfile/2558/9 "2025-06-09T00:56:02Z")

</div>

오류 시나리오가 최신화되어서 공유 드립니다.

```auto
m_ctrlHwp->SetTextFile(varHML, _T("HWPML2X"), _T("insertfile"));
m_ctrlHwp->Run(_T("MoveSelNextChar"));
m_ctrlHwp->SetTextFile(varHML, _T("HWPML2X"), _T("insertfile"));

```

순서로 SetTextFile을 한 후에 입력된 부분을 다시 선택한 후에 SetTextFile을 하면, 표가 여러개 나옵니다.  
단위 테스트 샘플 문서도 공유드리겠습니다.

---

<div class="post-metadata">

**Author:** ![user106](https://avatars.discourse-cdn.com/v4/letter/u/41988e/32.png) [@user106](https://forum.developer.hancom.com/u/user106)\
**Post date:** [6월 9, 2025, 1:03오전 UTC](https://forum.developer.hancom.com/t/hml-settextfile/2558/10 "2025-06-09T01:03:55Z")

</div>

구글 드라이브입니다.  
해당 링크는 다운로드 받은 후에, 알려주시면 권한을 닫을 예정이므로, 반드시 다운로드 완료 답장을 부탁드립니다.

> **[Hwp2024Table - Google Drive](https://drive.google.com/drive/folders/1MPcLFEP4Gul0wYywmD5N2PkzkU3J7GV2?usp=sharing)**

---

<div class="post-metadata">

**Author:** ![user106](https://avatars.discourse-cdn.com/v4/letter/u/41988e/32.png) [@user106](https://forum.developer.hancom.com/u/user106)\
**Post date:** [6월 9, 2025, 1:08오전 UTC](https://forum.developer.hancom.com/t/hml-settextfile/2558/11 "2025-06-09T01:08:16Z")

</div>

해당 샘플을 사용하는 방법입니다.  
메뉴에서 "표가 있는 문서"를 열기 합니다. "문서 순회 및 표확인"을 클릭하면, 문서에 있는 표를 문서 맨 뒤에 붙여넣기 합니다.  
감사합니다.

---

<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:** [6월 9, 2025, 1:09오전 UTC](https://forum.developer.hancom.com/t/hml-settextfile/2558/12 "2025-06-09T01:09:15Z")

</div>

다운 받았습니다.  
확인하고 말씀드리겠습니다.

---

<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:** [6월 9, 2025, 1:42오전 UTC](https://forum.developer.hancom.com/t/hml-settextfile/2558/13 "2025-06-09T01:42:33Z")

</div>

표 하나짜리 문서를 열고 "문서 순회 및 표확인"을 클릭하면  
hwpOlectrl-\>SetHMLData가 두 번 타서  
표가 2개가 추가로 만들어집니다.  
정상 동작으로 보이는데 3개 이상 만들어지나요?

---

<div class="post-metadata">

**Author:** ![user106](https://avatars.discourse-cdn.com/v4/letter/u/41988e/32.png) [@user106](https://forum.developer.hancom.com/u/user106)\
**Post date:** [6월 9, 2025, 1:47오전 UTC](https://forum.developer.hancom.com/t/hml-settextfile/2558/14 "2025-06-09T01:47:25Z")

</div>

3개 이상 만들어지는 경우도 있긴 합니다. 2개가 나오는 것 자체도 문제가 있는 거 아닌가요?  
제가 보기에는 그 문제를 해결하면, 3개 이상 나오는 경우도 자동으로 해결될 것 같습니다.

---

<div class="post-metadata">

**Author:** ![user106](https://avatars.discourse-cdn.com/v4/letter/u/41988e/32.png) [@user106](https://forum.developer.hancom.com/u/user106)\
**Post date:** [6월 9, 2025, 1:51오전 UTC](https://forum.developer.hancom.com/t/hml-settextfile/2558/15 "2025-06-09T01:51:03Z")

</div>

참고로 3개이상 나오는 경우는 표안에 붙여넣었을 경우입니다.

---

<div class="post-metadata">

**Author:** ![user106](https://avatars.discourse-cdn.com/v4/letter/u/41988e/32.png) [@user106](https://forum.developer.hancom.com/u/user106)\
**Post date:** [6월 9, 2025, 1:53오전 UTC](https://forum.developer.hancom.com/t/hml-settextfile/2558/16 "2025-06-09T01:53:40Z")

</div>

SetTextFile을 한 후에 입력된 부분을 다시 선택한 후에 SetTextFile을 하면, 표가 1개 나와야 합니다.

---

<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:** [6월 9, 2025, 2:12오전 UTC](https://forum.developer.hancom.com/t/hml-settextfile/2558/17 "2025-06-09T02:12:29Z")

</div>

> SetTextFile을 한 후에 입력된 부분을 다시 선택한 후에 SetTextFile을 하면, 표가 1개 나와야 합니다.  
> → SetTextFile를 2번 호출하면 표가 2번 나와야 합니다. [문서 끼워 넣기] 기능과 유사하다고 생각하시면 좋을 것 같습니다.

올려주신 코드를 보면 hwpOlectrl-\>SetHMLData 함수를 2번 호출하니 표가 2개가 만들어지고 있습니다. 즉, SetTextFile를 2번 호출 했기 때문에 표가 2개 만들어 지고 있습니다.

제가 이해한게 맞을까요?

---

<div class="post-metadata">

**Author:** ![user106](https://avatars.discourse-cdn.com/v4/letter/u/41988e/32.png) [@user106](https://forum.developer.hancom.com/u/user106)\
**Post date:** [6월 9, 2025, 2:26오전 UTC](https://forum.developer.hancom.com/t/hml-settextfile/2558/18 "2025-06-09T02:26:59Z")

</div>

아니요.  
이해가 쉽기 위해서 SetTextFile를 붙여넣기라고 표현하겠습니다.  
(중요) "붙여넣기"한 후에, 붙여넣어진 표를 전체 선택합니다. 그 후에 다시 "붙여넣기"하면 표는 1개만 나옵니다.  
다른 위치에 두개를 "붙여넣기"한 것이 아닙니다.

m\_ctrlHwp-\>SetTextFile(varHML, \_T(“HWPML2X”), \_T(“insertfile”));  
m\_ctrlHwp-\>Run(\_T(“MoveSelNextChar”));  
m\_ctrlHwp-\>SetTextFile(varHML, \_T(“HWPML2X”), \_T(“insertfile”));  
에서 MoveSelNextChar가 있다는 점을 유념하시기 바랍니다.

해깔리시면, 한글 오피스 2022에서 확인해보신 후에 한글 오피스 2024에서 다시 해보시기 바랍니다.

---

<div class="post-metadata">

**Author:** ![user106](https://avatars.discourse-cdn.com/v4/letter/u/41988e/32.png) [@user106](https://forum.developer.hancom.com/u/user106)\
**Post date:** [6월 9, 2025, 2:30오전 UTC](https://forum.developer.hancom.com/t/hml-settextfile/2558/19 "2025-06-09T02:30:02Z")

</div>

"붙여넣기"한 표를 다시 "덮어쓰기"하는 겁니다.

---

<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:** [6월 9, 2025, 5:41오전 UTC](https://forum.developer.hancom.com/t/hml-settextfile/2558/20 "2025-06-09T05:41:13Z")

</div>

SetTextFile에서 Selection을 푸는 동작이 2024에 들어갔네요 😭  
담당 팀과 상의하여 수정하겠습니다..  
그 전까지 SetTextFile을 한 번 더 하기 전에 지우는 동작을 추가 하는 건 어떨까요?

[다음 페이지](https://forum.developer.hancom.com/t/hml-settextfile/2558.md?page=2)
