표 안의 표에 스크립트 적용하는법..

안녕하세요, 아래코드로 문서내 표에 대해서 적용하고있는데요, 조판부호 표 찾기가 표 안의 표에는 적용되지 않는 것 같아 혹시 해결방안이 있나 문의드립니다.

function OnScriptMacro_자동전처리()
{
HAction.Run(“SelectAll”);
HAction.GetDefault(“ParagraphShape”, HParameterSet.HParaShape.HSet);
with (HParameterSet.HParaShape)
{
BreakNonLatinWord = 0;
}
HAction.Execute(“ParagraphShape”, HParameterSet.HParaShape.HSet);
HAction.Run(“Cancel”);
with (HParameterSet.HParaShape)
{
BreakNonLatinWord = 0;
}
HAction.Execute(“ParagraphShape”, HParameterSet.HParaShape.HSet);
HAction.GetDefault(“Goto”, HParameterSet.HGotoE.HSet);
with (HParameterSet.HGotoE)
{
HSet.SetItem(“DialogResult”, 55);
SetSelectionIndex = 5;
}
HAction.Execute(“Goto”, HParameterSet.HGotoE.HSet);
FindCtrl();
HAction.GetDefault(“TablePropertyDialog”, HParameterSet.HShapeObject.HSet);
with (HParameterSet.HShapeObject)
{
TreatAsChar = 0;
RepeatHeader = 0;
PageBreak = TableBreak(“Table”);
HSet.SetItem(“ShapeType”, 6);
}
HAction.Execute(“TablePropertyDialog”, HParameterSet.HShapeObject.HSet);
HAction.Run(“MoveDown”);
HAction.Run(“ShapeObjTableSelCell”);
HAction.Run(“TableCellBlock”);
HAction.Run(“TableCellBlockExtend”);
HAction.Run(“TableCellBlockExtend”);
HAction.GetDefault(“CellBorder”, HParameterSet.HCellBorderFill.HSet);
with (HParameterSet.HCellBorderFill)
{
WidthVert = HwpLineWidth(“0.1mm”);
TypeHorz = HwpLineType(“Solid”);
TypeVert = HwpLineType(“Solid”);
ColorHorz = RGBColor(0, 0, 0);
ColorVert = RGBColor(0, 0, 0);
WidthHorz = HwpLineWidth(“0.1mm”);
BorderWidthBottom = HwpLineWidth(“0.1mm”);
BorderWidthTop = HwpLineWidth(“0.1mm”);
BorderWidthRight = HwpLineWidth(“0.1mm”);
BorderWidthLeft = HwpLineWidth(“0.1mm”);

}
HAction.Execute("CellBorder", HParameterSet.HCellBorderFill.HSet);
HAction.GetDefault("ParagraphShape", HParameterSet.HParaShape.HSet);
with (HParameterSet.HParaShape)
{
	LineSpacingType = LineSpacingMethod("Percent");
	LineSpacing = 100;
	BreakNonLatinWord = 0;
}
HAction.Execute("ParagraphShape", HParameterSet.HParaShape.HSet);
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.Run("TableResizeExUp");
HAction.GetDefault("DeleteCtrls", HParameterSet.HDeleteCtrls.HSet);
with (HParameterSet.HDeleteCtrls)
{
	CreateItemArray("DeleteCtrlType", 2);
	DeleteCtrlType.Item(0) = 14;
	DeleteCtrlType.Item(1) = 26;
}
HAction.Execute("DeleteCtrls", HParameterSet.HDeleteCtrls.HSet);
HAction.Run("Cancel");

}

hwp 파이썬 실행오류 문의 게시글의 연장 질문으로 이해가 되는데요.
한글에서 직접 찾아가기 - 조판부호[표] 동작을 수행해보시면 알겠지만 Goto 동작은 연속적으로 이어서 찾기를 하지 않고 "다시 찾기(RepeatFind)"를 통해 이어서 찾기가 가능합니다.

다만 API를 통해 코드를 단순하게 작성하도록 가이드를 드릴 수 있을 것 같습니다.

  • SelectCtrl, GetCtrlInstID
  • 2024 한글에서만 동작하는 API입니다.
// 표를 찾아 표 내부로 첫 번째 셀로 이동하는 예시
function OnScriptMacro_표찾기()
	var ctrl = HeadCtrl;
	while (ctrl != null) {
		if (ctrl.CtrlID == "tbl") {
			SelectCtrl(ctrl.GetCtrlInstID(), 1);
			Run("Cancel");
			OnInsertText();
		}
		ctrl = ctrl.Next;
	}

감사합니다.

1개의 좋아요