Izoau
1
위의 그림과 같이, 강제 줄나눔 사이에
그림 또는 글상자 또는 표 또는 수식
만 있는 경우, 즉 한글이 없는 경우
강제 줄나눔을 지우지 앟고, 그냥 지나가려 합니다.
와 같이 한글이 있는 경우, 강제 줄나눔을 지우려 하고요
HAction.GetDefault(“RepeatFind”, HParameterSet.HFindReplace.HSet);
with (HParameterSet.HFindReplace)
{
FindString = “^l”;
Direction = FindDir(“Forward”);
ReplaceMode = 0;
IgnoreMessage = 1;
FindType = 1;
}
HAction.Run(“MoveTopLevelBegin”);
while(HAction.Execute(“RepeatFind”, HParameterSet.HFindReplace.HSet))
{
HAction.Run(“Cancel”);
HAction.Run(“MoveSelLineEnd”);
text = GetTextFile(“TEXT”, “saveblock”);
HAction.Run(“Cancel”);
if (text != null)
{
if(text.search(/\[가-힣\]/g) > -1)
{
HAction.Run("MoveLineBegin");
HAction.Run("DeleteBack");
HAction.Run("MoveSelLeft");
}
HAction.Run("MoveRight");
}
}
와 같이 구성하여 코드를 진행시켜 보았는데,
표와 글상자의 경우, 한글을 인식하여 강제줄나눔을 지워 버립니다.
어떻게 방법이 없을까요?
강제 줄나눔.hwp (56.5 KB)
Izoau
2
완벽하진 않지만, 문서가 통일성 있게 편집되어 있다는 전제 조건으로 다음과 같이 마무리 지었습니다.
function OnScriptMacro_줄나눔정리()
{
// SetMessageBoxMode(0x00020000);
HAction.GetDefault("Goto", HParameterSet.HGotoE.HSet);
with (HParameterSet.HGotoE)
{
HSet.SetItem("DialogResult", 5);
SetSelectionIndex = 5;
}
HAction.Execute("Goto", HParameterSet.HGotoE.HSet);
HAction.Run("MoveRight");
FindCtrl();
var ctrl = CurSelectedCtrl;
HAction.Run("MoveLineEnd");
if (ctrl.CtrlID == "tbl" || ctrl.CtrlID == "gso")
{
HAction.Run("MoveRight");
var emp =ctrl.CtrlID;
} else {
HAction.Run("MoveRight");
HAction.Run("MoveSelLineEnd");
var text = GetTextFile("TEXT", "saveblock");
HAction.Run("Cancel");
if ( text == null)
{
HAction.GetDefault("Goto", HParameterSet.HGotoE.HSet);
with (HParameterSet.HGotoE)
{
HSet.SetItem("DialogResult", 5);
SetSelectionIndex = 5;
}
HAction.Execute("Goto", HParameterSet.HGotoE.HSet);
HAction.Run("Delete");
emp ="끝";
} else {
if (text.search(/[가-힣]/g) > -1)
{
HAction.Run("MoveLineBegin");
HAction.Run("DeleteBack");
HAction.Run("MoveRight");
emp ="한글";
}else{
HAction.Run("MoveRight");
emp = ctrl.CtrlID;
}
}
}
XHwpMessageBox.String = emp;
XHwpMessageBox.Flag = 0;
XHwpMessageBox.DoModal();
SetMessageBoxMode(0x00000000);
}
1개의 좋아요