# 표복사는 어떻게 할수 있을까요?

**URL:** https://forum.developer.hancom.com/t/topic/1086
**Category:** 웹한글 기안기
**Created:** [11월 24, 2023, 8:13오전 UTC](https://forum.developer.hancom.com/t/topic/1086 "2023-11-24T08:13:50Z")
**Posts on this page:** 11
**Page:** 1

<div class="post-metadata">

### Author: ![user58](https://avatars.discourse-cdn.com/v4/letter/u/a5b964/32.png) [@user58](https://forum.developer.hancom.com/u/user58)
#### Post date: [11월 24, 2023, 8:13오전 UTC](https://forum.developer.hancom.com/t/topic/1086/1 "2023-11-24T08:13:50Z")

</div>

이 범주에서는 웹한글 기안기에 대한 다른 사용자의 기술 지원을 제공받을 수 있습니다.

안녕하세요  
다른 문서를 불러와서 표를 복사할려는데 감이 안잡힙니다

일단 getTextFile settextfile 의 기능은 알고 쓰고는 있는데

표는 ctrl영역으로 복사가 가능할거 같아서 방법을 물어봅니다

Hwpctrl.run(“Copy”) 기능이 있는지 있으면 사용 법이 어찌 될지 물어 봅니다

---

<div class="post-metadata">

### Author: ![user16](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.developer.hancom.com/user16/32/785_2.png) [@user16](https://forum.developer.hancom.com/u/user16)
#### Post date: [11월 24, 2023, 2:04오후 UTC](https://forum.developer.hancom.com/t/topic/1086/2 "2023-11-24T14:04:56Z")

</div>

```auto
ctrl = hwp.HeadCtrl
while True:
    if ctrl.UserDesc == "표":
        hwp.SetPosBySet(ctrl.GetAnchorPos(0)
        break
    ctrl = ctrl.Next

hwp.FindCtrl() # 표 선택됨.
hwp.Run("Copy") # 표 복사됨

```

참고해주시기 바랍니다.

---

<div class="post-metadata">

### Author: ![anon35536051](https://avatars.discourse-cdn.com/v4/letter/a/898d66/32.png) [@anon35536051](https://forum.developer.hancom.com/u/anon35536051)
#### Post date: [11월 26, 2023, 11:41오후 UTC](https://forum.developer.hancom.com/t/topic/1086/3 "2023-11-26T23:41:39Z")

</div>

> [@user58](#):
>
> 안녕하세요  
> 다른 문서를 불러와서 표를 복사할려는데 감이 안잡힙니다
> 
> 일단 getTextFile settextfile 의 기능은 알고 쓰고는 있는데
> 
> 표는 ctrl영역으로 복사가 가능할거 같아서 방법을 물어봅니다
> 
> Hwpctrl.run(“Copy”) 기능이 있는지 있으면 사용 법이 어찌 될지 물어 봅니다

안녕하세요.

웹한글 기안기에서는 chrome 보안이슈로 인해 API를 통한 “Copy” 기능을 제공하고 있지 않습니다.

---

<div class="post-metadata">

### Author: ![user58](https://avatars.discourse-cdn.com/v4/letter/u/a5b964/32.png) [@user58](https://forum.developer.hancom.com/u/user58)
#### Post date: [11월 27, 2023, 12:15오전 UTC](https://forum.developer.hancom.com/t/topic/1086/4 "2023-11-27T00:15:45Z")

</div>

그러면 어떤 방법으로 웹기안기에서 다른 문서의 표를 가져와서 새로운 서식에 똑같이 그릴수 있을까요?

---

<div class="post-metadata">

### Author: ![user58](https://avatars.discourse-cdn.com/v4/letter/u/a5b964/32.png) [@user58](https://forum.developer.hancom.com/u/user58)
#### Post date: [11월 27, 2023, 12:17오전 UTC](https://forum.developer.hancom.com/t/topic/1086/5 "2023-11-27T00:17:42Z")

</div>

그러면 어떤 방법이 있을까요? 웹기안기에서 표의 누름틀까지 복사가 가능해야하는데요

---

<div class="post-metadata">

### Author: ![anon35536051](https://avatars.discourse-cdn.com/v4/letter/a/898d66/32.png) [@anon35536051](https://forum.developer.hancom.com/u/anon35536051)
#### Post date: [11월 27, 2023, 12:57오전 UTC](https://forum.developer.hancom.com/t/topic/1086/6 "2023-11-27T00:57:52Z")

</div>

일반적으로 API를 이용한다면, Selection과 GetTextFile과 SetTextFile을 이용하셔야 합니다.

표를 선택하는 방법은 조건에 따라 두가지 정도의 방법이 있습니다.

1. 컨트롤을 조회해서 선택  
표가 하나만 존재하거나, 몇번째 표를 복사할지 알고 있는 경우

```auto
// user16님 예제코드를 가져왔습니다.
var ctrl = HwpCtrl.HeadCtrl
while (ctrl && ctrl.CtrlID != 0x74626c20) { // 문서내 컨트롤을 순회하면서 표를 검색
    ctrl = ctrl.Next;
}
if (ctrl && ctrl.CtrlID != 0x74626c20) {
    HwpCtrl.SetPosBySet(ctrl.GetAnchorPos(0));
    HwpCtrl.Run("SelectCtrlFront"); // 현 위치를 기준으로 뒤쪽에 있는 컨트롤을 선택함
}

```

1. 표의 셀에 필드가 있을 때 MoveToField를 활용해서 선택

```auto
HwpCtrl.MoveToField("필드명", true, true, false); // 표 내 필드로 이동
HwpCtrl.Run("CloseEx"); // 표 밖으로 캐럿을 이동
HwpCtrl.Run("SelectCtrlReverse"); // 현 위치를 기준으로 앞쪽의 컨트롤을 선택함

```

이후 GetTextFile과 SetTextFile을 이용하여 표를 복사하면 됩니다.

```auto
var data;
HwpCtrl.GetTextFile("HWP", "saveblock;", function(x) {
    data = x;
});
// ... GetTextFile의 결과를 붙일 문서를 연 뒤...
HwpCtrl.SetTextFile(data, "HWP", "insertfile;" x => console.log(x));

```

---

<div class="post-metadata">

### Author: ![user58](https://avatars.discourse-cdn.com/v4/letter/u/a5b964/32.png) [@user58](https://forum.developer.hancom.com/u/user58)
#### Post date: [11월 28, 2023, 2:19오전 UTC](https://forum.developer.hancom.com/t/topic/1086/7 "2023-11-28T02:19:32Z")

</div>

표는 문서 맨 상단에 위치합니다

표의 누름틀이 많아서 첫번쨔 누름틀에 필드를 이동후 closeex 와 selectctrlreverse 하고 gettextfile 을 썻는데 빈값으로 나오네요

문서 상단의 표만 개채선택할려면 어떻게 해야할까요

---

<div class="post-metadata">

### Author: ![user58](https://avatars.discourse-cdn.com/v4/letter/u/a5b964/32.png) [@user58](https://forum.developer.hancom.com/u/user58)
#### Post date: [11월 28, 2023, 2:20오전 UTC](https://forum.developer.hancom.com/t/topic/1086/8 "2023-11-28T02:20:48Z")

</div>

표는 문서 맨 상단에 위치합니다

표의 누름틀이 많아서 첫번쨔 누름틀에 필드를 이동후 closeex 와 selectctrlreverse 하고 gettextfile 을 썻는데 빈값으로 나오네요

문서 상단의 표만 개채선택할려면 어떻게 해야할까요  
[

---

<div class="post-metadata">

### Author: ![anon35536051](https://avatars.discourse-cdn.com/v4/letter/a/898d66/32.png) [@anon35536051](https://forum.developer.hancom.com/u/anon35536051)
#### Post date: [11월 28, 2023, 4:10오전 UTC](https://forum.developer.hancom.com/t/topic/1086/9 "2023-11-28T04:10:04Z")

</div>

GetTextFile() 호출 전에 표가 선택되었는지 확인해보시기 바랍니다.  
선택이 안되어 있다면, API를 순서대로 실행해보면서, 캐럿이 잘 이동되고 있는지 확인해보시기 바랍니다.

---

<div class="post-metadata">

### Author: ![user58](https://avatars.discourse-cdn.com/v4/letter/u/a5b964/32.png) [@user58](https://forum.developer.hancom.com/u/user58)
#### Post date: [11월 28, 2023, 5:08오전 UTC](https://forum.developer.hancom.com/t/topic/1086/10 "2023-11-28T05:08:35Z")

</div>

테이블 표 전체 셀블록 할려면 어떻게 해야할까요?

---

<div class="post-metadata">

### Author: ![anon35536051](https://avatars.discourse-cdn.com/v4/letter/a/898d66/32.png) [@anon35536051](https://forum.developer.hancom.com/u/anon35536051)
#### Post date: [11월 28, 2023, 5:21오전 UTC](https://forum.developer.hancom.com/t/topic/1086/11 "2023-11-28T05:21:13Z")

</div>

표의 특정 셀 안에 캐럿이 있다는 가정하에 다음과 같이 동작하면 전체 셀이 선택됩니다.

```auto
HwpCtrl.Run("TableCellBlock");
HwpCtrl.Run("TableCellBlockExtend");
HwpCtrl.Run("TableCellBlockExtend");

```
