모든 표의 셀들을 체크해 특정배경색이면 다른색으로 변환하는 방법이 있을까요?

  1. 치환 기능으로는 색변경이 어렵습니다.
  2. CellBorderFill 액션을 이용하면 컬러값이 변경 가능하지만, 특정 컬러를 변경하는 로직은 따로 개발을 하셔야 할것 같습니다.
  3. 제가 다른글에 작성한 댓글이지만 해당 댓글에 셀을 처음부터 도는 로직을 생각해봤습니다.
    셀을 하나씩 돌면서 셀의 색을 구해서 바꾸길 원하시는 색이면 바꾸도록 하는 로직을 만드셔야할것 같습니다.
    클릭한 셀이 속한 테이블의 행과 열의 갯수를 알수 있을까요? - bhjung 님의 게시물 #2

셀의 색상을 바꾸는 예제 코드입니다.

	HAction.GetDefault("CellBorderFill", HParameterSet.HCellBorderFill.HSet);
	with (HParameterSet.HCellBorderFill)
	{
		FillAttr.Type = BrushType("NullBrush|WinBrush");
		FillAttr.WinBrushFaceColor = RGBColor(255, 0, 0);
		FillAttr.WinBrushHatchColor = RGBColor(153, 153, 153);
		FillAttr.WinBrushFaceStyle = HatchStyle("None");
		FillAttr.WindowsBrush = 1;
	}
	HAction.Execute("CellBorderFill", HParameterSet.HCellBorderFill.HSet);

그리고 선택한셀의 GetDefault를 통해 기본값을 가져오면 FaceColor set 값을 가져오면 현재 셀의 색상을 가져올수 있습니다.
셀의 색상은 COLORREF입니다.
아래 링크 참고부탁드립니다.

감사합니다.

2개의 좋아요