PROGRAMMING WORKSHOP

VSTO|
작업일정관리_3

앞페이지에서 WBS그룹핑하고 상위레벨의 시작날짜를 하위레벨의 날짜를 비교하여
가장 빠른 날짜로 정하는 것 까지 했다
이제 이것을 정렬을 하는 작업을 하자
이렇게 하면 이것을 그대로 챠트로 그리면 보기좋게 위에서 부터 빠른 날짜 순서로
질서있게 그려지게 될 것이다
사용자가 제멋대로 입력을 하였다 할 지라도..
정리정돈이 잘 된 상태로 만들어 주게 되는 것
이미 뭔소린지 다 감을 잡고 정렬을 해 두고 기다리고 있는 분들도 있을 것이다

정렬을 할때 배열의 정렬을 되지만
집합체에서는 정렬이 배열같이 쉽게 안된다는 문제를 알고 있어야 한다
좀 잔머리를 써야 한다
당초부터 배열로 하면 될텐데..
작업을 모두 모아 놓는 것은 배열로 하고
각 작업이 WBS자식으로 갖고 있는 자식들의 모음은 집합체를 사용했다
왜 집합체(Collection)로 하여서 헷갈리게 만드나?
실은 VB.Net의 VSTO에서 weekly추가기능으로 할때는 죄다 집합체를 사용하였었다
왜냐면 VB.Net환경의 다양한 집합체는 별짓을 다 할수 있으니까
정렬쯤은 별문제가 되지 않는 것이였기던 것이고..그것을 VBA로 옮겨보는
과정에서 그냥 집합체로 놓아 두었기때문에..
오히려 잘된것이다, 집합체에 대한 성질도 알고 문제가 생기면
또 방법을 찾는 내공을 키우는 것이니까!!!
집합체를 정렬하는 것은 아래와 같이 기존의 개체를 없애고
새로 생성시키는 방법을 사용하여야 한다
좀 번거롭지만 프로그래밍은 장벽이 생기면 돌아가기도하고
뛰어 넘기도 하고 그렇게 가는 것이니까..
그렇게 하여 아래와 같이 그룹별 정렬이 되었다



정보의 성격상 어쩔수 없는 재귀용법이 활용된다
작업을 주욱..순환하면서 해당작업이 WBS하위작업이 있으면
같은 작업을 하위작업에 시키고, 하위작업중에 또 WBS하위작업이 있다면
같은 작업을 반복하여서 하여야 하는 재귀용법을 사용하여야 한다

uno-weekly의 코드라이브러리중에서 [VBA/집합체정렬하기] 프로시져를 응용하시면 된다

이렇게 정리를 하면 기본정보의 분석정리작업이 다 된셈이다
보기에는 도형그리는 것이 어려운 작업이라고 생각할지 모르지만
실은 지금까지 작업한 정보의 분석작업, 즉 도형으로 표현하기 위한
기본작업이 핵심이라도 보아야 한다
기본정보를 정리 해 놓으면 다양한 후속적 작업이 자유롭게
이루어질수 있게 되는 것이다

이렇게 하여 작업관련 정보테이블을 만들수 있는 정보들을 배열에
보관하였으니 이제 열방향으로 날짜 카렌다를 만들 차례이다
그런 후 날짜 테이블과 작업테이블의 열과 행을 재미있게 조합하면서
도형을 그려 넣으면 된다
그럼..다음 페이지는 카렌다테이블만들기

***[LOG-IN]***