내부 콘솔에서 '문자.repeat(정수)' 형태의 메소드가 동작하지 않는데 특별한 이유가 있을까요?

지난번 “현재 문단의 개요 수준은 어떻게 확인가능할까요?” 문서에 이어지는 질문입니다.

(myHwpObj → Application 등) 다른 부분은 대체로 해결하거나 이해하였는데,

var space = " ".repeat(level); 부분에서 아래와 같이 에러가 뜹니다.
(일부러 level 부분을 숫자로 변경도 하고 단독으로 실행도 시켜보았는데 동일하게 뜨네요.)

image

[작성코드]
// 3-1. 현재 문단의 개요 수준 확인 및 변수에 저장
var paraset = Application.ParaShape; // 문단모양 불러오기
var level = paraset.Item(“Level”); // 문단모양 중 레벨 부분 추출하여 담기
// 3-2. 개요 해제 및 스타일1 적용
Application.Run(“PutOutlineNumber”); // 개요 해제
var act = Application.CreateAction(“Style”); // 동작 정의 - Style(스타일)
var set = Application.CreateSet(“Style”); // 비어있는 세트를 만듦 - HStyle
set.SetItem(“Apply”, 0); // ParameterSet HStyle의 항목 Apply에 0 대입(적용한 스타일 인덱스를 의미)
act.Execute(set); // 동작 실행(조건 : set)
Application.Run(“MoveLineBegin”); // 문단 앞으로 이동
// 3-3. (개요 수준 × 2) × 스페이스바를 문단 앞에 삽입
var act = Application.CreateAction(“InsertText”); // 동작정의 - InsertText(텍스트삽입)
var set = Application.CreateSet(“InsertText”); // 비어있는 세트를 만듦 - InsertText
act.GetDefault(set); // 액션초기화, = HAction.GetDefalut(“InsertText”, HParemeterSet.HInsertText.HSet)
var space = " ".repeat(level); // level 만큼 스페이스 생성
set.SetItem(“Text”, space); // 스페이스 삽입
act.Execute(set);

크롬 콘솔에서는 잘 작동되어서 더 의문입니다…
내부 스크립트 코드창에서는 사용할 수 없는 메소드일까요?

현재 사용중인 한글 버전은 한글 2020(버전 11.0.0.1623) 입니다.

1개의 좋아요

안녕하세요 ^^ ,

한글 내부 스크립트 매크로는 MS에서 제공하는 스크립트 엔진을 사용하고 있습니다.

해당 엔진에서는 javasript 가 아닌 JScript라고 하는 MS에서 제공하는 언어를 사용하고 있습니다.
JavaScript와 호환되는 부분도 있지만, JavaScript의 모든 기능을 사용할수는 없습니다… !
repeat의 경우는 내부 스크립트 매크로에서 사용이 불가능할것 같습니다.

감사합니다 ^^

1개의 좋아요

그렇군요. 결국은 반복문 이용해서 해결했습니다.

공식적인 레퍼런스인지는 모르겠지만, 관련 레퍼런스도 찾아서 링크 공유드려요. 감사합니다.

2개의 좋아요