표의 여러줄을 한번에 삭제 하는 방법과 표의 여러줄을 한번에 여러줄 지정하는 방법 문의

표의 한줄은 TableDeleteRow를 이용하여 삭제가 되는데 여러줄…(수백개의 열)을 삭제할때는 시간이 오래 걸리더라구요)
이 방법이 궁금합니다.
또한 표의 열범주를 지정하여 한번에 선택 가능한 방법이 있는지도 궁금합니다

이 범주에서는 한글 오토메이션에 대한 다른 사용자의 기술 지원을 제공받을 수 있습니다.

  1. 한글 오토메이션의 API 사용/연동은 개발 가이드를 참조하세요.
  2. 일반 문의는 한글과컴퓨터 웹사이트의 고객 지원을 이용하세요.
  3. 개인정보가 포함되지 않도록 유의하세요. 게시글 또는 댓글에 개인정보가 포함된 내용이 있을 경우 게시물이 숨김처리 될 수 있습니다.

한글에서 셀 선택을 확장하는 동작을 응용하시면 될 것 같습니다.

표에서는 선택하고자 하는 셀로 이동하여 셀 선택 확장 모드로 전환시킨 후
지우고자 하는 셀로 이동시키고, 셀 삭제

아래 코드는 현재 커서 위치에서부터 표 마지막 행까지 지우는 동작을 코드로 작성했습니다.

function OnScriptMacro_script5()
{
	// 셀 블럭
	HAction.Run("TableCellBlock");
	// 셀 블럭 확장
	HAction.Run("TableCellBlockExtend");
	// 표 마지막 셀까지 이동
	HAction.Run("TableColPageDown");
	HAction.Run("TableColEnd");

    // 셀 삭제할 때 메시지 박스가 뜨는 동작을 방지하기 위해 아래 값 지정
	// 0x00002000 = YESNOCANCEL 메시지박스에서 NO 버튼 선택
	SetMessageBoxMode(0x00002000);
	// 셀 삭제
	HAction.Run("TableDeleteCell");
	// 메시지 박스 모드 원복
	SetMessageBoxMode(0x00000000);
}

참고로 SetMessageBoxMode(0x00002000) 는 아래 메시지 박스가 나올 경우 지우기(NO)로 동작시킴
(* 남김(Y) = 0x00001000, 취소(C) = 0x00004000)

image

감사합니다.

1개의 좋아요