안녕하세요.
InsertCtrl 매서드를 이용하여 사각형을 그리는 매크로 코드입니다.
크기 적용이 안될 뿐더러
ctrl+n, k로 개체 속성창을 띄워서 크기를 수정해도 반영이 안되네요.
무엇이 잘못된 건지 봐 주세요.
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);
}

1개의 좋아요
안녕하세요.
한글의 그리기 개체는 점으로 구성되어 있어서 ShapeDrawLayOut 서브셋 속성을 추가로 삽입되어야 합니다.
아래는 사각형 그리기 개체를 삽입하는 예제 입니다. (매크로 이용)
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);
감사합니다.
2개의 좋아요