글상자의 세로 정렬 관련 설정

글상자의 세로 정렬 관련된 설정을 했는데, 적용이 되지 않습니다, 어디가 문제일까요?

var dact = CreateAction(“ShapeObjDialog”);
var dset = dact.CreateSet();
dact.GetDefault(dset);
var mset = dset.CreateItemSet(“ShapeListProperites”, “VertAlign”) //x
mset.SetItem(“VAlign”, “Top”);
dact.Execute(dset);

2개의 좋아요

VAlign 속성을 문자열로 지정한 것이 잘못된 것 같습니다.
아래 샘플 코드를 작성해 봤는데요.
적용해보세요.

var action = CreateAction("ShapeObjDialog");
var set = action.CreateSet();
var subset;

action.GetDefault(set);

// set에 ShapeListProperites 속성이 있는지 확인
if (!set.ItemExist("ShapeListProperites")) {
   // 없다면 ShapeListProperites 서브 속성을 만든다.
   subset = set.CreateItemSet("ShapeListProperites", "DrawTextBox");
   subset.SetItem("VertAlign", VAlign("Top");    // VertAlign 아이템은 정수형의 값을 갖기 때문에 VAlign 메소드를 통해 String -> int 형으로 변환한다.
} else {
  // 있다면 ShapeListProperites 속성을 구해서 세로 정렬 속성을 지정한다.
  subset = set.Item("ShapeListProperites");
  subset.SetItem("VertAlign", VAlign("Top"));
  set.SetItem("ShapeListProperites", subset);
}

action.Execute(set);

감사합니다. :grinning:

4개의 좋아요

답변 감사드립니다. 그런데 19줄에서 스크립트 오류가 호출됩니다.(undefined, null 오류)
subset.SetItem(“VertAlign”, VAlign(“Top”)); < -요 부분에서 오류.

3개의 좋아요

위 댓글 코드에 오타가 있어서 수정을 했습니다.
ShapeListProperties → ShapeListProperites 수정함 :joy:

(스펠링은 ShapeListProperties 맞는 것 같은데 :thinking: … API 문서하고 맞지 않네요.)

4개의 좋아요

오타가 있을줄은 몰랐는데, 감사합니다, 어떻게 이런것까지 발견을 하셨을까요~ 감사합니다 :grinning:

3개의 좋아요