
자 이제부터 중요한 개념인 목적물 즉 Object 에 관해서 알아 보기로 하겠습니다.
전 포스트에서 Application (어플리케이션) 이란 특정 형식의 데이터 파일을 취급(열고 수정하고 저장하는 행위)하는
프로그램이고 이 Application 이 취급하는 파일과 파일내 기록된 내용이 Object (오브젝트) 라고 했습니다.
이렇게 생각 합시다.
모든 프로그램은 어떤 목적이 있기에 개발 되고 또 판매되고 구입해서 컴퓨터에 설치합니다.
그 목적을 구현하기 위해서 또는 구현한 결과는 목적물로 존재하게 된다.
그 목적물은 때로는 새로 만들어 지기도 하고 변형되기도 하고 필요할 때 꺼내 보기도 하며
더 이상 필요가 없을 때는 소멸 시킬 수도 있다.
이 모든 과정이 Application 이 내 컴퓨터에 설치되어 사용하는 목적이다.
이 목적의 과정이고 결과인 모든 목적물이 바로 Object 입니다.
즉 Object 는 Application 을 통해 생성되고 변형되고 참조되며 때로는 소멸될 수 있는
컴퓨터 기록 장치에 기록된 내용과 메모리에 탑재된 내용이다. 라고 생각하십시요.
즉 Excel 이라는 Applcation 을 통해서 Excel 이라는 Application(프로그램)은 수정 변경 소멸 시킬 수 없으므로
Excel Application 은 Excel Application 의 Object 가 될 수 없습니다.
Excel Applicatioin 은 Windows 라는 OS(Operating System) 에서 수정 변경 소멸 될 수 있으므로
Windows 시스템의 Object 는 될 수 있습니다.
자.. 엑셀을 시작해 봅시다.

Book1 의 아이콘을 보십시요.
엑셀파일을 표시하는 파일의 아이콘이 있습니다.
즉 Book1 은 파일의 이름이라는 것입니다.
단 아직 저장장치에 기록되지 않은 메모리에 잠시 만들어진 파일입니다.
Excel 이라는 Application 을 시작하니까 이 Application 은 자동으로 메모리에 새로운 파일 하나를 만들고
그 이름을 Book1 이라고 자기 마음대로 붙혀 놓은 것입니다.
이대로 저장하면 지정한 위치에 Book1.xlsx 라는 파일이 생성될 것입니다.
즉 메모리에 임시로 생성된 파일이 실지로 저장장치에 데이터파일 형태로 기록이 되는 것이지요.
이 데이터 파일을 나중에 엑셀에서 '열기' 하면
Excel Application 은 메모리에 동일한 파일구조를 만들고 파일의 내용을 읽어 메모리에 탑재합니다.
이것이 '열기'의 과정입니다.
자 이후에 사용자가 어떤 내용을 시트내의 셀에 입력을 하던 그 내용은 메모리에 있는 임시 파일에 대해
행해지는 것이지 저장장치의 데이터 파일에는 아무런 영향을 미치지 않습니다.
내용을 수정하고 '저장'을 하게 되면
Applicatioin 은 메모리에 수정된 파일을 그대로 저장장치에 다시 기록하게 됩니다.
자 이렇게 저장장치에 기록된 파일이거나 아니면 열어서 메모리에 탑재된 파일이거나
그냥 자동으로 시작과 동시에 메모리에 형성된 파일이거나
이 '파일' 이 Application 이 다루는 일차 목적물(Object) 입니다.
Excel 에서는 이 '파일' 목적물을 WorkBook Object 라고 부릅니다.
이 WorkBook Object 는 새로 생성시키면 Book1 이라고 이름 붙혀지며
'다른이름으로 저장' 할 경우 WorkBook Object 의 이름이 변경됩니다.
그 이름은 저장장치에 저장된 파일 이름과 동일합니다.
즉 엑셀에서 저장한 데이터 파일이 WorkBook Object 인 것입니다.
자. WorkBook 은 바로 .xlsx .xls 등의 확장자를 가진 '엑셀데이터파일' 입니다.
Excel Application 의 최 상위 Object 인 Exel 파일 (WorkBook Object)
WorkBook Object 는 Excel Application 에서 '새로만들기' '열기' '저장' '다른이름으로 저장' 등을 통해
'생성' '변경' 등의 작업을 할 수 있습니다.
다음 파일 하단을 보면
여러개의 Sheet 중 하나를 선택할 수 있도록 되어 있습니다.
즉 하나의 엑셀 파일 (WorkBook) 내에는 하나 이상의 Sheet 들이 존재하고 있으며
이 각각의 Sheet 에는 각가 다른 내용을 기록할 수가 있습니다.
이 WorkBook Object 내에 존재하는 Sheet 들을 WorkSheet Object 라고 부릅니다.
이 WorkSheet Object 는 Sheet 탭에서 마우스 우클릭을 통해 메뉴를 호출해서
새로 생성 하거나 이름을 바꾸거나 소멸시키거나 할 수 있습니다.

다음엔 데이터를 입력하는 각 WorkSheet Object 내의 공간이 있습니다.
A 부터 B C D E ... 이렇게 이름 붙혀진 열과 1 2 3 4 로 번호 붙혀진 각 행으로 이루어진
격자형태의 데이터 입력 부분이 바로 그것인데 이 입력 공간을 Range Object 라고 합니다.
이 Range Object 는 사용자가 키보드로 데이터를 입력하거나 변경, 삭제 등을 하면서
마음대로 주무를 수 있는 가장 하위의 Object 입니다.
이 Range Object 의 이름은 열번호와 행번호로 강제로 부여되는데
'A1' 'A2' 'B1' 'B2' 이런 식으로 부여됩니다.
또한 Range Object 는 단일 셀뿐 아니라 'A1:B3' 'B4:Z19' 이런 식으로
여러개의 셀의 범위로 지정될 수도 있습니다.
WorkBook 과 WorkSheet 의 이름은 사용자가 임의로 지정하거나 변경할 수 있지만
Range Object 의 이름은 사용자가 변경할 수 없습니다.
또한 Range Object 내의 내용은 사용자가 소멸시킬 수 있지만
Rangel Object 자체를 소멸시킬 수는 없습니다.
무슨 말이냐 하면 'A1' 셀의 내용을 '삭제'를 시킬 경우
'A1' 셀 내의 내용은 사라지지만 'A1' 셀 자체는 사라지지 않는 다는 뜻입니다.
WorkBook 혹은 WorkSheet Object 는 OS 의 파일삭제 및 Sheet 메뉴를 통해서
Object 자체를 완전 무결하게 소멸 시킬수 있지만 Range Object 는 소멸시킬 수 없습니다.
이점이 WorkBook Object, Sheet Object 와 Range Object 의 다른 점입니다.
자 이해가 되셨습니까?
아주 상식적인 이야기 입니다.
이걸 전문용어처럼 뭐 도표 그려서 개체 객체 상위 하위 이런 단어로 구현하면 머리 뽀개집니다.
다시 간단히 정리합니다.
Object 란 Application 을 통해 생성 변경 소멸 시킬 수 있는 것들이다.
Excel Application 은 WorkBook 이라는 파일 Object 가 있고
WorkBook Object 에는 WorkSheet 라는 Sheet Object 가 여러개 있으며
각 Sheet Object 에는 사용자가 데이터를 입력할 수 있는 Range Object 라는 공간이 있다.
앞으로 본격적으로 VBA 프로그램이 시작 되면 가장 많이 다루어야 할 Object 가
바로 이 Range Object 입니다.

덧글