날자를 입력하려면 자판을 두들겨야 하는데 번거롭고 또한 날자는 중요한 정보인데 잘못입력하면 얹찮은 일의 원인이 된다 간단하게 입력하는 방법이 없을까?? 외부에서 지원하는 Calendar콘트롤이라고 하는것이 있다 그림과 같이 설치하면 된다 외부에서 지원하는 다양한 오브젝트들이 있다 Calendar오브젝트는 그 많은 것중의 하나인것이다 수식줄에 보면 =EMBED("MSCAL.Calendar.7","") 라는 수식이 보인다 외부라이브러리를 참조하는 수식인것이다 이것은 그대로 건들지 말고 놓아두고... 콘트롤도구상자의 다른 콘트롤과 마찬가지로 속성창에서 다양한 모양을 설정할수 있다 이것은 물론 프로그래밍적으로 접근하여 Run-Time에 바꿔 나갈수도 있을것이다 위와 같이 카렌다콘트롤을 그려 넣었을때 직접실행창에서 ?ActiveSheet.Oleobjects.Count 값은 1이고 ?ActiveSheet.Shapes.Count 도 역시 1이다 다시 ?ActiveSheet.OleObjects(1).Name 이라고 하면 Calendar1 이라는 결과가 나오고 다시 같은 요령으로 ?ActiveSheet.Shapes(1).Name 도 같은 값인 Calendar1 이라는 결과가 나온다 물론 활성화된 시트내에 도형은 아무것도 없고 오직 Calendar콘트롤만 그려져 있을때 1로 접근한것이다 다시 ?ActiveSheet.Shapes(1).AutoShapeType 이라고 하면 결과는 앞페이지에서 설명하였던 -2가 나온다 다시 ?ActiveSheet.Shapes(1).Type 이라고 하면 12가 결과값이다 초보님들은 도대체 이런 Type이니 AutoShapeType이니 뭐 그렇게 중요할까??? 라고 의아해 할수 도 있다 그러나 프로그래밍의 모든 에러의 원인은 타입의 설정 타입을 읽거나 쓸때 잘못된 타입으로 시도할때 발생한다 타입에만 신경을 바짝 써도 에러의 발생을 팍 줄인다 아무튼 아래와 같은 그림이 되고 아무리 마우스로 건드려 보아도 아무 일도 일어나지 않는다..그냥 먹통이다 콘트롤에 지능을 심어야 한다 이벤트프로시져에 원하는 작업을 작성하면 그것이 바로 콘트롤의 지능이 심어지게 되는것이고..원하는 작업을 시킬수 있게 된다 아래의 화일에서는
Calendar Control