# ctrl로 모든 표가 아닌, 지정된 표만 삭제하는 기능

**URL:** <https://forum.developer.hancom.com/t/ctrl/1918>\
**Category:** 한글 오토메이션\
**Created:** [11월 7, 2024, 1:13오전 UTC](https://forum.developer.hancom.com/t/ctrl/1918 "2024-11-07T01:13:02Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![user323](https://avatars.discourse-cdn.com/v4/letter/u/51bf81/32.png) [@user323](https://forum.developer.hancom.com/u/user323)\
**Post date:** [11월 7, 2024, 1:13오전 UTC](https://forum.developer.hancom.com/t/ctrl/1918/1 "2024-11-07T01:13:02Z")

</div>

안녕하세요.  
문서에서 ctrl을 이용하여 지정된 표(특정 글자가 포함된)만 삭제하려고 합니다.  
즉 전체 1,2,3번의 표가 있으면, 2번만 지우려고 합니다.  
아래 방식으로 하니 모든 표가 삭제됩니다.

hwp.HAction.GetDefault(“DeleteCtrls”, hwp.HParameterSet.HDeleteCtrls.HSet)  
hwp.HParameterSet.HDeleteCtrls.CreateItemArray(“DeleteCtrlType”, 1)  
hwp.HParameterSet.HDeleteCtrls.DeleteCtrlType.SetItem(0, 55) #55번, 표  
hwp.HAction.Execute(“DeleteCtrls”, hwp.HParameterSet.HDeleteCtrls.HSet)

특정 표만 지우는 방법을 알 수 있을까요?

---

<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:** [11월 10, 2024, 11:56오후 UTC](https://forum.developer.hancom.com/t/ctrl/1918/3 "2024-11-10T23:56:21Z")

</div>

안녕하세요.

삭제하고자 하는 표를 특정할 수 있는 조건이 있어야 원하는 동작을 구현할 수 있을 것 같습니다.  
문의대로 문서 내의 “인덱스” 조건으로만 표를 찾아 삭제한다면 아래와 같이 구현하실 수 있습니다.

```auto
(C++)

CDHwpCtrlCode ctrl = (CDHwpCtrlCode)m_app.get_HeadCtrl();
int tblIdx = 0;

while (ctrl != NULL) {
    if (ctrl.get_CtrlID() == _T("tbl")) {
        // 0 베이스로 2번째 표의 인덱스를 계산함
        if (tblIdx == 1) {
            m_app.DeleteCtrl(ctrl);
            break;
        }
        tblIdx++;
    }
    ctrl = ctrl.get_Next();
}

```

감사합니다.

---

<div class="post-metadata">

**Author:** ![Lemon\_Mint](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.developer.hancom.com/lemon_mint/32/1225_2.png) [@Lemon\_Mint](https://forum.developer.hancom.com/u/Lemon_Mint)\
**Post date:** [11월 17, 2024, 1:06오후 UTC](https://forum.developer.hancom.com/t/ctrl/1918/4 "2024-11-17T13:06:46Z")

</div>

아 새로운 기능 추가하게해주셔서 감사합니다 🙂  
python 사용하고 계시다면

ctrl = hwp.HeadCtrl  
table\_dict = {}  
index = 1

while ctrl:  
if ctrl.UserDesc == ‘표’:  
table\_dict[index] = ctrl.GetAnchorPos(0)  
# print(f"Table {index}: Position {ctrl.GetAnchorPos(0)}")  
index += 1  
ctrl = ctrl.Next

selected\_pos = table\_dict.get(1)  
if selected\_pos:  
hwp.SetPosBySet(selected\_pos)  
hwp.FindCtrl()  
hwp.HAction.Run(“Delete”)

이 코드 한번 써보세요 ㅎㅎ  
selected\_pos = table\_dict.get() 쪽 괄호에 지우고싶은 표 번호를 적으시면 됩니다.
