# InsertCtrl 질문

**URL:** <https://forum.developer.hancom.com/t/insertctrl/2506>\
**Category:** 한글 오토메이션\
**Created:** [5월 18, 2025, 4:55오전 UTC](https://forum.developer.hancom.com/t/insertctrl/2506 "2025-05-18T04:55:27Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![kosohn](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.developer.hancom.com/kosohn/32/2313_2.png) [@kosohn](https://forum.developer.hancom.com/u/kosohn)\
**Post date:** [5월 18, 2025, 4:55오전 UTC](https://forum.developer.hancom.com/t/insertctrl/2506/1 "2025-05-18T04:55:27Z")

</div>

안녕하세요.  
InsertCtrl 매서드를 이용하여 사각형을 그리는 매크로 코드입니다.  
크기 적용이 안될 뿐더러  
ctrl+n, k로 개체 속성창을 띄워서 크기를 수정해도 반영이 안되네요.

무엇이 잘못된 건지 봐 주세요.

```auto
function OnScriptMacro_script2()
{
	var set = CreateSet("ShapeObject");
	set.SetItem("TreatAsChar", 0);
	set.SetItem("TextWrap", 1);
	set.SetItem("TextFlow", 0);
	set.SetItem("VertRelTo", 0);
	set.SetItem("HorzRelTo", 0);
	set.SetItem("VertAlign", 0);
	set.SetItem("HorzAlign", 0);
	set.SetItem("WidthRelTo", 4);
	set.SetItem("HeightRelTo", 2);
	set.SetItem("VertOffset", 20);
	set.SetItem("HorzOffset", 30);
	set.SetItem("Height", 600);
	set.SetItem("Width", 500);
	InsertCtrl("$rec", set);
}

```

![Animation](https://us1.discourse-cdn.com/flex016/uploads/hancom_dev_forum/original/2X/a/a249588659d914e27a5d4cd142b7dd2293907b00.gif)

---

<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:** [5월 21, 2025, 12:05오전 UTC](https://forum.developer.hancom.com/t/insertctrl/2506/2 "2025-05-21T00:05:44Z")

</div>

안녕하세요.

한글의 그리기 개체는 점으로 구성되어 있어서 ShapeDrawLayOut 서브셋 속성을 추가로 삽입되어야 합니다.  
아래는 사각형 그리기 개체를 삽입하는 예제 입니다. (매크로 이용)

```auto
  HAction.GetDefault("DrawObjCreatorRectangle", HParameterSet.HShapeObject.HSet);
  with (HParameterSet.HShapeObject)
  {
      ShapeDrawFillAttr.Type = BrushType("NullBrush|WinBrush");
      ShapeDrawFillAttr.WinBrushAlpha = 0;
      ShapeDrawFillAttr.WinBrushFaceStyle = HatchStyle("None");
      ShapeDrawFillAttr.WinBrushHatchColor = RGBColor(0, 0, 0);
      ShapeDrawFillAttr.WinBrushFaceColor = RGBColor(255, 255, 255);
      ShapeDrawLineAttr.Alpha = 0;
      ShapeDrawLineAttr.OutLineStyle = HwpOutLineStyle("Normal");
      ShapeDrawLineAttr.TailFill = 1;
      ShapeDrawLineAttr.HeadFill = 1;
      ShapeDrawLineAttr.TailSize = EndSize("MediumMedium");
      ShapeDrawLineAttr.HeadSize = EndSize("MediumMedium");
      ShapeDrawLineAttr.EndCap = 1;
      ShapeDrawLineAttr.TailStyle = EndStyle("Normal");
      ShapeDrawLineAttr.HeadStyle = EndStyle("Normal");
      ShapeDrawLineAttr.Width = MiliToHwpUnit(0.1);
      ShapeDrawLineAttr.Style = HwpLineType("Solid");
      ShapeDrawLineAttr.Color = RGBColor(0, 0, 0);
      ShapeDrawLayOut.CreateItemArray("CreatePt", 8);
      ShapeDrawLayOut.CreatePt.Item(0) = 0;
      ShapeDrawLayOut.CreatePt.Item(1) = 0;
      ShapeDrawLayOut.CreatePt.Item(2) = 20409;
      ShapeDrawLayOut.CreatePt.Item(3) = 0;
      ShapeDrawLayOut.CreatePt.Item(4) = 20409;
      ShapeDrawLayOut.CreatePt.Item(5) = 20409;
      ShapeDrawLayOut.CreatePt.Item(6) = 0;
      ShapeDrawLayOut.CreatePt.Item(7) = 20409;
      ShapeDrawLayOut.CreateNumPt = 4;
      TreatAsChar = 0;
      TextWrap = TextWrapType("TopAndBottom");
      VertOffset = MiliToHwpUnit(0.0);
      VertAlign = VAlign("Top");
      VertRelTo = VertRel("Paper");
      HorzOffset = MiliToHwpUnit(0.0);
      HorzAlign = HAlign("Justify");
      HorzRelTo = HorzRel("Paper");
      HeightRelTo = HeightRel("Absolute");
      Height = 20409;
      WidthRelTo = WidthRel("Absolute");
      Width = 20409;
      NumberingType = Numbering("Figure");
      TextFlow = TextFlowType("BothSides");
      AdjustTextbox = 0;
      ShapeCreationMode = 0;
      ShapeCreationType = 1;
  }
  HAction.Execute("DrawObjCreatorRectangle", HParameterSet.HShapeObject.HSet);

```

감사합니다.
