Excel & VBA---Brain Training
앞 페이지에서 오브젝트를 한번 더 살펴보자고 했다
아래와 같이 하나의 셀에 정보를 이런 정보..저런 정보를 전달할 수 있는 것이다
셀이라고 하는 녀석이 갖고 있는 정보..즉 속성(Property)
소위 사람들이..스펙을 갖추어야 한다고 하지 않는가??
Specification..
이것이 곧 어떤사람이 갖고 있는 구체적 정보인셈이다
길동이라는 사람 오브젝트가 있다고 치자..
길동.학력="대학교"
길동.성별="남"
길동.생년월일="1985/3/5"
길동.해외연수기간="3년"
길동.해외여행경험="유럽1개월"
길동.기혼여부="미혼"
이것이 오브젝트의 개념이다
어떤 정보를 처리하는데 있어서 어떻게 하면 간결하게 체계적으로 보관할수 없을까??
위와 같이 길동을 탁치면 길동에 관한 줄줄이 정보가 엮여 나온다
사람이라는 크래스(Class)에서 사람이라는 개체,오브젝트(Object)가 수도 없이
만들어지는 것이다
사람이라는 크래스(Class)는 템프릿같은 것이다
그냥 찍는대로 찍혀서 나오는 그런 것이다
동물원에 가면 원숭이의 종(種,Class)이 써있다..
원숭이 종에서 침판치도 나오고..잘은 모르겠지만 아무튼 비슷한 원형이
있고 그 원형에서 속성만 바꿔서 이렇게 생긴놈..저렇게 생긴놈이 나온다
여러분들이 오브젝트를 다룬다고 하는 것은 Class에서 만들어 내는 것이다
좀 어렵나???어려워진다고 생각하면 여기서 뚝하고..
다음 기회에 개구리 삶듯이 조금씩..조금씩 닥아가자
아무튼 사람이라는 크래스에서
꺽정이라는 오브젝트를 만들 수 있는 것이다
꺽정.학력="대학원"
꺽정.성별="남"
....
....
....
위의 꺽정이나 길동이와 마찬가지로 엑셀의 셀도
셀.값=5
셀.바탕색="빨강"
셀.테두리두께="가늘게"
셀.테두리색="검정"
엑셀의 내부구조는 이렇게 셀,즉 Range오브젝트를 비롯하여
다양한 오브젝트들이 모여있고 사용자들이 사용하기만 기다리고 있는 것이다
엑셀 화일을 CSV 형식으로 저장하는 것을 알고 계신지???
이것은 Comma Seperated Value 의 약자로서
위의 셀의 각종속성정보는 모두 생략하고 셀의 값 즉 Value속성값만
쪽 뽑아서 저장하는 화일 형식인것이다
그래서 이것은 텍스트화일에서도 자연스럽게 열리고
엑셀에서도 열리게 되는 것이다
위의 에니메이션에서 박스가 이동하는데
중간에서는 테두리색이 검정색이 되고 다른 곳에 가면 회색이 된다
이것은 속성을 이해시키기 위하여 일부러 만든 것이다
참..!!!우노 용쓴다..그러니 모두 열심히 하시기를..
셀들에 모두 테두리선의 색상값이 주어졌다
그런데 가운데만 검정으로 준것이다
그리고 이동 시킬때 이동시키는 셀에는 테두리선에 대한 속성값을 주지않으므로
현재 이동된 위치의 테두리색속성값을 표현하게 되는 것이다
셀.값=4
셀.바탕색=빨강
셀.문자색=흰색
이것만 전달하고 셀.테두리색속성값 은 전달하지 않은 것이다
위의 정도만 되면 초보님들이 편안할텐데..
고개가 하나 더 있다..
오브젝트라는 녀석이 그냥 단순한 값을 받는 속성만 갖고 있는 것이 아니라는 점이다
마구..헷갈리는 부분이다
그러나 이것을 헤쳐나가면 복잡함의 즐거움을 느끼는 경지가 된다
예를 들어서..
길동.학력="대학교"
라고 학력이라는 속성에 하나의 값이 들어가면 좋을텐데..
정보라는 것은 상호관련된 것 끼리 몰켜 다닌다는 점..
학력에도 좀더 세분화할수 있는 정보가 있지 않겠는가???
쉽게 상식선에서 생각을 하시면 된다
엑셀은 로켓을 쏘아올리는 복잡한 수학을 따지는 것이 아니다
그냥 논리적으로 공간감각이 있으면 된다
참..그러구 보니까..아이들을 창의적으로 키우고 싶다면 엑셀프로그래밍을
시켜도 좋을 것이다..아참!!시험공부해야지 안되겠군!!!
공간감각,구조적 관계의 감각을 저절러 느껴야 하는 것이니까..
길동.학력.초등학교="남산초등학교"
길동.학력.중학교="백제중학교"
길동.학력.고등학교="신라고등학교"
길동.학력.대학교="고구려대학교"
와 같이 세분화 할수 있다는 것이니..
길동이라는 오브젝트의 속성으로 또 다른 작은 오브젝트가
구성될 수 있다는 것이다
이런 정보의 분류방식에 능숙하면 체계적이고 구조적이고 시스테믹한
사람이 된다
오늘은 위의 것을 좀더 이해를 돕기 위하여 파워포인트작업을
해서 올려야겠다..
노트필기를 체계적으로 잘 하시는 분들은 그냥 척 할것이지만..
아직도 뭔가 긴가..민가 하신분들을 위하여..
Braintraining_PPT_WhatObjectIs_065.
용을 쓰고 만들었지만 이해가 잘 될런지 모르겠다
아무튼 수단과 방법을 안가리고 오브젝트에 대한 감각을 키워드려야 하니까..
세상은 하드웨어세상은 끝났다..
애플에서 소프트웨어로 세상의 패러다임을 바꿔간다
그런 세상에서 오브젝트감각...프로그래밍감각이 없다면 문제다!!!
프로그래밍감각을 지속적으로 자극하는 곳은 이곳..uno21.com이라는 생각으로
열심히 자판을 두들기기로 이미 신년새해에 약속했다
십년후에 여러분이 어떤 간단한 소프트웨어를 애플..앱스토어에 올려서
대박을 터트릴지 누가 알겠는가????!!
아이디어를 키우고..그러면서 오브젝트감각..프로그래밍감각을
갖추시기 바란다
애플이던..쟈바던..모두가 오브젝트지향 프로그래밍이다
한가지 프로그래밍감각을 키우면 나머지는 잠깐 용을 쓰면 된다
그런 관계에서 엑셀만큼 좋은 것은 없다
그러나 오브젝트개념을 알고 하는 것과 그냥 건성으로 몇줄의 코딩을 하는 것과는
차원이 틀린다..
이제 조금 더 생각을 확장해 보자
위와 같이 셀의 테두리가 상하좌우 모두 똑같다..
그렇지만 사람이라면 이런 생각도 할 것이다
위와 밑은 가늘게 하고 좌우는 굻게 하고 싶은데...
그래서 고민을 하게 된다..
한꺼번에
셀.테두리.굵기="굻게"
라고 굵기 속성값을 [굵게]라고 한번에 주어 버리면 간단할텐데..
사람이 그렇지 않다는 것..
그래서 이렇게 표현하고 싶어지게 된다
셀.테두리.상.굵기="가늘게"
셀.테두리.상.색상="검정"
셀.테두리.하.굵기="가늘게"
셀.테두리.하.색상="검정"
셀.테두리.좌.굵기="굵게"
셀.테두리.좌.색상="빨강"
셀.테두리.우.굴기="굵게"
셀.테두리.우.색상="빨강"
아래와 같이..
엑셀에서 오브젝트감각을 키우면 어디에서고 같은 감각을 써먹는 증거로
아래 그림을 보시면 ..이 페이지를 작성할때 웹상의 테이블의 셀오브젝트에
속성값을 줄때의 visual studio 편집기의 그림이다
굵기,색상속성만 있는 것이 아니고
좀더 위의 4면이 똑같이 굵은 테두리는 글자가 왼쪽으로 몰렸다
이것도 속성값을 주는데 따라서 달라지는 것이다
text-align이라는 속성을 Center에 주면 되는 것이다
자..그럼..엑셀의 셀에서는 어떻게 위의 내용을 표현할까
Range("A1").Borders(
라고 괄호를 치는 순간 VBA편집기에서 자동으로 아래와 같이 목록이 나타난다
얼마나 편리한가..
선택만 하면 된다
이름만 다르다는 것 뿐..프로그래밍컨셉은 같은 것이다
엑셀에서는 Border의 속성값을 주는 상수(이것도 아직 설명안했다..아무튼)가
xlEdgeRight라고 되어있네..오호..Edge 엣지..테두리가 아니고 가장자리..
현대인으로 살면서 영어에 대한 감각도 놓치지 않으니..
일석 몇쪼냐????
엑셀하나만 완벽히 때려잡으면 다른 프로그래밍에서도 쫌 용쓰면 문짜를
쓸수 있게 된다
어 페이지가 너무 길어 졌네..다음 페이지 또 붙여야겠다!!!
BrainTraining_065_5.
위의 화일에는 좀 낯섫은 속성이 나오고 속성이 좀 이상하다 싶은것도 나오지만
그냥 그렇다는 정도로 알고
다음에 나올것이니..너무 심각하게 생각하지 마시고
순환문과 변수의 활용에 집중하시고..
다음 페이지로 가자!!