//3-1. 현재 문단의 개요 수준 확인 및 변수에 저장
var paraset = myHwpObj.ParaShape;
var level = paraset.Item("Level");
//3-2. 개요 해제 및 스타일1 적용
myHwpObj.Run("PutOutlineNumber");
var act = myHwpObj.CreateAction("StyleEx");
var set = myHwpObj.CreateSet("Style");
set.SetItem("Apply", 0);// 스타일 목록의 순서입니다 ..! 0부터 시작입니다.
act.Execute(set);
myHwpObj.Run("MoveLineBegin"); // 문단 앞으로 이동
//3-3. (개요 수준 × 2) × 스페이스바를 문단 앞에 삽입
var act = myHwpObj.CreateAction("InsertText");
var set = myHwpObj.CreateSet("InsertText");
act.GetDefault(set);
var space = " ".repeat(level); // level 만큼 스페이스 생성
set.SetItem("Text", space);// 스페이스 삽입
act.Execute(set);
//3-4. (개요 수준 × 2) × 스페이스바 만큼 내어쓰기 적용
var i;
for (i = 0; i < level; i++) {
myHwpObj.Run("ParagraphShapeIndentNegative")//내어쓰기
}```
bhjung님 말씀대로, 본문 내의 문단 수를 파악하기는 오토메이션으로는 어렵지만,
줄바꿈의 갯수는 hwp.XHwpDocuments.Item(0).XHwpDocumentInfo.CurrentParagraphCount로
확인하실 수 있습니다. (다만, 글자처럼 취급된 표나 이미지 뒤의 줄바꿈도 '문단’으로 간주하므로 오차가 있습니다.
정확히 (표나 이미지 등 글자처럼 취급된 개체의 줄바꿈, 내용 없이 스페이스 또는 줄바꿈만 있는 문단 등을 제외하고)
유효한 문단의 줄바꿈만 카운트하고 싶으시다면 아래와 같이 코드를 작성해볼 수 있겠습니다.
para_count = 0
hwp.InitScan(option=0x00)
while True:
state, text = hwp.GetText()
if text.strip():
para_count += 1
if state in (0, 1):
break
print(para_count)