표의 한줄은 TableDeleteRow를 이용하여 삭제가 되는데 여러줄…(수백개의 열)을 삭제할때는 시간이 오래 걸리더라구요)
이 방법이 궁금합니다.
또한 표의 열범주를 지정하여 한번에 선택 가능한 방법이 있는지도 궁금합니다
이 범주에서는 한글 오토메이션에 대한 다른 사용자의 기술 지원을 제공받을 수 있습니다.
표의 한줄은 TableDeleteRow를 이용하여 삭제가 되는데 여러줄…(수백개의 열)을 삭제할때는 시간이 오래 걸리더라구요)
이 방법이 궁금합니다.
또한 표의 열범주를 지정하여 한번에 선택 가능한 방법이 있는지도 궁금합니다
이 범주에서는 한글 오토메이션에 대한 다른 사용자의 기술 지원을 제공받을 수 있습니다.
한글에서 셀 선택을 확장하는 동작을 응용하시면 될 것 같습니다.
표에서는 선택하고자 하는 셀로 이동하여 셀 선택 확장 모드로 전환시킨 후
지우고자 하는 셀로 이동시키고, 셀 삭제
아래 코드는 현재 커서 위치에서부터 표 마지막 행까지 지우는 동작을 코드로 작성했습니다.
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)
감사합니다.