문서 초기화 매크로 구성 중 문제....

문서를 초기화 하기 위해 다음과 같은 매크로를 작성하였으나

  1. 단나눔삭제 단계에서 “확인“버튼이 자동을 눌리지 않는 현상이 발생하고 있습니다.
  2. 바탕쪽이 삭제되지 않고 있습니다.
    어디를 수정해야 하나요??
    function OnScriptMacro_문서초기화()
    {
    조판부호삭제();
    구역삭제();
    단나눔삭제();
    빈칸정리();
    바탕쪽삭제;
    다단설정();
    }

function 조판부호삭제()
{
var fg5 = [14, 15, 22, 24, 26, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49];

var act = CreateAction("DeleteCtrls");
	var set = act.CreateSet();
	act.GetDefault(set);

var pset = set.CreateItemArray("DeleteCtrlType", fg5.length);
for (var i = 0; i < fg5.length; i++)
{
    		pset.SetItem(i, fg5[i]);
}
act.Execute(set); // 액션 실행

}

function 구역삭제()
{
var ctrl = HeadCtrl;
while (ctrl)
{
var nextCtrl = ctrl.Next;
if (ctrl.CtrlID == “secd”)
{
SetPosBySet(ctrl.GetAnchorPos(0));
HAction.Run(“DeleteBack”);
HAction.Run(“BreakPara”);
HAction.Run(“BreakPara”);
HAction.Run(“BreakPara”);
}
ctrl = nextCtrl;
}
}

function 단나눔삭제()
{
SetMessageBoxMode(0x00000001); // 확인 버튼으로 알고 있는데 안 먹히네
SetMessageBoxMode(0x00020000);
var split = [18, 54];
for (var i = 0; i < split.length; i++)
{
HAction.Run(“MoveTopLevelBegin”);
HAction.GetDefault(“Goto”, HParameterSet.HGotoE.HSet);
with (HParameterSet.HGotoE)
{
HSet.SetItem(“DialogResult”, split[i]);
SetSelectionIndex = 5;
}
while(HAction.Execute(“Goto”, HParameterSet.HGotoE.HSet))
{
HAction.Run(“DeleteBack”);
HAction.Run(“BreakPara”);
HAction.Run(“BreakPara”);
HAction.Run(“BreakPara”);
}
}
SetMessageBoxMode(0x00000000);
}

function 바탕쪽삭제()
{
SetMessageBoxMode(0x00000001);
SetMessageBoxMode(0x00010000);
HAction.GetDefault(“MasterPage”, HParameterSet.HMasterPage.HSet);
with (HParameterSet.HMasterPage)
{
Duplicate = 0;
Front = 0;
Type = 2;
}
HAction.Execute(“MasterPage”, HParameterSet.HMasterPage.HSet);
HAction.Run(“DeleteDocumentMasterPage”);
SetMessageBoxMode(0x00000000);
}

function 빈칸정리()
{
SetMessageBoxMode(0x00000020);
var empty = [“^s”, “^r”];
for (var i = 0; i < empty.length; i++)
{
var target = empty[i];
var act = CreateAction(“AllReplace”);
var set = act.CreateSet();
act.GetDefault(set);
with (set)
{
MatchCase = 0;
AllWordForms = 0;
SeveralWords = 0;
UseWildCards = 0;
WholeWordOnly = 0;
AutoSpell = 0;
Direction = FindDir(“AllDoc”); // 문서 전체 대상
IgnoreFindString = 0;
IgnoreReplaceString = 0;
FindString = target; // 배열에서 가져온 검색식 (^s 또는 ^r)
ReplaceString = " "; // 일반 빈칸으로 변경
ReplaceMode = 1; // 모두 바꾸기 모드
IgnoreMessage = 1; // 완료 메시지 생략
HanjaFromHangul = 0;
FindJaso = 0;
FindRegExp = 0; // 특수 검색식(^s, ^r) 사용 시 0으로 설정 권장
FindTextInPicture = 0;
FindType = 1;
}
act.Execute(set);
}
SetMessageBoxMode(0x00000000);
}

function 다단설정()
{
HAction.GetDefault(“MultiColumn”, HParameterSet.HColDef.HSet);
with (HParameterSet.HColDef)
{
Count = 1;
HSet.SetItem(“ApplyClass”, 832);
HSet.SetItem(“ApplyTo”, 6);
}
HAction.Execute(“MultiColumn”, HParameterSet.HColDef.HSet);
}


function 빈칸정리()
{
SetMessageBoxMode(0x00020000);
으로 수정하니 되네요

1개의 좋아요