VBA

Size: px
Start display at page:

Download "VBA"

Transcription

1 VBA

2

3 제장 기술통계 작성 및 해석 7 단계 엑셀에서 자주 수행하는 작업을 자동화하는 방법으로 매크로(Macro)가 있다. 매크로는 VBA 프로그래밍 언어로 작성해야 하므로 이것들에 대하여 알아보자. 제.. 절 매크로의 기록과 실행 매크로란 MS 사에서 만든 비주얼 베이직(Visual Basic) 프로그램을 MS Office 제품군인 엑셀, 워드, 파워포인트 등 응용프로그램과 연동하여 편리하고 새로운 기능들을 만들 수 있다. 비주얼 베이직은 객체지향언어로 이미 만들어진 여러 가지 기능들을 가져와서 모듈에 명령과 함수를 모아 저장한 후 해당 작업이 필요할 때 실행할 수 있도록 만든 것이다... 매크로 기록 매크로 기록을 시작하면 엑셀에서는 사용자가 일련의 명령을 수행함에 따라 각 단계의 정보를 저장하고 매크로를 실행하여 일련의 명령을 다시 수행할 수 있다. 매크로 기록은 개발 도구 코드 매크로 기록 메뉴를 클릭 보기 매크로 매크로 기록 메뉴를 클릭

4 개발 도구 코드 Visual Basic 메뉴를 클릭하여 코드를 직접입력 하는 세가지 방법이 있다. Office를 설치하면 개발도구 메뉴는 기본값으로 설정되어 있지 않기 때문에 메뉴에 추가시켜야 한다. 이 메뉴의 추가는 파일 옵션 리본 사용자 지정 추가 기능 메뉴를 체크한다. 추가된 개발 도구 메뉴는 엑셀 메뉴에서 즉시 확인할 수 있다. 작성한 매크로는 저장할 때 Excel 매크로 사용 통합 문서로 저장해야 이후 파일을 불러서 매크로를 실행할 수 있으며 이 때 파일의 확장자는.xlsm이 된다. 매크로 관련 메뉴는 개발도구 코드(그림.)에서 사용한다. 매크로를 기 그림.: 매크로 관련메뉴 록하는 과정에 대하여 알아보자. 매크로 기록 순서는 그림.: 매크로 기록. 그림.과 같이 매크로 기록을 누르면 그림. 창이 나온다.

5 . 매크로 이름 상자에 매크로 이름을 입력한다(그림.). 매크로 이름을 입력할 때 첫 글자는 반드시 문자이어야 하며 나머지는 문자, 숫자, 밑줄 등을 사용할 수 있으나 공백은 사용할 수 없고 밑줄( )로 단어를 구분할 수 있다. 3. 매크로는 바로 가는 키로 실행할 수 있고, 바로 가기 키는.에 사용할 문자를 입력한다. 바로 가기 키는 Ctrl+문자나 Ctrl+Shift+문자를 사용할 수 있다. 여기서 문자는 키보드에 있는 임의의 문자키를 # 같은 특수 문자나 숫자는 사용할 수 없다. 매크로가 포함된 엑셀 파일이 열려 있으면 매크로 실행의 바로 가기 키는 기본값으로 설정된 바로 가기 키보다 우선한다. 4. 매크로는 저장 위치 상자에서 매크로 저장할 위치를 선택할 수 있다. 사 용자가 엑셀를 실행할 때마다 설정된 매크로를 사용하려면 그림. 창의 매크로 저장 위치에서 개인용 매크로 통합문서에 저장한다. 이후 엑셀파 일 실행 후단축 키를 누르면 개인용 매크로 통합문서에 저장된 매크로가 실행된다. 5. 매크로 기록은 그림.에서 확인 버튼을 클릭한 후부터시작된다. 매크로 를 기록하는 과정에서 선택된 셀은 상태 참조로 기록한다. 그렇기 때문에 처음에 현재 셀은 매크로 기록전이므로 현재 셀을 인식할 수 없다. 따라서 매크로가 시작되면 특정한 셀을 선택해야 기준이 되는 셀이 설정되고 그 셀을 기준으로 작업이 진행된다. 6. 매크로 기록할 동작을 수행한다. 7. 매크로 기록 종료는 기록 중지( ) 를 클릭한다. 기록 중지 버튼은 그림.에서 매크로 기록을 눌렀을 때나타난다. 작성된 매크로는 VBA 코드로 변환되어 저장되어 있으며 Visual Basic Editor

6 로 코드 확인과 코드 편집이 가능하다. 다음은 사칙연산에 대한 4개의 매크로 이다. 먼저 덧셈에 대한 매크로를 만들어 보자.. 그림.에서 매크로 기록을 누르면 그림. 창이 나타난다. 매크로 이 름은 덧셈, 바로 가기 키는 a로 하고 확인 버튼을 누르면 덧셈에 대한 매크로 기록이 시작된다(그림.3(a)).. 덧셈을 하기 위하여 F3 셀에 =D3+E3를 입력하고 매크로 중지 버튼을 누 른다(그림.3(b)). 이때 주의사항으로 중지 버튼을 누르기 전 현재 셀의 위치를 F3으로 해야 매크로가 정상적으로 작동한다. 3. 덧셈 매크로를 만드는 것과 동일한 셀에 뺄셈, 곱셈, 나눗셈에 대한 매크 로를 만든다. 4. 이렇게 만든 4개의 매크로는 Visual Basic Editor의 프로젝트 탐색기 모듈 Module에서 확인할 수 있다(그림.3(c))... 매크로 실행 이미 만들어진 매크로를 실행할 때 프로그래머가 악의적인 코드를 만들었다면 실행 컴퓨터에 치명적인 영향을 줄 수 있으므로 Office에서는 보안에 강화하 고 있다. 매크로 실행의 기본 설정은 모든 매크로 제외이므로 설정을 변경해야 매크로 실행이 가능하다. 엑셀에서 매크로 설정은 다음과 같다. 개발 도구 코드 매크로 보안 매크로 설정 설정 종류 모든 매크로 제외(알림 표시 없음) 모든 매크로 제외(알림 표시) 디지털 서명된 매크로만 포함 : 공인인증서로 매크로를 서명한 경우 모든 매크로 포함(위험성 있는 코드가 실행될 수 있으므로 권장하지 않음) 기록된 매크로를 실행하는 방법은

7 (a) 덧셈 매크로 기록 (b) 엑셀에 작업한 매크로 내용 (c) editor에서 만든 매크로 확인 그림.3: 덧셈 메크로 기록 과정 매크로 기록시 저정된 바로 가기 키를 누르거나(그림.) 개발도구 컨트롤 삽입에서 단추 버튼을 엑셀에 추가한 후 이미 기록한 매크로를 연결하여 마우스 클릭으로 실행할 수 있으며 개발도구 코드 매크로를 누르거나 보기 매크로 매크로 버튼을 누르면 매크로가 실행한다. 현재 셀이 D3이고 B3과 C3에 숫자가 개 있을 때 사칙연산에 대한 매크로를 작성해보자. 그림.3(b)가 사칙연산을 설정한 매크로이다. 바로가기 키는 덧셈 은 a, 뺄셈은 b, 곱셈은 c, 나눗셈은 d로 하였다. 양식 버튼 4 개를 추가하였고, 각 연산을 연결하였다. 사칙연산에 대한 매크로를 실행해보자.

8 (a) 보안 센터 (b) 보안 경고 (c) Microsoft Office 보안 옵션 그림.4: 매크로 설정(보안) 덧셈에 대한 바로 가기 키 Ctrl + a, 삘셈에 대한 바로 가기 키 Ctrl + b, 곱셈에 대한 바로 가기 키 Ctrl + c, 나눗셈에 대한 바로 가기 키 Ctrl + d를 차례대로 눌러 매크로를 실행할 수 있다. 개발도구 코드 매크로를 실행하여 기록된 매크로 덧셈, 뺄셈, 곱셈, 나눗셈을 실행할 수 있다. 개발도구 컨트롤 삽입에서 단추 버튼을 클릭하고 셀에 추가될 단추의 크기를 마우스로 설정하면 단추가 추가된다. 단추와 매크로 연결은 단추 에 마우스 위치후 오른쪽 버튼을 누르면 설정된 매크로가 나오고 그 중 원하는 매크로를 연결한다(그림.5(a)).

9 (a) 매크로 지정 (b) 양식 버튼에 매크로 연결 결과 그림.5: 양식 버튼에 매크로 연결 제.. 절 VBA 그림.6: Visual Basic Editor 매크로와 VBA는 동일한 것이며 엑셀에서 마우스를 이용하여 실행과정을 기록한 것을 매크로라 명하고 Visual Basic Editor를 이용하여 코드를 직접 입력하면 VBA라 부른다. VBA(Visual Basic for Applications)는 비주얼 베 이직 언어를 사용하여 마이크로스프트 오피스에 속하는 제품들(엑셀, 워드,

10 파워포인트, 엑서스 등)과 연동하는 것을 말한다. 우리는 여기에서 마이크로스 프트의 오피스에 포함된 것 중 엑셀과 연동하기에 응용프로그램(Application) 이 엑셀이 된다. 비주얼 베이직의 기초문법은 예전의 베이직의 문법을 토대로 발전하였지만 GUI(Graphic User Interface) 환경에서 작성하기 때문에 예전 에 사용하던 베이직보다 사용하기가 쉽고 객체지향언어로 되어 있어서 예전의 베이직과는 차이점이 많다. 그림.6은 그림.에서 Visual Basic Editor를 실행한 것이다.

11 제장 비주얼 베이직 제.. 절 Visual Basic 시작하기 비주얼 베이직을 시작하려면 03 버젼인 경우, 개발 도구 코드 Visual Basic 메뉴를 선택하여 비주얼 베이직 에디터 화면(그림.)이 나타나도록 한다. Office 03은 기본값이 개발도구 리본 메뉴가 없으므로 파일 Excel 옵션 그림.: Visual Basic Editor(03) 리본 사용자 지정 개발도구를 체크를 해야 메뉴가 나타난다. 9

12 비주얼 베이직 프로그램을 작성하여 엑셀과 연동하려면 그림.의 프로 젝트 창에서 연결하려는 엑셀파일을 마우스로 클릭한 후 삽입 모듈 메뉴를 선택하면 모듈이 추가된다. 그림.에서 추가된 모듈을 선택하면 코드 입력창 이 좌측에 보이며 여기에 코드를 입력하여 프로그램을 작성한다. 제.. 절 엑셀과 Visual Basic 연동 비주얼 베이직 프로그램을 작성하고 엑셀과 연동해 보자.. 비주얼 베이직 프로그램을 작성한다. 프로그램은 코드 입력창에 Sub를 입력하고 적당한 매크로 명을 입력한 후 엔터 키를 누르면 다음과 같은 코드가 자동으로 만들어 진다. 보기. (Sub 문) Sub 창나오기() 여기서 Sub와 사이에 프로그램을 입력하면 매크로가 완성된다. 다음과 같이 매크로를 만들어 보자. 보기. (Sub 문 작성) Sub 창나오기() MsgBox "안녕하세요" MsgBox는 비주얼베이직에 포함된 것으로 간단한 메세지를 포함한 팝 업창을 제공한다. 작성한 비주얼 베이직 프로그램은 실행, 중단, 변경된 내용을 재설정할 수 있으며 그 방법은 다음과 같다. 003인 경우는 Visual Basic Editor에서 실행 메뉴에서

13 Sub/사용자 정의 폼 실행 또는 매크로 실행( ) : 사용자 정의 폼이나 매크로 실행 중단( ) : 실행중인 프로그램을 중지하는 것으로 프로그램이 오 류가 있는 경우 중단 버튼을 누르고 수정해야 함 재설정( ) : 프로그램을 수정하였으면 그 내용을 적용하기 위하 여 재설정 버튼을 클릭해야 함 007인 경우는 Visual Basic Editor에서 실행 메뉴에서 매크로 실행 : 사용자 정의 폼이나 매크로 실행 중단 : 실행중인 프로그램을 중지하는 것으로 프로그램이 오류가 있는 경우 중단 버튼을 누르고 수정해야 함 재설정 : 프로그램을 수정하였으면 그 내용을 적용하기 위하여 재설 정 버튼을 클릭해야 함. 엑셀에서 매크로를 실행하면 작성한 비주얼 베이직과 연동한다. 제.3. 절 Visual Basic 구성 비주얼 베이직은 새로운 프로그램을 작성하는 것보다 기존에 만들어져 있는 개 체나 메소드, 함수 등을 참조하여 사용하는 것이 더 바람직하다. 따라서 비주얼 베이직을 잘 사용하려면 기존에 만들어진 것들을 어떻게 사용하는 것이 주된 관건이다. 비주얼 베이직의 작성은 모듈이나 클래스 모듈, 폼 안에 하며 이것들이 프 로그램에서 가장 큰 단위이다. 표준 모듈 : 매크로를 만들기 위하여 일반적으로 사용하는 것 클래스 모듈 : 개체를 제공할 목적으로 작성한 모듈로 표준 모듈에서 이 것들을 참조하여 사용함 폼 : 창이나 대화상자에 버튼이나 리스트 등 컴포넌트를 추가하여 이것 들의 이벤트가 발생하였을 때 실행할 코드를 삽입

14 다음으로 큰 단위는 프로시저로 Sub, Function, Property가 있다. 따라서 실제로 프로시저 안에 프로그램을 작성하는 것이다. Sub : 프로그램을 작성하는 단위로 Sub가 종료될 때 되돌려 주는 값이 없음. 즉 리턴(return) 값이 없음 Function : 프로그램을 작성하는 단위로 Function이 종료될 때 되돌려 주는 값(return)이 있음 Property : 폼, 표준 모듈, 클래스 모듈의 읽기 전용 속성을 만드는데 사용 프로시저에는 여러 가지 개체, 함수, 메소드, 키워드 등 비주얼 베이직 구문에 맞게 프로그램을 작성한다. 제.4. 절 Visual Basic 도움말 비주얼 베이직에서 도움말을 사용하려면 003, 007 버전 모두 Visual Basic Editor에서 ( ) 메뉴를 클릭하면 그림.(a) 도움말 창이 나타난다. 003 버 (a) 도움말 오류(007) (b) 도움말(007) 그림.: Visual Basic Editor 도움말 전은 Visual Basic 도움말을 바로 사용할 수 있으나, 007 버전은 에러 메세지가 출력된다. 그림.(a) 도움말 창은 인터넷에서 도움말 항목에 대하여 다운로드를 시 도하며 도움말 사용이 불가능하다는 메세지를 보여준다. 007인 경우 도움말을 실행하려면 그림.(a) 창의 하단에 이 컴퓨터에서 오프라인 콘텐츠를 표시 합니다. 를 클릭하여 오프라인 도움말을 사용할 수 있다(.(b)).

15 도움말 사용시 주의할 점은 엑셀에서 도움말 메뉴를 누르면 엑셀 도움말이 보이고 Visual Basic Editor에서 도움말 메뉴를 누르면 Visual Basic 도움말이 보인다. 제.5. 절 엑셀과 관련된 개체, 메소드, 함수, 속성 비주얼 베이직에서 엑셀과 관련된 것들은 무엇인지 알아보자..5. 통합문서 엑셀 파일을 통합문서라고도 하며 Workbooks 개체로 되어 있다. 개체에는 메 소드, 함수, 상수 등이 포함되어 있어 있으며 이를 사용하여 프로그램을 작성할 수 있다. 다음은 통합문서의 사용법이다. Workbooks Workbooks(index ) Workbooks(filename) 이 개체에 사용한 인수들은 index : 열린 순서로 숫자를 부터 사용할 수 있다. filename : 통합문서의 이름으로 하나의 파일만 열려 있다면 입력할 필요 가 없다. 새로운 통합문서를 만들어 보자. 보기.3 (통합문서 만들기) Sub 통합문서추가() Workbooks.Add Workbooks 개체에 Add 메소드를 사용하여 새로운 통합문서를 만들 수 있다. 엑셀파일을 열어보자.

16 보기.4 (통합문서 열기) Sub 통합문서열기() Workbooks.Open("C:\MyFolder\MyExcel.xls") Workbooks 개체에 Open 메소드를 사용하여 새로운 통합문서를 열 수 있다. 보기.5 (통합문서 참조) Sub 통합문서활성화() Workbooks().Activate 이미 실행중인 통합문서를 닫아보자. 보기.6 (통합문서 닫기) Sub 통합문서닫기() Workbooks.close Workbooks 개체에 Close 메소드를 사용하여 새로운 통합문서를 닫을 수 있다. 이 때 열려진 통합문서가 여러 개인 경우 닫는 통합문서는 현재 활성화 상태인 엑셀파일이다..5. 시트 참조 시트를 참조하려면 Worksheets나 Sheets의 속성을 사용하며. 하는 방법은 Worksheets(index ) Worksheets(sheet name) Sheets(sheet name) 이다. 여기서 괄호()에 들어갈 인수는

17 index : 참조(인덱스) 번호 sheet name : 시트이름 을 사용한다. 보기.7 (시트 참조) Sub 시트참조() Worksheets().Activate end Sub Sub 시트참조() Worksheets("Sheets3").Activate end Sub Sub 시트참조3() Sheets().Activate end Sub Sub 시트참조4() Sheets("Sheets3").Activate end Sub 시트참조과 시트참조3 프로시저는 시트 번호로 해당 시트를 활성화하였고 시 트참조와 시트참조4 프로시저는 시티 이름으로 해당 시트를 활성화하였다..5.3 셀 참조 셀을 참조는 Cells와 Range 그리고 Offset 속성으로 한다. Cells 속성은 Cells(row num, col num) 으로 하며 row num은 행의 위치 col num은 열의 위치이다.

18 예를 들어 Cells(,)은 A 셀을 나타낸다. 만일 엑셀에 있는 함수를 계산하여 셀에 출력하려면 Formula 속성과 FormulaRC 속성을 사용한다. Formula : 이 속성은 특정한 셀에 엑셀함수의 결과를 되돌려 줌 FormulaRC : 현재 셀을 기준으로 엑셀함수의 결과를 되돌려 줌 예를 들어 Range("A").Formula = "=RAND()" 를 실행하면 A 셀에 0에서 사이의 실수에서 난수가 출력된다. 경우에 따라서 엑셀함수에 이중 따옴표( )를 사용할 때에는 이중 따옴표를 하나 더 입력해야 오류없이 문장이 실행한다. 다음과 IF 함수에 이중 따옴표를 사용하는 경우를 보자. Range("A").Formula = "=IF(A>5,""크다"",""작다"")" A 셀이 5보다 큰 경우는 크다 문자열이 그렇지 않은 경우는 작다 문자열이 출력되도록 하려면 이중 따옴표를 하나 더 입력해야 한다. Range 속성은 Range( ref ) 이며 ref 에는 셀을 A 스타일로 입력하며, 여러 개의 셀도 지정할 수 있다. 예를 들어 Range( A )은 A 셀이며, Range( A:B )는 A:B 셀을 지정한 것이다. Offset 속성의 사용법은 expression.offset( RowOffset, ColumnOffset ) 이며, expression : Range 개체를 나타내는 변수를 사용

19 RowOffset : 정수를 입력하며, 양수는 아래, 음수는 위, 0은 기본값 ColumnOffset : 정수를 입력하며, 양수는 오른쪽, 음수는 왼쪽, 0은 기본 값 이다. 다음 예를 보자. 보기.8 (Offset 속성) Sub 셀참조() Worksheets("Sheet").Activate ActiveCell.Offset(,).Activate 위의 예에서 첫 줄은 현재 시트를 활성화 상태로 두 번째 줄은 현재 셀에서 아래로 두 행, 오른 쪽으로 두 열 옮긴 셀을 현재 셀로 설정한 것이다. 제.6. 절 VBA에서 제공하는 함수의 사용방법 VBA에서 제공하는 함수 중 입력기능을 제공하는 함수 InputBox와 출력결과를 제공하는 함수 MsgBox에 대하여 알아보자. 먼저 MsgBox 함수의 사용방법에 대하여 알아보기로 하자. MsgBox(prompt[, buttons] [, title] [, helpfile, context]) 이 함수는 어떠한 메세지를 사용자에게 전달하는 경우에 사용하는 것으로 이 함수가 종료되면 버튼의 값을 되돌려 준다. 사용법에서 기울임꼴의 단어는 함수 의 명명된 인수이다. 특히 대괄호로 묶인 인수들은 생략할 수 있으나 그 이외의 것은 받드시 값을 입력해야 한다. 즉 prompt 인수는 받드시 사용해야 한다. 각 인수의 사용법은 다음과 같다. 주의 : 코드에서는 대괄호를 입력하지 않고 설명하기에 편의상 사 용하였다.

20 prompt : 반드시 입력하는 필수 요소로 대화 상자에서 메세지로 나타나는 문자열이다. buttons : 표시할 버튼의 개수와 형식을 지정하는 것으로 기본값은 0이며 선택 요소이다. title : 제목표시줄에 표현하는 문자열로 선택 요소이다. helpfile : 도움말을 대화 상자에 제공하며 도움말 파일을 문자열에 입력 한다. 이 옵션을 사용하면 context도 반드시 사용해야 한다. context : 도움말을 작성한 것을 도움말 항목에 번호로 나타내는 것이다. 이 옵션을 사용하면 helpfile도 반드시 사용해야 한다. buttons에 사용하는 인수들은 다음과 같이 설정되어 있으며 상수 문자나 숫자 로 설정할 수 있다. 또한 위의 버튼을 눌렀을 경우에 MsgBox가 되돌려 주는 값이 있으며 다음과 같다. 함수에 인수를 입력하여 사용하는 방법은 두 가지가 있는데 함수와 메서드의 인수들은 코드에서 위치나 이름별로 지정할 수 있으며 위치별로 인수를 지정하려면 각 인수들 사이에 쉼표를 넣어 구문에 나타 난 순서대로 사용한다. 만일 순서가 중간에 있는 인수에 값을 입력하지 않으려면 컴마를 두 개 입력하며(,,) 인수의 위치가 끝이면 생략할 수 있다. 이 방법은 함수나 메서드가 값을 전달하지 않는 경우나 결과값을 무시하는 경우에 사용한다. 다음 함수의 사용법을 보자. 보기.9 (MsgBox 함수) MsgBox "정답이다!",0,"대답 상자" 위에서 첫 번째 인수는 prompt로 반드시 입력하는 것이고, 두 번째 인수는 buttons로 버튼의 형식을 설정한 것이며 세 번째 인수는 title로 제목표 시줄에 나타날 문자열이다.

21 이름별로 인수를 지정하는 것으로 인수 이름, 콜론, 등호(:=), 인수 값을 차례로 입력한다. 또한 이 방법은 인수의 배열 순서에 상관없이 명명된 인수를 지정할 수 있다. 보기.0 (MsgBox 함수) MsgBox Title:="대답 상자", Prompt:="정답이다!" 함수와 어떤 메서드는 인수들을 괄호로 묶는 경우가 있는데, 이러한 경우 는 함수나 메서드가 값을 반환하는 경우이다. 다음 예는 MsgBox 함수의 결과값은 변수 myvar에 저장된 선택된 단추를 가리키는 숫자다. 결과 값이 사용되기 때문에 괄호가 필요하며, 그런 다음 다른 메세지 상자는 변수의 값을 보여준다. 보기. (MsgBox 함수3) Sub Question() myvar = MsgBox(Prompt:="저는 제 일을 좋아한다.", _ Title:="대답 상자", Buttons:="4") MsgBox myvar 위의 함수에서 첫 번째와 두 번째 줄은 한 줄에 입력해야 되나 밑줄( )과 빈 공간(t)을 사용하여 두 줄을 사용하였고, 괄호를 사용하였기 때문에 함수의 리턴값을 받아야 되며 변수 myvar에 리턴값이 저장된다. 세 번째 줄에서는 첫 번째 줄과 두 번째 줄에서 리턴 값이 무엇인지 확인할 수 있 도록 MsgBox를 사용하였으며 그림.3에 예 버튼을 누른 것과 그 결과가 출력되었다. 다음으로 입력을 담당하는 InputBox 함수의 사용법을 알아보자. InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context])

22 (a) MsgBox에서 리턴 값 보내기 (b) MsgBox에서 리턴 값 출력 그림.3: MsgBox 사용 예 이 함수에서 옵션의 사용법은 다음과 같다. prompt : 반드시 입력하는 필수 요소로 대화 상자에서 메세지로 나타나는 문자열이다. title : 제목표시줄에 표현하는 문자열로 선택 요소이다. default : 입력란에 기본값으로 나타날 입력값을 설정한다. xpos : 화면 좌측에서 대화상자까지의 간격으로 생략하면 기본값이 수평 중앙이다. ypos : 화면 위에서 대화상자까지 간격으로 생략하면 대화상자는 /3 가량 아래에 위치한다. helpfile : 도움말을 대화 상자에 제공하며 도움말 파일을 문자열에 입력 한다. 이 옵션을 사용하면 context도 반드시 사용해야 한다. context : 도움말을 작성한 것을 도움말 항목에 번호로 나타내는 것이다. 이 옵션을 사용하면 helpfile도 반드시 사용해야 한다. 보기. (InputBox 함수) Sub Question() myvar = InputBox(Prompt:="숫자를 입력하세요.", _ 3 Default:="00", Title:="홀수, 짝수 판별")

23 4 5 MsgBox myvar 위의 함수는 입력 상자의 메세지는 숫자를 입력하세요, 입력란의 기본 값은 00, 제목표시줄은 홀수, 짝수 판별로 설정하였다. 그림.4에 기본 설정값 00 을 입력하면 myvar 변수에 값이 저장되며 세 번째 줄에 그 값이 출력된다. (a) InputBox에서 리턴 값 보내기 (b) InputBox에서 리턴 값 출력 그림.4: InputBox 사용 예 제.7. 절 변수 변수란 프로그램 실행 중 수정될 수 있는 데이터를 포함할 수 있는 명명된 저 장 위치를 의미하며 변수 범위 안에서 유일하게 식별하는 이름을 갖는다. 변수 이름은 문자로 시작해야 하고(한글도 사용 가능), 같은 범위 안에서 고유해야 하고, 55 문자보다 길어서는 안되고, 포함 구간이나 형식 선언 문자를 포함할 수 없다. 변수로 자주 사용하게 될 데이터 형식에 대하여 알아보자. Boolean 변수는 6비트(바이트) 숫자로 저장되지만, 이 변수가 가질 수 있 는 값은 오직 True 혹은 False이다. Boolean 변수는 Print를 사용할 때는 True 또는 False로, Write #을 사용할 때는 #TRUE# 또는 #FALSE# 로 표시한다. Boolean 변수는 두 상태 중 한 가지를 지정하기 위해 True 와 False 키워드를 사용한다. 다른 숫자 형식이 Boolean값으로 변환될 때 0은 False로, 그 밖의 다른 값들은 True로 변환된다. Boolean값이 다른 데이터 형식으로 변환될 때 False는 0으로 True는 -로 변환된다.

24 Byte 변수는 0부터 55까지 값의 범위를 가지는 부호없는 단일한 8비트(바 이트) 숫자로 저장된다. Byte 데이터 형식은 이진 데이터를 저장할 때 사용한다. Currency 변수는 정수 부분 5자리와 소수점 이하 4자리의 고정 소수점을 주기 위하여 0,000 단위로 구분한 정수 형식의 64 비트(8바이트) 숫 자로 저장된다. 이 변수의 표현 범위는 9,337,03,685, 부터 9,337,03,685, 이며, Currency의 형식 선언 문자는 at 이다. Currency 데이터 형식은 정확성이 필요한 고정 소수점 계산과 돈 계산 등에 유용게 사용된다. Date 변수는 IEEE 64비트(8바이트) 부동 소수점 숫자로 저장되며, 00년 월 일부터 9999년 월 3일까지의 날짜와 0:00:00부터 3:59:59까지의 시 간을 표현할 수 있다. 인식 가능한 날짜 형식의 모든 문자는 Date 변수에 할당될 수 있다. 날짜 리터럴은 #January, 993# 또는 # Jan 93# 등과 같이 기호(#)를 사용해야 한다. Date 변수는 날짜의 경우 컴퓨터 가 인식하는 간단하게 표시 날짜 형식에 따라 나타낸다. 시간의 경우 시간 혹은 4 시간의 시간 형식으로 나타낸다. 다른 숫자 형식을 Date로 변환할 경우 정수 부분의 값은 날짜 정보를 나타내고 소수점 아래의 값 은 시간 정보를 나타낸다. 자정은 0으로, 정오는 0.5로 표시하며, 음수는 899년 월 30일 이전의 날짜를 나타낸다. Decimal 변수는 변할 수 있는 0의 배수로 잘린 96비트(바이트) 부호있는 정수를 저장한다. 0의 배수로 자른 요소는 소수점 아래 자릿수를 확정한 후, 0부터 8까지의 범위를 결정하게 된다. 이 변수가 가질수 있는 값 의 범위에 대하여 알아보자. 소수점 아래 자리가 없게 잘린 경우 가능한 가장 큰 값은 ±79,8,6,54,64,337,593,543,950,335이며, 0이 아닌 가장 작은 값은 ±0 8 이고 소수점 아래 8자리의 경우 가장 큰 값은 ± 이다. [참고] Decimal 데이터 형식은 Variant 안에서만 사용 가능한 다. 즉, 변수를 Decimal 형으로 선언하여 사용할 수 없으나,

25 CDec 함수를 사용하면 하위 형식이 Decimal인 Variant를 만들 수 있다. Double 변수는 IEEE 64비트(8바이트) 부동 소수점 숫자를 저장하며, 그 값 의 범위는 음수인 경우 이며 양수인 경우 까지이다. Double용 형식 선언 문자는 숫자 기호(#)를 사용한다. Integer 변수는 3767부터 3767까지의 범위를 갖는6비트(바이트) 숫자 를 저장한다. Integer용 형식 선언 문자는 백분율 기호(%)를 사용한다. Integer 변수는 나열된 값을 표현하는 데에도 사용할 수 있다. 나열된 값은 정수의 유한 집합을 포함하며, 각 값은 사용된 구문에서 유용하게 사용된다. 예를 들면 검은색 = 0, 흰색 = 처럼 나열된 값은 주어진 범위 값 중 하나를 선택하여 사용할 때 편리한다. 모든 나열된 값에 대해 Const 문을 이용해서 상수로 정의하는 것이 좋다. Long 변수는,47,483,648부터,47,483,647까지의 값을 사용할 수 있으 며, 3비트(4바이트) 숫자로 저장된다. Long용 형식 선언 문자는 앰퍼샌 드 기호(&)를 사용한다. Object 변수는 개체를 참조하는 3비트(4바이트) 주소를 저장하며, 이것이 Object로 선언된 변수는 Set 문을 사용하여 지정된 개체를 참조할 수 있다. [참고] Object 형으로 선언된 변수는 어떠한 개체라도 참조할 수 있지만, 그 변수에 의해 참조되는 개체 바인딩은 런타임 바인딩이므로 속도가 항상 느리다. 빠른 실행 모드 바인딩을 하려면 특정 클래스 이름으로 선언된 변수에 개체 참조를 지 정한다. Single 변수는 음수인 경우 부터 까지, 양수 인 경우 부터 까지 범위 값으로 IEEE 3 비트(4바이트) 부동 소수점 숫자를 저장한다. Single용 형식 선언 문자는 느낌표 기호(!)를 사용한다.

26 String 문자열에는 가변 길이와 고정 길이 문자열의 두 종류가 있다. 가변 길이 문자열은 대략 0억(3 )개 까지의 문자를 포함한다. 고정 길이 문자열은 부터 대략 64K(6 )개 까지의 문자를 포함한 다. [참고] Public형 고정 길이 문자열은 클래스 모듈에서는 사용할 수 없다. String 문자의 코드 범위는 0부터 55까지이며, 문자 집합에서 앞의 8 개 문자(0부터 7까지)가 표준 U.S. 키보드 글자와 기호 문자를 나타 낸다. 앞의 8개 문자는 ASCII 문자 집합에서 정의한 것과 동일하며, 뒤의 8개 문자(8부터 55까지)는 국제 기호, 강세, 통화 표시 및 분수 등과 같은 특수 문자를 나타낸다. String 형식 선언 문자는 달러 기호($) 를 사용한다. 사용자 정의 데이터 형식 사용자 정의 데이터 형식이란 Type 문을 사용해서 만든 데이터 형식을 말한다. 사용자 정의 데이터 형식에는 하나 이상의 데이터 형식, 배열, 미리 정의한 사용자 정의 데이터 형식이 포함되며, 예를 들면 다음과 같다. 보기.3 (변수) Type MyType MyName As String 3 MyBirthDate As Date 4 MySex As Integer 5 End Type 문자열 변수는 이름을 저장한다. 날짜 변수는 생일을 저장한다. 정수 변수는 성별을 저장한다. 여자는 0이고 남자는 이다. Variant 데이터 형식은 Dim, Private, Public 또는 Static과 같은 문을 사용 하여 다른 형식으로 명시적으로 선언되지 않은 모든 변수의 데이터 형 식이다. Variant 데이터 형식은 형식 선언 문자가 없다. Variant는 고정

27 길이 String 데이터를 제외한 모든 종류의 데이터를 처리할 수 있는 특 별한 데이터 형식이다. Variant 형식은 이제 사용자 정의 형식을 지원 한다. Variant는 Empty, Error, Nothing, Null 등의 특정한 값을 가질 수 있다. VarType 함수나 TypeName 함수를 사용하면 Variant로 선언된 데 이터가 어떻게 처리되는지 결정할 수 있다. 숫자 데이터의 경우 음수는 부터 까지, 양수는 부터 까지 표현할 수 있다. 일반적으로 숫자 Variant 데이터는 Variant 안에서 고유의 데이터 형식을 계속 갖 게 된다. 예를 들면 integer를 Variant에 할당하면 이후 연속된 연산은 Variant를 Integer로 처리한다. 그러나 Byte, Integer, Long, Single 값의 가진 Variant에서 산술 연산을 실행한 결과값이 원래의 데이터 형식의 일반적인 값보다 클 경우 그 결과값은 Variant안에서 더 큰 데이터 형식 으로 변환된다. Byte는 Integer로 변환되고, Integer는 Long으로, Long과 Single은 Double로 변환된다. Currency, Decimal 그리고 Double 값을 가진 Variant 변수들이 각각 범위를 초과하면 오류가 발생한다. Variant 데이터 형식은 더욱 유연하게 데이터를 다루는 작업을 해야 하는 곳에서 사용할 수 있다. Variant 변수의 내용이 숫자라면 아래의 예와 같이 상황에 따라 숫자를 문자열로 표현할 수도 있고 또는 실제값이 될 수도 있다. 보기.4 (변수) Dim MyVar As Variant MyVar = 9805 위의 예제에서 MyVar 변수는 실제 값인 9805를 숫자로 나타내고 있다. 산술 연산자는 Variant 변수가 숫자값 또는 숫자로 변환될 수 있는 문자열 데이터를 포함하고 있다고 가정하고 작업을 수행한다. 만약 MyVar 변수 값을 숫자를 포함하고 있는 또 다른 Variant 변수 혹은 숫자 형식 변수에 더하기 위해 + 연산을 한다면 그 결과값은 산술 합계가 된다. Empty 값은 Variant 변수가 초기화되지 않았음(초기값이 할당되지 않았음)을 의미한다. Empty 값을 가진 Variant 변수는 산술적으로 사용할 때는 0을

28 의미하고, 문자열 의미로 사용할 때는 크기가 0인 문자열( )을 의미한다. Empty와 Null을 혼동하지 마십시오. Null은 Variant 변수가 의도적으로 유효하지 않은 값을 가지고 있다는 것을 의미한다. Variant에서 Error는 프로시저에서 오류가 발생한 것을 나타내는 특별한 값이다. 그러나 다른 오류와는 달리 보통 프로그램 단위의 오류 처리는 발생하지 않으며, 발생 하는 오류값에 따라 다른 방법으로 오류를 처리할 수 있게 한다. CVErr 함수를 사용하여 실제값을 오류값으로 변환하면 Error 값이 만들어진다..7. Dim 문 Dim 문은 변수를 선언할때 사용하는 키워드이다. 사용방법은 Dim varname[([subscripts])] [As type] [, varname[([subscripts])] [As type]]... 이다. Dim 문에서 단어 Dim은 필수 키워드이다. 유일한 필수 요소는 varname( 변수 이름)이다. 예를 들어, 보기.5 (변수3) Dim myvar, nextvar, thirdvar 라 하면 변수 myvar, nextvar, thirdvar를 만든다. 이들은 자동으로 Variant 변 수로 선언된다. 그러나 모든 경우 Variant를 사용하는 것은 많은 메모리를 요구 하므로 이보다 작은 데이터 형식을 사용하여도 가능한 경우에 데이터 형식을 지정할 수가 있는데, 그 예로 String로 선언하려면 Dim myanswer As String 로 하면 된다. 또한 이렇게 변수를 선언하면 여러 오류도 예방할 수 있다. 변수를 여러 개 선언하려면 각 변수마다 데이터 형식을 포함해야 한다. 에를 들어 Dim x As Integer, y As Integer, z As Integer

29 와 같이 하면 x, y, z는 모두 Integer로 되었으며, Dim x, y, z As Integer 와 같이 하면 x, y는 Variant데이터 형식으로 되고 z만 Integer 데이터 형식으로 지정된다. 배열은 Dim myarray() 와 같이 선언하여 사용할 수 있으며 배열에 관한 자세한 내용은.7.4 소절을 참조하라..7. Visual Basic 명명 규칙 Visual Basic 모듈에서 프로시저, 상수, 변수, 인수의 이름을 정할 때는 다음과 같은 규칙을 따른다. 첫 번째 문자는 숫자를 사용할 수 없으며 영어나 한글 등의 문자를 사용 해야 한다. 공백이나 마침표(.), &, $, # 문자는 이름에 사용할 수 없다. 길이는 55자를 넘을 수 없다. 보통 Visual Basic의 함수, 문, 메서드 같은 이름은 사용할 수 없다. 즉 언 어가 먼저 사용하려고 저장된 예약어인 키워드는 사용할 수 없다. 그러나 이미 지정된 이름과 충돌하는 내부 언어 함수나 문, 메서드를 사용하려면 명시적으로 나타내야 한다. 관련된 형식 라이브러리의 이름을 내부 함수, 문, 메서드 앞에 넣는다. 같은 수준의 범위에서는 이름을 반복하여 붙일 수 없다. 예를 들어 같은 프로시저에서 age라는 변수를 두 개 선언할 수 없다. 그러나 같은 모듈에 서 Private 변수 age와 프로시저 수준 변수 age를 선언할 수 있다. [참고] Visual Basic에서는 대/소문자를 구분할 필요는 없으나 이름이 선언된 문에서는 대문자로 보존된다.

30 .7.3 Visual Basic 문 작성 Visual Basic의 문은 키워드, 연산자, 변수, 상수, 식을 포함할 수 있다. 각 문은 다음 세 분야 중 하나에 속한다. 변수나 상수, 프로시저의 이름을 정하고 데이터 형식을 지정할 수 있는 선언문이다. (선언문 작성 예 ReDim, Public, Private, Static, Const) 값이나 식을 변수나 상수에 지정하는 지정문이다.(예 Let, Set 지정문 작 성) 동작을 초기화하는 실행문이다. 이 문은 메서드나 함수를 수행할 수 있고 코드 블록을 반복하거나 분기할 수 있다. 실행문은 수치 연산자나 조건 연산자를 포함한다.(실행문 작성 예Do-While-Loop).7.3. 여러 줄에 계속되는 문 문은 보통 한 줄에 쓸 수 있지만 줄 연속 문자를 사용하여 다음 줄로 문을 연결 할 수 있다. 여러 줄에 한 문을 넣으려면 한 줄의 맨 끝에 밑줄( )과 빈 공간(t) 을 차례로 붙여쓴다. 다음 MsgBox 실행문은 3줄에 걸쳐 연결된다. 보기.6 (한 실행문을 여러 줄에 입력) Sub DemoBox() 이 프로시저는 문자열 변수를 선언한다. Claudia으로 지정하십시오. 3 그리고 연결된 메시지라고 표시한다. 4 Dim myvar As String 5 myvar = "John" 6 MsgBox Prompt:="Hello " & myvar, _ 7 Title:="Greeting Box", _ 8 Buttons:=vbExclamation 9

31 .7.3. 한 줄에 여러 실행문 넣기 기본적으로 한 줄에는 한 실행문만 입력할 수 있도록 설정되어 있으나 간단한 문장들은 한 줄여 여러 실행문을 입력하여도 프로그램 코드가 보기에 편할 수 있다. 여러 실행문을 한 줄에 사용하는 방법은 실행문과 실행문 사이에 콜론(:)을 삽입하면 된다. 다음과 같이 한 줄에 여러 변수의 값을 생성하고 그 결과를 출력하면 567 이 출력된다. 보기.7 (한 줄에 여러 실행문 넣기) Sub 한줄에여러문넣기() i=5: j=6: k=7 3 MsgBox i & j & k 주석 추가 주석은 누구나 코드를 읽을 수 있게 프로시저나 특별한 명령을 설명한다. Visual Basic은 프로시저를 실행할 때 주석은 무시한다. 주석 줄은 작은따옴표( )로 시작하거나 Rem 뒤에 공백을 두어 사용하고 프로시저의 어느 곳에나 쓰일 수 있다. 문과 같은 줄에 주석을 추가하려면 문 뒤에 작은 따옴표를 넣고 주석을 달면 된다. 기본적으로 주석은 녹색 문자열로 표시된다 구문 오류 검사 코드를 한 줄 입력하고 Enter키를 눌렀을 때 그 줄이 빨간색으로 표시되면(오류 메시지도 함께 표시됨) 문에서 무엇이 잘못되었는지 찾아 수정해야 한다.

32 .7.4 배열 사용 배열을 선언하면 동일한 데이터 형식의 값들 생성하여 작업할 수 있다. 배열은 값을 저장할 많은 공간들로 된 단일 변수인 반면 일반 변수는 값 하나만 저장 할 수 있는 공간을 갖는다. 배열의 모든 값을 참조하기 위해서 배열을 전체로 참조할 수도 있고 각 요소들을 참조할 수도 있다. 예를 들어, 매일마다 하루 경비를 저장해야 할 때는 365개 변수를 선언하기 보다는 365개의 요소를 가지는 배열 변수 한 개를 선언하는 것이 효율적이다. 배열의 각 요소마다 값이 한 개 있다. 다음 문은 365개 요소로 된 배열 변수 curexpense를 선언한다. 기본적으로 배열의 인덱스는 0으로 시작하므로 배열 의 상한값은 365가 아닌 364이다. Dim curexpense(364) As Currency 요소의 값을 개별적으로 설정하려면 요소의 인덱스를 지정한다. 다음 보기는 배열의 각 요소에 초기값 0을 지정한 예이다. 보기.8 (배열 사용) Sub FillArray() Dim curexpense(364) As Currency 3 Dim inti As Integer 4 For inti = 0 to curexpense(inti) = 0 Next.7.4. 하한값 변경 배열을 사용하다 보면 시작 인덱스를 변경하면 작업이 편리하게 진행되는 경 우가 있다. 이런 경우 모듈의 맨 위에 있는 Option Base 문을 사용하여 첫 번째 요소의 기본 인덱스를 0에서 로 변경할 수 있다. 다음 보기에서 Option Base 문은 첫 번째 요소의 인덱스를 변경하고 Dim 문은 365개 요소의 배열 변수 curexpense를 선언한다.

33 보기.9 (배열 기본 인덱스 변경) Option Base Dim curexpense(365) As Currency 또한 To를 사용하면 배열의 인덱스를 명시적으로 설정할 수 있다. 다음은 To 를 사용하여 배열의 하한값을 명시적으로 설정하였다. 보기.0 (배열의 인덱스를 명시적으로 설정) Dim curexpense( To 365) As Currency Dim strweekday(7 To 3) As String.7.4. 배열에 Variant 값 저장 Variant 값 배열을 만드는 방법은 두 가지이다. 첫 번째는 각 배열 요소에 Variant 데이터 형식을 각각 입력한다. 다음 예를 보자. 보기. (Variant 배열 형식 입력) Dim vardata(3) As Variant vardata(0) = "Claudia Bendel" 3 vardata() = "44 Maple Blvd" 4 vardata() = 38 5 vardata(3) = Format(" ", "일반 날짜") 두 번째는 Array 함수의 결과값으로 나오는 배열을 Variant 변수에 지정하는 것이다. 보기. (Array 함수로 Variant 배열 형식 입력) Dim vardata As Variant vardata = Array("Ron Bendel", "44 Maple Blvd", 38, _ 3 Format(" ", "General Date"))

34 두 방법 중 어떤 방법으로 변수를 만들었어도 Variant 값들로 된 배열의 요소는 인덱스로 나타낼 수 있다. 예를 들어, 보기.에 다음 문을 추가해보자. 보기.3 (Variant 벼열 요소 호출) MsgBox "Data for " & vardata(0) & " has been recorded." 다차원 배열 사용 배열은 차원 이상 사용하면 다차원 배열이라고 부른다. Visual Basic에서 배열 은 60 차원까지 선언할 수 있다. 다음은 5 0의 차원 배열을 선언한 예이다. 보기.4 ( 차원 배열) Dim sngmulti( To 5, To 0) As Single 배열을 행렬로 생각한다면 첫 번째 인수는 행을 나타내고 두 번째 인수는 열을 나타낸다. 다차원 배열을 처리할 때는 중첩된 For-Next 문을 사용한다. 다음 프로시저 는 차원 배열을 Single 값으로 채운다. 보기.5 ( 차원 배열에 값 채우기) Sub FillArrayMulti() Dim inti As Integer, intj As Integer 3 Dim sngmulti( To 5, To 0) As Single 4 5 배열을 값으로 채운다. 6 For inti = To 5 7 For intj = To 0 8 sngmulti(inti, intj) = inti * intj 9 Debug.Print sngmulti(inti, intj) 0 Next intj Next inti

35 고정 배열 선언 배열의 선언을 Dim으로 할 경우 배열의 크기는 Dim에 선언한 값보다 이 더 크다. 다음은 고정 배열의 크기를 행과 열로 된 Integer 배열이다. 보기.6 (고정 배열 선언) Dim MyArray(0, 0) As Integer 첫 번째 인수는 행을 나타내고 두 번째 인수는 열을 나타낸다. 다른 변수 선언과 같이 배열에 대해 데이터 형식을 지정하지 않으면 선언된 배열 요소의 데이터 형식은 Variant가 된다. 배열의 각 숫자 Variant 요소는 6바이트를 사용한다. 각 문자열 Variant 요소는 바이트를 사용한다. 되도록 정확히 코드를 작성 하려면 Variant가 아닌 데이터 형식을 선언하십시오. 다음 코드들은 여러 가지 배열의 크기를 비교한다. 보기.7 (배열 크기 선언) 정수 배열은 바이트를 사용한다.( 요소 * 바이트) ReDim MyIntegerArray(0) As Integer 3 4 배정도 배열은 88바이트를 사용한다.( 요소 * 8바이트) 5 ReDim MyDoubleArray(0) As Double 6 7 Variant 배열은 적어도 76바이트를 사용한다. 8 ( 요소 * 6바이트) 9 ReDim MyVariantArray(0) 0 정수 배열은 00 * 00 * 바이트를 사용한다. (0,000바이트) 3 ReDim MyIntegerArray (99, 99) As Integer 4 5 배정도 배열은 00 * 00 * 8바이트를 사용한다. 6 (80,000 바이트)

36 7 ReDim MyDoubleArray (99, 99) As Double 8 9 Variant 배열은 적어도 60,000바이트를 사용한다. 0 (00 * 00 * 6바이트) ReDim MyVariantArray(99, 99) 위의 예에서 운영 체제와 사용가능한 메모리에 따라 배열의 최대 크기는 변할 수 있다. 사용할 수 있는 RAM 용량을 초과하는 배열을 사용하면 데이터가 디스크로부터 읽히거나 기록되기 때문에 속도가 느려진다..7.5 동적 배열 선언 동적 배열을 선언하면 코드가 실행하는 동안 배열의 크기를 정할 수 있다. 다음 보기와 같이 Static, Dim, Private, Public 문을 사용하여 배열을 선언하고 괄호 안은 공백으로 남겨둔다. 보기.8 (배열 선언(크기 설정 않함)) Dim sngarray() As Single [참고] ReDim 문을 사용하면 프로시저에서 암시적으로 배열을 선 언할 수 있다. ReDim 문을 사용할 때 배열 이름을 잘못 쓰지 않도록 주의 한다. Option Explicit 문이 모듈에 포함되어 있어도 두 번째 배열을 만들 수 있다. 배열의 범위에 있는 프로시저에서는 ReDim 문을 사용하여 차원의 수를 변경하거나 요소의 수를 정의하고 각 차원의 상한값과 하한값을 정의한다. ReDim 문을 사용하여 동적 배열을 변경할 수도 있다. 그러나 이렇게 할 때마다 배열에 있는 기 존의 값을 잃게 된다. 따라서 배열에 있는 기존의 값을 보존하면서 배열을 확장하려면 ReDim Preserve를 사용한다. 예를 들어, 다음 은 원래 요소의 현재값을 잃지 않고 배열 vararray를 0 요소만큼 확장한다. 보기.9 (배열 요소 확장)

37 ReDim Preserve vararray(ubound(vararray) + 0) [메모] Preserve 키워드를 동적 배열과 함께 사용하면 마지막 차원의 상한값만 변경할 수 있지만 차원의 수는 변경할 수 없다. 제.8. 절 프로시저 프로시저는 문, 변수 등을 사용하여 실행할 수 있는 공간으로 Sub 프로시저, Function 프로시저, Property 프로시저가 있다..8. Sub 프로시저 Sub 프로시저는 동작은 수행하지만 값은 반환하지 않는 Sub와 로 묶 인 일련의 Visual Basic 문이다. Sub 프로시저는 호출 프로시저에 의해 전달된 상수, 변수, 식 같은 인수를 가질수 있다. Sub 프로시저의 구성은 [Private Public Friend][Static] Sub name[(arglist)] [statements] [Exit Sub] [statement] 이다. Sub 프로시저에 인수가 없으면 Sub 문에는 공백의 괄호가 포함되어야 한다. 다음은 Sub 프로시저 예다. 보기.30 (Sub 프로시저) Sub GetInfo() Dim answer As String answer = InputBox(Prompt:="이름을 입력하십시오.") If answer = Empty Then MsgBox Prompt:="이름을 입력하지 않았다." Else

38 MsgBox Prompt:="이름은 "& answer &"이다." End If.8. Function 프로시저 Function 프로시저는 동작을 수행한 결과 값을 반환하는 것으로 구성은 Function과 End Function으로 묶인 비주얼 베이직 문이다. Sub 프로시저의 구성은 [Private Public Friend][Static] Function name[(arglist)] [As type] [statements] [name = expression] [Exit Function] [statement] [name = expression] 이다. Function 프로시저는 호출 프로시저에 의해 전달된 상수, 변수, 식 같은 인수를 가질 수 있으며 값을 반환하는 형태의 데이터 형식을 지정해야 한다. 이 때 되돌려 주는 값은 Function에 붙여진 프로시저 명으로 해야 한다. 다음은 계승(factorial)을 만드는 Function 프로시저 예이다. 보기.3 (Function 프로시저) Sub go_to() Dim num As Integer, int_num As Integer 3 Dim in_value 4 in_value = InputBox("숫자를 입력하세요") 5 If Not IsNumeric(in_value) Then 6 GoTo not_num

39 7 End If 8 num = in_value 9 out_value = factorial(num) 0 Cells(, ) = out_value Exit Sub not_num: MsgBox ("숫자를 입력하세요") 3 4 Function factorial(i As Integer) As Long 5 j = i 6 For i = i - To Step - j = j * i 7 8 Next i 9 factorial = j 0 End Function 이다. 위에서 계승(factorial)은 Sub 프로시저에서 Function 프로시저가 이 될 때까지 호출하며, factorial 프로시저에서 되돌려 주는 값은 9 줄에factorial=j 이다..8.3 Sub와 Function 프로시저 호출 다른 프로시저에서 Sub 프로시저를 호출하려면 프로시저 이름을 입력하고 필 요한 인수 값을 넣어야 한다. Call 문은 필요하지 않지만 사용할 경우에는 모든 인수를 괄호로 묶어야 한다. Sub 프로시저를 사용하여 다른 프로시저를 구성할 수 있는데, 그러면 이해하기 쉽고 디버그도 쉽다. 다음 보기에서는 Sub 프로시 저인 Main이 Sub 프로시저인 MultiBeep을 호출하여 인수 값인 56을 전달한다. MultiBeep이 실행되고 나면 컨트롤은 Main으로 반환되며 Main은 Sub 프로시 저인 Message를 호출한다. Message는 메시지 상자를 보여준다. 확인을 누르면 컨트롤은 다시 Main으로 반환되고 Main은 종료된다. 보기.3 (Sub 프로시저 호출)

40 Sub Main() MultiBeep 56 3 Message 4 5 Sub MultiBeep(numbeeps) For counter = To numbeeps Beep Next counter Sub Message() MsgBox "잠깐 쉴 시간이다!" 인수가 두 개 이상인 Sub 프로시저 호출 다음은 인수가 두 개 이상인 Sub 프 로시저를 호출하는 방법을 나타낸 것이다. HouseCalc가 두 번째 호출되면 Call 문이 사용되므로 인수를 괄호로 묶어야 한다. 보기.33 (Sub 프로시저 호출(인수 개)) Sub Main() HouseCalc 99800, Call HouseCalc(380950, 49500) 4 5 Sub HouseCalc(price As Single, wage As Single) If.5 * wage <= 0.8 * price Then MsgBox "이 집을 살 여유가 없다." Else MsgBox "이 집을 살 여유가 있다." End If

41 괄호를 사용한 Function 프로시저 호출 함수의 결과값을 사용하려면 다음 보기 와 같이 함수를 변수에 지정하고 인수들을 괄호로 묶어야 한다. Answer3 = MsgBox("당신의 봉급에 만족하십니까?", 4, "질문 3") 함수의 결과값에는 관계 없이 Sub 프로시저를 호출하는 방법으로 함수를 호 출할 수 있다. 다음 보기와 같이 괄호를 생략하고 인수들을 나열하며 함수를 변수에는 지정하지 않는다. MsgBox "작업이 완료되었다!", 0, "작업 상자" 주의 앞의 보기에서 괄호로 묶는다면 구문 오류가 발생한다. 명명된 인수 전달 Sub 또는 Function 프로시저는 명명된 인수를 사용하여 호출된 프로시저에 값 을 전달할 수 있다. 명명된 인수들은 순서에 상관없이 나열할 수 있다. 명명된 인수는 인수 이름과 콜론, 등호(:=), 인수에 지정된 값으로 구성된다. 다음은 결과값 없이 명명된 인수를 사용하여 MsgBox 함수를 호출한다. MsgBox Title:="작업 상자", Prompt:="작업이 완료되었다!" 다음은 명명된 인수를 사용하여 MsgBox 함수를 호출한다. 결과값은 변수 answer3에 지정한다. answer3 = MsgBox(Title:="질문 3", _ Prompt:="당신의 봉급에 만족하십니까?", Buttons:=4) 제.9. 절 제어문 프로그램 작성시 일정한 조건에 따라 증가 또는 감소하는 경우나 특정한 조건 동안 명령을 실행할 때 사용하는 키워드가 있으며 이것을 제어문이라고 말한다..9. Do-Loop 문 사용 Do-Loop 문을 사용하여 문 블럭을 무제한으로 실행할 수 있다. 조건이 True이 거나 True가 될 때까지 반복된다. While이나 Until 키워드를 사용하여 Do-Loop

42 문에서 조건을 검사하는 방법은 두 가지이다. Do-Loop 문에 들어가기 전에 조 건을 검사할 수도 있고 적어도 한 번 Do-Loop 문을 실행한 후에 검사할 수도 있다. Do-Loop 문에 들어가기 전에 조건을 검사하려면 다음과 같이 한다. Do [{While Until} condition ] 반복할 문 [Exit Do] Loop 또한 적어도 한 번 Do-Loop 문을 실행한 후에 조건을 검사하려면 다음과 같이 한다. Do 반복할 문 [Exit Do] Loop [{While Until} condition ] 다음 ChkFirstWhile 프로시저에서는 Do-Loop 문에 들어가기 전에 조건을 검사 한다. mynum이 0이 아닌 9로 설정되었다면 그 Do-Loop 안의 문은 실행되지 않다. ChkLastWhile 프로시저에서는 조건이 False가 되기 전까지 루프 안의 문은 한 번만 실행된다. 보기.34 (조건이 True일 동안 문 반복) Sub ChkFirstWhile() counter = 0 3 mynum = 0 4 Do While mynum > 0 5 mynum = mynum - 6 counter = counter +

43 7 Loop 8 MsgBox "루프를 "& counter &"번 반복하였다." 9 0 Sub ChkLastWhile() counter = 0 3 mynum = 9 4 Do 5 mynum = mynum - 6 counter = counter + 7 Loop While mynum > 0 8 MsgBox "루프를 "& counter &"번 반복하였다." 9 Do-Loop 문에서 조건을 검사하기 위해 Until 키워드를 사용하는 방법이 두 가지 있다. Do-Loop 문에 들어가기 전에 조건을 검사(ChkFirstUntil)할 수도 있고 루 프가 적어도 한 번 실행된 후에 검사(ChkLastUntil)할 수도 있다. 루프는 조건이 False인 동안 반복된다. 보기.35 (조건이 True가 될 때까지 문 반복) Sub ChkFirstUntil() counter = 0 3 mynum = 0 4 Do Until mynum = 0 5 mynum = mynum - 6 counter = counter + 7 Loop 8 MsgBox "루프를 "& counter &"번 반복하였다." 9 0 Sub ChkLastUntil()

44 counter = 0 3 mynum = 4 Do 5 mynum = mynum + 6 counter = counter + 7 Loop Until mynum = 0 8 MsgBox "루프를 "& counter &"번 반복하였다." 9 Exit Do 문을 사용하여 Do-Loop 문을 빠져 나갈 수 있다. 예를 들어, 끝없이 반복되는 루프를 빠져 나가려면 If-Then-Else 문이나 Select-Case 문의 True 문 블록에서 Exit Do 문을 사용하십시오. 조건이 False일 경우에는 루프가 계속 반복되어 실행될 것이다. 다음 보기에서 mynum에는 끝없이 반복되는 루프를 만드는 값이 지정되었다. If-Then-Else 문은 이 조건을 검사하고 루프가 계속 반복되는 것을 막기 위해 조건이 맞으면 빠져 나간다. 보기.36 (Do-Loop 문 빠져 나가기) Sub ExitExample() counter = 0 3 mynum = 9 4 Do Until mynum = 0 5 mynum = mynum - 6 counter = counter + 7 If mynum < 0 Then Exit Do 8 Loop 9 MsgBox "루프를 "& counter &"번 반복하였다." 0 [참고] 계속 반복되는 루프를 멈추려면 Esc키나 Ctrl+Break를 누 르십시오.

45 .9. For-Each-Next 문 For-Each-Next 문은 컬렉션의 각 개체나 배열의 각 요소마다 문 블럭을 반복한 다. 루프가 실행될 때마다 자동으로 변수가 설정된다. 사용법은 다음과 같다. For Each element In group 반복할 문 [Exit For] Next element For-Each-Next 문에 사용한 값들은 element : 컬렉션이나 배열의 요소들을 반복실행에 사용하는 변수 group : 개체 컬렉션이나 배열이름 예를 들어, 다음 프로시저는 실행 중인 프로시저가 들어 있는 폼을 제외한 모든 폼을 닫다. 보기.37 (유저폼 닫기 반복) Sub CloseForms() For Each frm In Application.Forms If frm.caption <> Screen. ActiveForm.Caption Then frm.close Next 다음 코드는 배열의 각 요소를 반복하며 각 값을 인덱스 변수 I의 값으로 설정 한다. 보기.38 (배열에 값 할당 반복) Dim TestArray(0) As Integer, I As Variant For Each I In TestArray

46 3 4 TestArray(I) = I Next I 셀 범위에서 반복 실행 For-Each-Next 문을 사용하여 범위에 있는 모든 셀을 반복할 수 있다. 다음 프로시저는 시트의 A:D0 범위를 반복 실행하며 절대 값이 0.0보다 작은 숫자는 0으로 설정한다. 보기.39 (개체에 속한 콜렉션 반복) Sub RoundToZero() For Each myobject in mycollection If Abs(myObject.Value) < 0.0 Then myobject.value = 0 Next 끝나기 전에 Each-Next-Loop 문 빠져 나가려면 Exit For 문을 사용하여 For Each-Next 루프를 빠져 나갈 수 있다. 예를 들어, 오류가 발생하면 특별히 오 류를 검사하는 If-Then-Else 문이나 Select-Case 문의 True 문 블록에 Exit For 문을 사용하면 반복문을 빠져나갈 수 있다. 오류가 발생하지 않고 If-Then-Else 문이 False이면 루프는 예상대로 계속 실행된다. 다음 보기는 A:B5 범위에서 숫자가 없는 첫 번째 셀을 검사한다. 그런 셀을 찾으면 메시지가 표시되고 Exit For 문에 의해 루프를 빠져 나간다. 보기.40 (반복문 빠져나가기) Sub TestForNumbers() For Each myobject In MyCollection 3 If IsNumeric(myObject.Value) = False Then 4 MsgBox "개체에 숫자값이 아닌 값이 있다." 5 Exit For End If Next c

47 .9.3 For-Next 문 For-Next 문을 사용하여 정해진 횟수만큼 문 블럭을 반복할 수 있다. For 루프는 루프를 반복할 때마다 값이 증가되거나 감소되는 카운터 변수를 사용한다. For counter=start To end [Step step ] 반복할 문 [Exit For] Next counter For-Next 문에 사용한 값들은 counter : 반복문에 루프 카운터로 사용할 숫자 변수명 start : 반복문에서 시작값 end : 반복문에서 종료값 step : 반복문에서 루프에서 변화하는 값으로 생략하면 다음 프로시저는 신호음을 50번 낸다. For 문은 카운터 변수 x와 시작값, 최종값을 지정한다. Next 문은 카운터 변수를 씩 증가시킨다. 보기.4 (반복해서 beep 소리 내기) Sub Beeps() For x = To 50 3 Beep 4 Next x 5 Step 키워드를 사용하면 지정한 값만큼 카운터 변수를 증가시키거나 감소시킬 수 있다. 다음 보기에서는 루프가 반복될 때마다 카운터 변수 j가 씩 증가한다. 루프가 끝나면 total은, 4, 6, 8, 0의 합계가 된다.

48 보기.4 (증가치를 반복해서 합계 구하기) 3 Sub TwosTotal() For j = To 0 Step total = total + j 4 Next j 5 MsgBox "총 "& total &"이다." 6 카운터 변수를 감소시키려면 음수 Step 값을 사용하십시오. 카운터 변수를 감 소시키려면 최종값을 시작값보다 작게 지정해야 한다. 다음 보기에서 카운터 변수 mynum은 루프가 반복될 때마다 씩 감소된다. 루프가 끝나면 total은 6, 4,, 0, 8, 6, 4, 의 합계가 된다. 보기.43 (감소치를 반복해서 합계 구하기) 3 Sub NewTotal() For mynum = 6 To Step - total = total + mynum 4 Next mynum 5 MsgBox "총 "& total &"이다." 6 [참고] 문 다음에 카운터 변수 이름을 포함할 필요는 없다. 앞의 보기에서 카운터 변수 이름은 이해를 쉽게 하도록 포함되었다. Exit For 문을 사용하면 최종값에 이르기 전에 For-Next 문을 빠져 나올 수 있 다. 예를 들어, 오류가 발생할 때 특별히 오류를 검사하는 If-Then-Else 문이나 Select-Case 문의 True 문 블록에 Exit For 문을 사용하면 된다. 오류가 발생하지 않고 If-Then-Else 문이 False이면 루프는 예상대로 실행을 계속할 것이다.

49 .9.4 If-Then-ElseIf-Then-Else 문 If-Then-ElseIf-Then-Else 문을 사용하여 조건 값에 따라서 특정 문이나 문 블록 을 실행할 수 있다. If-Then-ElseIf-Then-Else 문은 필요한 수준만큼 중첩될 수 있다. 그러나 읽기 쉽게 하려면 다중 수준으로 중첩된 If-Then-ElseIf-Then-Else 문을 사용하는 것보다는 Select-Case 문을 사용할 수도 있다. If-Then-ElseIfThen-Else 문의 사용법은 다음과 같다. If condition Then 실행 문 [ElseIf condition Then 실행 문 ] [Else 실행 문3 ] End If condition 여기서 condition : 이 조건이 True이면 실행 문 이 실행됨 condition : condition 을 제외하고 이 조건이 True이면 실행 문 가 실행 됨 또한 조건이 여러 개이면 ElseIf condition Then을 여러 번 사용하면 된다. 반 대로 조건이 한 개인 것을 실행하려면 If-Then-Else를 사용한다. 다음 보기는 Else 키워드를 생략한 한 줄 구문이다. 보기.44 (논리가 한 개인 경우 한 문장 실행 조건문) Sub FixDate() mydate = #/3/95#

50 3 4 If mydate < Now Then mydate = Now 한 줄 이상의 코드를 실행하려면 여러 줄 문을 사용해야 한다. 다음 보기와 같이 이 구문은 End If 문을 포함한다. 보기.45 (논리가 한 개인 경우 여러 문장 실행 조건문) Sub AlertUser(value as Long) If value = 0 Then 3 AlertLabel.ForeColor = "Red" 4 AlertLabel.Font.Bold = True 5 AlertLabel.Font.Italic = True 6 7 End If 조건이 True일 때 특정 문을 실행하고 False일 때 다른 문 실행 If-Then-Else 문을 사용하여 실행문 블록 두 개를 정의한다. 조건이 True이면 한 블록이 실행되고 False이면 다른 블록이 실행된다. 보기.46 (논리가 한 개인 경우 TRUE, FALSE마다 실행 조건문) Sub AlertUser(value as Long) If value = 0 Then 3 AlertLabel.ForeColor = vbred 4 AlertLabel.Font.Bold = True 5 AlertLabel.Font.Italic = True 6 Else 7 AlertLabel.Forecolor = vbblack 8 AlertLabel.Font.Bold = False 9 AlertLabel.Font.Italic = False 0 End If

51 첫 번째 조건이 False일 때 두 번째 조건 검사 If-Then-Else 문에 ElseIf 문을 추가하여 첫 번째 조건이 False일 때 두 번째 조건을 검사할 수 있다. 예를 들어, 다음 Function 프로시저는 일의 등급에 따라 보너스를 계산한다. Else 문 다음의 문은 모든 If 와 ElseIf 문이 False일 때 실행한다. 보기.47 (논리가 두 개 이상인 경우 조건문) Function Bonus(performance, salary) If performance = Then Bonus = salary * 0. ElseIf performance = Then Bonus = salary * 0.09 ElseIf performance = 3 Then Bonus = salary * 0.07 Else Bonus = 0 End If End Function.9.5 Select-Case 문 하나의 식을 다른 여러 값과 비교할 때는 If-Then-Else 문의 ElseIf 대신에 SelectCase 문을 사용한다. If-Then-Else 문이 각 ElseIf 문의 다른 식을 나타낼 수 있는 반면, Select-Case 문은 제어 구조의 맨 위에서 식을 한 번만 검토할 수 있다. Select-Case 문의 사용법은 다음과 같다.

52 Select Case testexpression Case expressionlist 실행문... Case Else 실행문 End Select 위 식에서 인수의 사용은 다음과 같다. testexpression : 반드시 입력해야 하는 값으로 수식이나 문자식 testexpressionlist : Case에 반드시 입력하는 값으로 특정값이나 범위를 지정할 수 있음 다음 보기에서는 Select-Case 문을 사용하여 프로시저에 전달된 인수 performance를 검토한다. Case 문은 각각 값, 값 범위, 비교 연산자와의 조합을 두 개 이상 가질 수 있다. 선택적인 Case-Else 문은 Select Case 문이 어느 Case 문의 값과도 일치하지 않을 때 실행된다. 보기.48 (여러 가지 경우에 대한 조건문) Function Bonus(performance, salary) Select Case performance Case Bonus = salary * 0. Case, 3 Bonus = salary * 0.09 Case 4 To 6 Bonus = salary * 0.07 Case Is > 8 Bonus = 00

53 Case Else Bonus = 0 3 End Select 4 End Function.9.6 With 문 With 문을 이용하면 연속되는 문 전체에서 개체나 사용자 정의 형식을 한 번만 지정할 수 있다. With 문은 프로시저를 빠르게 실행시키고 반복적인 입력을 하지 않도록 한다. With 문 사용법은 다음과 같다. With object 실행문 End With 위 사용법에서 object는 개체의 이름이나 사용자 정의 형식을 사용한다. 다음 보기는 숫자 30으로 셀 범위를 채우고 글꼴 유형을 굵게 하고 셀 내부 색을 노란색으로 설정한다. 보기.49 (개체의 속성값 설정) Sub FormatRange() With Worksheets("Sheet").Range("A:C0") 3.Value = 30 4.Font.Bold = True 5.Interior.Color = RGB(55, 55, 0) 6 7 End With

54 더 큰 효과를 내기 위해 With 문을 중첩시킬 수 있다. 다음 보기는 셀 A에 수식을 넣고 글꼴을 설정한다. 보기.50 (여러 개체의 속성값 설정) Sub MyInput() With Workbooks("Book").Worksheets("Sheet").Cells(, ) 3.Formula = "=SQRT(50)" 4 With.Font 5.Name = "Arial" 6.Bold = True 7.Size = End With End With 제.0. 절 연산자 연산자는 숫자나 문자의 계산에 사용하는 것으로 그 종류는 다음과 같다..0. 산술 연산자 산술 연산자는 수학적 계산을 수행하는 연산자로 그 종류는 다음과 같다. ^ 연산자 : 어떤 수의 지수승을 구하는 연산자이다. ^ 5는 이다. * 연산자 : 두 수를 곱하는 연산자이다. * 5는 이다. / 연산자 : 두 수를 나누고 부동 소수점을 반환하는 연산자이다. / 5는 이다.

55 \ 연산자 : 두 수를 나누고 정수 몫을 반환하는 연산자이다. \ 5는 이다. Mod 연산자 : 두 수를 나누고 나머지를 반환하는 연산자이다. Mod 5는 이다. + 연산자 : 두 수의 합을 구하는 연산자이다. + 5는 이다. - 연산자 : 두 수의 차를 구하거나 어떤 수식의 음수를 구하는 연산자이다. - 5는 이다..0. 비교 연산자 비교 연산자는 비교를 수행하는 연산자로 그 종류는 다음과 같다. < : 첫 번째 값이 두 번째 값보다 작으면 TRUE를 되돌려 주고 그렇지 않으면 FALSE를 되돌려 주는 연산자이다. < 5는 TRUE이다. <= : 첫 번째 값이 두 번째 값보다 작거나 같으면 TRUE를 되돌려 주고 그렇지 않으면 FALSE를 되돌려 주는 연산자이다. <= 5는 TRUE이다. > : 첫 번째 값이 두 번째 값보다 크면 TRUE를 되돌려 주고 그렇지 않 으면 FALSE를 되돌려 주는 연산자이다. > 5는 FALSE이다. > : 첫 번째 값이 두 번째 값보다 크거나 같으면 TRUE를 되돌려 주고 그렇지 않으면 FALSE를 되돌려 주는 연산자이다. >= 5는 FALSE이다. = : 첫 번째 값과 두 번째 값이 같으면 TRUE를 되돌려 주고 그렇지 않 으면 FALSE를 되돌려 주는 연산자이다. = 5는 FALSE이다.

56 <> : 첫 번째 값과 두 번째 값이 다르면 TRUE를 되돌려 주고 그렇지 않 으면 FALSE를 되돌려 주는 연산자이다. <> 5는 FALSE이다. Like : 두 문자열을 비교하는 연산자이다. 한림 Like 한림 은 FALSE다. Is : 두 개체가 가르키는 변수가 동등한지 비교하는 연산자이다. Range( A ) Is Range( A )는 FALSE다..0.3 문자열 연결 연산자 문자열 연결 연산자는 문자열을 조합하는 연산자로 그 종류는 다음과 같다. & : 두 식을 강제로 연결하는 연산자이다. 한림 & 대학교 는 한림대학교 이다. + : 두 수를 더하는 연산자이다. +5는 이다..0.4 논리 연산자 논리 연산자는 논리적인 작업을 수행하는 연산자로 그 종류는 다음과 같다. And : 수 식의 논리곱을 구하는 연산자이다. 두 식의 논리가 모두 TRUE 면 TRUE 그 이외는 FALSE이다. > 5 And < 5는 FALSE다. Eqv : 두 식이 논리적으로 같은지 비교하는 연산자이다. 두 식의 논리가 모두 같으면 TRUE 다르면 FALSE > Eqv < 는 FALSE다. Imp : 두 식의 논리적 함축성을 구하는 연산자이다. 첫 번째 논리가 TRUE 이고 두 번째 논리가 FALSE인 경우만 FALSE이고 나머지 경우는 모두 TRUE이다. Imp는 TRUE이다.

57 Not : 식의 논리적 부정을 구하는 연산자이다. 식의 논리가 FALSE이면 결과는 TRUE이고 TRUE이면 FALSE이다. Not > 5는 TRUE이다. Or : 두 식의 논리합을 구하는 연산자이다. 두 식의 논리가 모두 FALSE 이면 FALSE 그 이외의 논리는 모두 TRUE이다. > 5 Or < 5는 TRUE이다. Xor : 두 식이 논리적으로 다른지 비교하는 연산자이다. 두 식의 논리가 모두 다르면 TRUE 두 식의 논리가 모두 같으면 FALSE가 된다. > 5 Xor < 5는 TRUE이다.

58 상수 값 보이는 단추 vbokonly 0 확인 단추 vbokcancel 확인, 취소 단추 vbabortretryignore 중단, 다시 시도, 무시 단추 vbyesnocancel 3 예, 아니오, 취소 단추 vbyesno 4 예, 아니오 단추 vbretrycancel 5 다시 시도, 취소 단추 vbcritical 6 중대 메시지 아이콘 vbquestion 3 쿼리 경고 아이콘 vbexclamation 48 메시지 경고 아이콘 vbinformation 64 메시지 정보 아이콘 vbdefaultbutton 0 첫째 단추가 기본값 vbdefaultbutton 56 둘째 단추가 기본값 vbdefaultbutton3 5 세째 단추가 기본값 vbdefaultbutton4 768 넷째 단추가 기본값 vbapplicationmodal 0 응용 프로그램 모달로 사용자가 현재 사용 중인 프로그램 내에 서 계속 작업하려면 반드시 메 시지 상자에 응답 4096 vbsystemmodal 시스템 모달로 사용자가 메시지 상자에 응답할 때까지 모든 프 로그램들은 정지 vbmsgboxhelpbutton 6384 메시지 상자에 도움말 단추 추 가 vbmsgboxsetforeground 메시지 상자 창을 전경 창으로 설정 vbmsgboxright 5488 텍스트를 오른쪽 정렬 vbmsgboxrtlreading 히브리어와 아랍어 시스템에서 오른쪽에서 왼쪽으로 읽을 수 있도록 설정 표.: 인수로 사용하는 버튼의 특성

59 상수 값 단추 설명 vbok 확인 단추 vbcancel 취소 단추 vbabort 3 중단 단추 vbretry 4 다시 시도 단추 vbignore 5 무시 단추 vbyes 6 예 단추 vbno 7 아니오 단추 표.: 버튼에서 되돌려 주는 값 논리 논리 And OR Eqv Imp Xor TRUE TRUE TRUE TRUE TRUE TRUE FALSE TRUE FALSE FALSE TRUE FALSE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE TRUE FALSE FALSE FALSE FALSE TRUE TRUE FALSE 표.3: 두 논리값에 대한 논리 연산 결과

60

61 제3장 사용자 정의 폼(User Form) 윈도에서 응용 프로그램들은 사용자가 사용하기 편리하도록 대화 상자를 많 이 사용하고 있다. 즉 독립적인 창에 버튼이나 입력란, 메세지 등을 표현할 수 있다. 엑셀에서도 사용자가 독립적인 창에 버튼이나 입력란을 추가할 수 있으 며 버튼을 클릭하거나 입력란에 값을 추가할 때 여러 현상이 일어나게 할 수 있는데 이런 독립적인 창을 사용자 정의 폼(UserForm, 유저폼)이라 부른다. 제 3.. 절 사용자 정의 폼 작성과 실행 사용자 정의 폼을 작성하려면 Visual Basic Editor에서 삽입 사용자 정의 폼 메뉴를 선택한다. 그러면 사용자 정의 폼이 코드 입력 창에 나타나고 속성 창은 서용자 정의 폼에 대한 속성으로 변경된다. 또한 컨트롤 도구상자가 나타나며 여기에 있는 여러 컨트롤들(버튼, 레이블, 텍스트 상자, 옵션 버튼 등)을 사용자 정의 폼에 추가할 수 있다. 이렇게 사용자가 만든 사용자 정의 폼을 다음과 같이 보기 3. (유저 폼 부르기) Sub 유저폼부르기() uf.show 모듈에서 호출할 수 있다. 여기서 사용자 정의 폼에 대한 변수명은 uf로 하였 다. 이 프로시저를 엑셀에서 호출하면 사용자 정의 폼이 엑셀 화면에 나타난다 59

62 그림 3.: 유저 폼 부르기 (그림 3.). 유저 폼은 만들고 엑셀에서 실행하는 과정을 요약하면 다음과 같다.. Visual Basic Editor에서 삽입 사용자 정의 폼 메뉴를 실행하여 유저 폼을 추가. Visual Basic Editor에서 삽입 모듈 메뉴를 실행하여 모듈을 삽입하고 보기 3.에서와 같이 Shwo 속성을 사용하여 유저 폼을 호출 3. 엑셀에서 모듈에서 작성한 Sub 프로시저를 호출, 즉 제 장에서 소개한 매크로를 호출 사용자 정의 폼에는 여러 가지 속성값이 있으며, 이 값으로 사용자 정의 폼의 형태나 설정 등을 변경할 수 있다. 유저 폼의 속성값은 Visual Basic Editor의 속성 창이나 프로그램 코드 창에서 설정값을 변경할 수 있다. 사용자 정의 폼의 속성값은 있는 것 중 몇 개만 소개한다. (이름) : 유저 폼의 이름을 명명하는 것으로 프로그램언어 표현으로 유저 폼의 변수명을 설정 BackColor : 유저 폼의 뒷 배경색을 설정 Caption : 유저 폼의 제목 표시줄에 삽입할 문자열을 입력 Font : 글자의 크기, 굵기, 종류를 설정 ForeColor : 유저 폼의 앞 배경색을 설정

63 Height : 유저 폼의 창의 크기에서 세로 길이 ScrollBars : 스크롤 바의 설정 Width : 유저폼의 창의 크기에서 가로 길이 제 3.. 절 컨트롤 도구 상자 사용자 정의 폼에 여러 가지 컨트롤을 추가하여 그 컨트롤에 이벤트 가 발생 하면 적절한 행동을 취할 수 있다. 컨트롤이란 명령 단추, 프레임, 토글 단추, 확인란, 레이블, 텍스트 상자 등이며 이것들을 사용자 정의 폼이나 문서에 추 가하여 사용할 수 있는 것이다. 컨트롤을 사용자 정의 폼에 설치하는 방법은 사용자 정의 폼을 추가하면 도 구상자가 나타나고 여기에서 추가하려는 컨트롤을 마우스로 클릭한 후 사용자 정의 폼에 컨트롤을 추가하려는 영역을 마우스로 설정하면 된다. 컨트롤을 추가한 목적은 이벤트가 발생하였때 어떤 프로시저나 문장 등 프로그램이 실행되는 것이므로 이 과정에 대하여 알아보자. 컨트롤에 이벤트 발생시 프로그램이 실행되도록 하려면 사용자 정의 폼에서 추가된 컨트롤을 더블 클릭하면 코드 창에 이벤트가 발생하였을 때 실행되는 프로시저가 나타 난다. 이 프로시저 안에 프로그램을 삽입하면 해당 이벤트가 발생하였을 때 프로그램이 실행된다. 사용자 정의 폼에 추가할 수 있는 컨트롤들은 레이블(Label) : 문자가 입력할 수 있는 컨트롤 텍스트 상자(TextBox) : 문자를 입력받아서 변수나 그 값을 되돌려 줄 수 있는 컨트롤 콤보 상자(ComboBox) : 여러 리스트를 추가하고 드랍 다운하여 리스트의 목록을 선택할 수 있는 컨트롤 목록 상자(ListBox) : 여러 리스트를 추가하여 목록을 선택할 수 있는 콘 트롤 버튼을 클릭하거나, 마우스를 움직이거나, 키보드를 입력하는 것을 말한다.

64 확인란(CheckBox) : 여러 체크 박스를 추가하고 다중 선택할 수 있는 콘트롤 옵션 단추(OptionButton) : 라디오 버튼을 추가하는 컨트롤 토글 단추(ToggleButton) : 버튼을 추가하는 컨트롤 프레임(Frame) : 이 컨트롤에 여러 콘트롤들 추가하여 그룹화할 수 있는 콘트롤 명령 단추(CommandButton) : 일반적인 버튼에 대한 컨트롤 연속탭(TabStrip) : 여러 가지 탭을 입력할 수 있는 컨트롤 다중 페이지(MultiPage) : 여러 페이지를 추가할 수 있는 콘트롤 스크롤 막대(ScrollBar) : 스크롤 바를 입력할 수 있는 컨트롤 스핀 단추(SpinButton) : 위 또는 아래로 이동할 수 있는 컨트롤 이미지(Image) : 그림을 입력할 수 있는 컨트롤 RefEdit : 셀을 선택하는 기능이 있는 컨트롤 이 있다. 이 컨트롤들은 그림 3.에서 보는 것처럼 컨트롤 도구 상자에서 추가할 수 있다. 제 3.3. 절 사용자 정의 폼으로 응용프로그램 만들기 사용자 정의 폼으로 몇 가지 응용프로그램을 만들어보자. 숫자를 입력할 수 있는 텍스트 상자를 만들고 입력된 값이 홀수인지 짝수인지 구분하여 셀에 출력하는 프로그램을 만들어 보자.. 사용자 정의 폼을 만들고 이름을 uf로 한다.. 유저 폼에 텍스트 상자를 입력하고 tf로 한다.

65 그림 3.: 컨트롤 도구 상자 3. 명령 단추를 만들고 이름을 cb로 하고 명령 단추에 계산하기의 텍스트를 삽입한다. 4. 명령 단추를 클릭하여 다음 코드를 삽입한다. Private Sub cb_click() If (tb.value Mod = 0) Then Range("A") = tb.value & "은(는) 짝수" Else Range("A") = tb.value & "은(는) 홀수" End If 5. 모듈을 삽입하고 유저 폼을 호출하는 코드를 삽입한다. Sub 홀짝판별() uf.show 6. 엑셀에서 개발도구 컨트롤 삽입 단추를 클릭하여 모듈에 삽입한 매크로를 지정한다.

66 00년 월드컵 축구에서 8강에 진출했던 8개 팀이 승률이 모두 같다고 가정하 고 어떤 팀이 우승할지 프로그램을 만들어 보자. 우선 사용자 정의 폼을 추가한 후 8강에 진출한 8개 팀을 8개 레이블로 유저 폼에 추가한다. 8강에 진출했던 팀은 미국, 독일, 스페인, 한국, 브라질, 잉글랜드, 터키, 세네갈이다. 8강에서 4 강으로 진출할 팀을 결정하게 될 명령 단추를 추하가고, 이 단추를 클릭하였을 때 어떤 팀이 승리할지 코드를 삽입하자. 이 과정은 4강전과 결승전에서도 동일 하게 작성한다. 그리고 이 과정을 다시 할 수 있도록 명령 단추를 만든다(그림 3.3). 이제 명령 단추를 클릭하였을 경우, 각 시합에서 이기는 팀이 결정되는 그림 3.3: 유저 폼 부르기 프로그램을 다음과 같이 작성한다. 보기 3. (컨트롤에 코드 삽입) Private Sub cb_click() If Rnd > 0.5 Then Range("A" & ) = l.caption

67 Else Range("A" & ) = l.caption End If If Rnd > 0.5 Then Range("A" & ) = l3.caption Else Range("A" & ) = l4.caption End If If Rnd > 0.5 Then Range("A" & 3) = l5.caption Else Range("A" & 3) = l6.caption End If If Rnd > 0.5 Then Range("A" & 4) = l7.caption Else Range("A" & 4) = l8.caption End If uf.cb.visible = False 이 프로그램을 작성하기 전에 그림 3.3의 유저 폼에 추가한 각 컨트롤 중 8강 전에 진출한 각 팀을 레이블에 추가하였으며 그 이름을 l에서 l8로 입력하고, 8 강전 명령 버튼의 이름을 cb, 유저 폼의 이름은 uf로 한다. 8강전 명령 버튼을 클릭한 후 위의 코드를 입력한다. 8강에서 승리팀의 결정은 Rnd 함수로 0에서 사이의 난수를 발생하여 0.5보다 크면 어느 팀이 승리하고, 그렇지 않으면 상대 팀이 승리하는 방법을 사용하였다. 코드에서 사용한 l.caption에서 l8.caption 은 8강전에 진출한 팀을 차례로 호출한 것이다. 8 강전을 종료하였을 경우는 다

68 시 경기를 할 필요가 없기 때문에 이 버튼을 사용하지 못하도록 uf.cb.visible = False 명령을 삽입하여 보이지 않도록 설정한다. 각 경기에서 승리한 팀은 Range 객체를 사용하여 셀에 결과가 나타나도록 하였다. 8강전 경기를 다시 한 번 실행하려면 모든 버튼이 보이게 해야 되므로 다시 한번 명령 버튼에 다음과 같은 코드를 삽입한다. 보기 3.3 (컨트롤에 코드 삽입) Private Sub cb4_click() cb.visible = True 8강전 버튼 cb.visible = True 4강전 버튼 cb3.visible = True 결승전 버튼

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

Microsoft PowerPoint - chap05-제어문.pptx

Microsoft PowerPoint - chap05-제어문.pptx int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); 1 학습목표 제어문인,, 분기문에 대해 알아본다. 인 if와 switch의 사용 방법과 사용시 주의사항에 대해 알아본다.

More information

Microsoft PowerPoint - e pptx

Microsoft PowerPoint - e pptx Import/Export Data Using VBA Objectives Referencing Excel Cells in VBA Importing Data from Excel to VBA Using VBA to Modify Contents of Cells 새서브프로시저작성하기 프로시저실행하고결과확인하기 VBA 코드이해하기 Referencing Excel Cells

More information

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 6.1 함수프로시저 6.2 서브프로시저 6.3 매개변수의전달방식 6.4 함수를이용한프로그래밍 3 프로시저 (Procedure) 프로시저 (Procedure) 란무엇인가? 논리적으로묶여있는하나의처리단위 내장프로시저 이벤트프로시저, 속성프로시저, 메서드, 비주얼베이직내장함수등

More information

Visual Basic 반복문

Visual Basic 반복문 학습목표 반복문 For Next문, For Each Next문 Do Loop문, While End While문 구구단작성기로익히는반복문 2 5.1 반복문 5.2 구구단작성기로익히는반복문 3 반복문 주어진조건이만족하는동안또는주어진조건이만족할때까지일정구간의실행문을반복하기위해사용 For Next For Each Next Do Loop While Wend 4 For

More information

윈도우즈프로그래밍(1)

윈도우즈프로그래밍(1) 제어문 (2) For~Next 문 윈도우즈프로그래밍 (1) ( 신흥대학교컴퓨터정보계열 ) 2/17 Contents 학습목표 프로그램에서주어진특정문장을부분을일정횟수만큼반복해서실행하는문장으로 For~Next 문등의구조를이해하고활용할수있다. 내용 For~Next 문 다중 For 문 3/17 제어문 - FOR 문 반복문 : 프로그램에서주어진특정문장들을일정한횟수만큼반복해서실행하는문장

More information

기본문법2

기본문법2 3 장비주얼베이직 6.0 문법 TimeValue() 함수 DateValue() 함수와마찬가지로일정규칙에정해진문자열을인자로하여 Time 함수형을 표시 Print TimeValue( 13:2 ) Print TimeValue( 1:2 PM ) Print TimeValue( 13:02:00 ) 결과값 : 1:02:00 오후 MagBox() 와 InputBox() 함수

More information

Microsoft PowerPoint - chap04-연산자.pptx

Microsoft PowerPoint - chap04-연산자.pptx int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); } 1 학습목표 수식의 개념과 연산자, 피연산자에 대해서 알아본다. C의 를 알아본다. 연산자의 우선 순위와 결합 방향에

More information

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상 Android 용 Brother Image Viewer 설명서 버전 0 KOR 아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상표입니다. Android는

More information

Microsoft Word - 강의록1.doc

Microsoft Word - 강의록1.doc 기본및활용 성균관대학교보험계리학과특강 중앙대학교통계학과 성병찬 E mail: bcseong@cau.ac.kr & Tel: 02 820 5216 목차 1. VBA의개념 2. 매크로또는모듈기록하기 3. 프로그래밍을위한주요구문및요소들 4. 활용예제 2/26 추천서적및웹사이트 - John Walkenbach, Excel Power Programming with VBA

More information

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

Microsoft PowerPoint 자바-기본문법(Ch2).pptx 자바기본문법 1. 기본사항 2. 자료형 3. 변수와상수 4. 연산자 1 주석 (Comments) 이해를돕기위한설명문 종류 // /* */ /** */ 활용예 javadoc HelloApplication.java 2 주석 (Comments) /* File name: HelloApplication.java Created by: Jung Created on: March

More information

Microsoft PowerPoint - chap03-변수와데이터형.pptx

Microsoft PowerPoint - chap03-변수와데이터형.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num %d\n", num); return 0; } 1 학습목표 의 개념에 대해 알아본다.

More information

Microsoft PowerPoint - Computer - chapter04.ppt [호환 모드]

Microsoft PowerPoint - Computer - chapter04.ppt [호환 모드] Computer I Chapter 04. 제어문과배열 Spring, 2015 박정근교수 04-01. 01. 조건문에따라처리하기 조건문 조건문 조건에따라두가지이상서로다르게처리하는구문 조건문의종류 IF 문 IF~Then 형식 IF~Then~Else 형식 Select Case 문 3 IF 문 (If~Then 형식 ) If~Then 형식 If 조건식 Then 조건식을만족할때의실행문

More information

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt 변수와상수 1 변수란무엇인가? 변수 : 정보 (data) 를저장하는컴퓨터내의특정위치 ( 임시저장공간 ) 메모리, register 메모리주소 101 번지 102 번지 변수의크기에따라 주로 byte 단위 메모리 2 기본적인변수형및변수의크기 변수의크기 해당컴퓨터에서는항상일정 컴퓨터마다다를수있음 short

More information

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint - Java7.pptx HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)

More information

View Licenses and Services (customer)

View Licenses and Services (customer) 빠른 빠른 시작: 시작: 라이선스, 라이선스, 서비스 서비스 및 주문 주문 이력 이력 보기 보기 고객 가이드 Microsoft 비즈니스 센터의 라이선스, 서비스 및 혜택 섹션을 통해 라이선스, 온라인 서비스, 구매 기록 (주문 기록)을 볼 수 있습니다. 시작하려면, 비즈니스 센터에 로그인하여 상단 메뉴에서 재고를 선택한 후 내 재고 관리를 선택하십시오. 목차

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3

More information

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher( 실행할페이지.jsp); 다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp"); dispatcher.forward(request, response); - 위의예에서와같이 RequestDispatcher

More information

PowerPoint Template

PowerPoint Template JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것

More information

Windows 8에서 BioStar 1 설치하기

Windows 8에서 BioStar 1 설치하기 / 콘텐츠 테이블... PC에 BioStar 1 설치 방법... Microsoft SQL Server 2012 Express 설치하기... Running SQL 2012 Express Studio... DBSetup.exe 설정하기... BioStar 서버와 클라이언트 시작하기... 1 1 2 2 6 7 1/11 BioStar 1, Windows 8 BioStar

More information

1

1 1 2 3 4 5 6 b b t P A S M T U s 7 m P P 8 t P A S M T U s 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 Chapter 1 29 1 2 3 4 18 17 16 15 5 6 7 8 9 14 13 12 11 10 1 2 3 4 5 9 10 11 12 13 14 15

More information

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어서가장중요한부분이라고도할수있기때문입니다. 1. 새로운메크로생성 새메크로만들기버튺을클릭하여파일을생성합니다. 2. 메크로저장 -

More information

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조 - Part2- 제 2 장다차원배열이란무엇인가 학습목차 2.1 다차원배열이란 2. 2 2 차원배열의주소와값의참조 2.1 다차원배열이란 2.1 다차원배열이란 (1/14) 다차원배열 : 2 차원이상의배열을의미 1 차원배열과다차원배열의비교 1 차원배열 int array [12] 행 2 차원배열 int array [4][3] 행 열 3 차원배열 int array [2][2][3]

More information

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074> Chap #2 펌웨어작성을위한 C 언어 I http://www.smartdisplay.co.kr 강의계획 Chap1. 강의계획및디지털논리이론 Chap2. 펌웨어작성을위한 C 언어 I Chap3. 펌웨어작성을위한 C 언어 II Chap4. AT89S52 메모리구조 Chap5. SD-52 보드구성과코드메모리프로그래밍방법 Chap6. 어드레스디코딩 ( 매핑 ) 과어셈블리어코딩방법

More information

<342EBAAFBCF620B9D720B9D9C0CEB5F92E687770>

<342EBAAFBCF620B9D720B9D9C0CEB5F92E687770> 예약어(reserved word) : 프로그래밍 언어에서 특별한 용도로 사용하고자 미리 지정한 단어 - 프로그램의 구성요소를 구별하게 해주는 역할 => 라벨, 서브 프로그램 이름, 변수에 연관되어 다른 변수나 서브 프로그램 등과 구별 - 식별자의 최대길이는 언어마다 각각 다르며 허용길이를 넘어서면 나머지 문자열은 무시됨 - FORTRAN, COBOL, HTML

More information

歯엑셀모델링

歯엑셀모델링 I II II III III I VBA Understanding Excel VBA - 'VB & VBA In a Nutshell' by Paul Lomax, October,1998 To enter code: Tools/Macro/visual basic editor At editor: Insert/Module Type code, then compile by:

More information

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,

More information

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

Microsoft PowerPoint - chap13-입출력라이브러리.pptx #include int main(void) int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; 1 학습목표 스트림의 기본 개념을 알아보고,

More information

Microsoft 을 열면 깔끔한 사용자 중심의 메뉴 및 레이아웃이 제일 먼저 눈에 띕니다. 또한 은 스마트폰, 테블릿 및 클라우드는 물론 가 설치되어 있지 않은 PC 에서도 사용할 수 있습니다. 따라서 장소와 디바이스에 관계 없이 언제, 어디서나 문서를 확인하고 편집

Microsoft 을 열면 깔끔한 사용자 중심의 메뉴 및 레이아웃이 제일 먼저 눈에 띕니다. 또한 은 스마트폰, 테블릿 및 클라우드는 물론 가 설치되어 있지 않은 PC 에서도 사용할 수 있습니다. 따라서 장소와 디바이스에 관계 없이 언제, 어디서나 문서를 확인하고 편집 Modern Modern www.office.com ( ) 892 5 : 1577-9700 : http://www.microsoft.com/korea Microsoft 을 열면 깔끔한 사용자 중심의 메뉴 및 레이아웃이 제일 먼저 눈에 띕니다. 또한 은 스마트폰, 테블릿 및 클라우드는 물론 가 설치되어 있지 않은 PC 에서도 사용할 수 있습니다. 따라서 장소와

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Chapter 06 반복문 01 반복문의필요성 02 for문 03 while문 04 do~while문 05 기타제어문 반복문의의미와필요성을이해한다. 대표적인반복문인 for 문, while 문, do~while 문의작성법을 알아본다. 1.1 반복문의필요성 반복문 동일한내용을반복하거나일정한규칙으로반복하는일을수행할때사용 프로그램을좀더간결하고실제적으로작성할수있음.

More information

1

1 2/33 3/33 4/33 5/33 6/33 7/33 8/33 9/33 10/33 11/33 12/33 13/33 14/33 15/33 16/33 17/33 5) 입력을 다 했으면 확인 버튼을 클릭합니다. 6) 시작 페이지가 제대로 설정이 되었는지 살펴볼까요. 익스플로러를 종료하고 다시 실행시켜 보세요. 시작화면에 야후! 코리아 화면이 뜬다면 설정 완료..^^

More information

지도상 유의점 m 학생들이 어려워하는 낱말이 있으므로 자세히 설명해주도록 한다. m 버튼을 무리하게 조작하면 고장이 날 위험이 있으므로 수업 시작 부분에서 주의를 준다. m 활동지를 보고 어려워하는 학생에게는 영상자료를 접속하도록 안내한다. 평가 평가 유형 자기 평가

지도상 유의점 m 학생들이 어려워하는 낱말이 있으므로 자세히 설명해주도록 한다. m 버튼을 무리하게 조작하면 고장이 날 위험이 있으므로 수업 시작 부분에서 주의를 준다. m 활동지를 보고 어려워하는 학생에게는 영상자료를 접속하도록 안내한다. 평가 평가 유형 자기 평가 수업주제 경찰 출동! (버튼, LED, 버저 사용하기) 9 / 12 차시 수업의 주제와 목표 본 수업에서는 이전 차시에 배웠던 블록들의 기능을 복합적으로 활용한다. 스위치 기능을 가진 버튼을 활용하여 LED와 버저를 동시에 작동시키도록 한다. 각 블록들을 함께 사용하는 프로젝트를 통해 각각의 기능을 익히고 보다 다양한 활용 방법을 구상할 수 있다. 교수 학습

More information

(Microsoft PowerPoint - 2\300\345.ppt)

(Microsoft PowerPoint - 2\300\345.ppt) 2 장. ASP 를위한 VBScript 정보처리학과서보원교수 목차 서버스크립트 VBScript 변수 연산자 배열 제어문및반복문 프로시저 문자열함수 1 스크립트언어 간단한프로그래밍언어 인터프리트언어와유사한특성을갖고있음 Script 언어 vs. Programming 언어 표현력 용도난이도 스크립트언어 제한적특정용도쉬움 프로그래밍언어 풍부범용적어려움 VBScript

More information

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

More information

Tcl의 문법

Tcl의 문법 월, 01/28/2008-20:50 admin 은 상당히 단순하고, 커맨드의 인자를 스페이스(공백)로 단락을 짓고 나열하는 정도입니다. command arg1 arg2 arg3... 한행에 여러개의 커맨드를 나열할때는, 세미콜론( ; )으로 구분을 짓습니다. command arg1 arg2 arg3... ; command arg1 arg2 arg3... 한행이

More information

UI TASK & KEY EVENT

UI TASK & KEY EVENT 2007. 2. 5 PLATFORM TEAM 정용학 차례 CONTAINER & WIDGET SPECIAL WIDGET 질의응답및토의 2 Container LCD에보여지는화면한개 1개이상의 Widget을가짐 3 Container 초기화과정 ui_init UMP_F_CONTAINERMGR_Initialize UMP_H_CONTAINERMGR_Initialize

More information

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft PowerPoint - chap01-C언어개요.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을

More information

Microsoft PowerPoint - chap10-함수의활용.pptx

Microsoft PowerPoint - chap10-함수의활용.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 중 값에 의한 전달 방법과

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

More information

캘크 시작하기

캘크 시작하기 저작권 이 문서의 저작권은 본 페이지의 저자 단락에 나열된 기고자들에게 있습니다(Copyright 2005 2008). GNU General Public License 버전 3 이후 버전, 또는 Creative Commons Attribution License 버전 3 이후 버전에 근거하여 배포 및 변경할 수 있습니다. 이 문서에 있는 모든 상표권은 법적 소유자가

More information

슬라이드 1

슬라이드 1 Pairwise Tool & Pairwise Test NuSRS 200511305 김성규 200511306 김성훈 200614164 김효석 200611124 유성배 200518036 곡진화 2 PICT Pairwise Tool - PICT Microsoft 의 Command-line 기반의 Free Software www.pairwise.org 에서다운로드후설치

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Lecture 02 프로그램구조및문법 Kwang-Man Ko kkmam@sangji.ac.kr, compiler.sangji.ac.kr Department of Computer Engineering Sang Ji University 2018 자바프로그램기본구조 Hello 프로그램구조 sec01/hello.java 2/40 자바프로그램기본구조 Hello 프로그램구조

More information

PowerPoint Presentation

PowerPoint Presentation 자바프로그래밍 1 배열 손시운 ssw5176@kangwon.ac.kr 배열이필요한이유 예를들어서학생이 10 명이있고성적의평균을계산한다고가정하자. 학생 이 10 명이므로 10 개의변수가필요하다. int s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; 하지만만약학생이 100 명이라면어떻게해야하는가? int s0, s1, s2, s3, s4,

More information

OCW_C언어 기초

OCW_C언어 기초 초보프로그래머를위한 C 언어기초 4 장 : 연산자 2012 년 이은주 학습목표 수식의개념과연산자및피연산자에대한학습 C 의알아보기 연산자의우선순위와결합방향에대하여알아보기 2 목차 연산자의기본개념 수식 연산자와피연산자 산술연산자 / 증감연산자 관계연산자 / 논리연산자 비트연산자 / 대입연산자연산자의우선순위와결합방향 조건연산자 / 형변환연산자 연산자의우선순위 연산자의결합방향

More information

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 제 8 장. 포인터 목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 포인터의개요 포인터란? 주소를변수로다루기위한주소변수 메모리의기억공간을변수로써사용하는것 포인터변수란데이터변수가저장되는주소의값을 변수로취급하기위한변수 C 3 포인터의개요 포인터변수및초기화 * 변수데이터의데이터형과같은데이터형을포인터 변수의데이터형으로선언 일반변수와포인터변수를구별하기위해

More information

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

var answer = confirm( 확인이나취소를누르세요.); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write( 확인을눌렀습니다.); else { document.write( 취소를눌렀습니다.); 자바스크립트 (JavaScript) - HTML 은사용자에게인터페이스 (interface) 를제공하는언어 - 자바스크립트는서버로데이터를전송하지않고서할수있는데이터처리를수행한다. - 자바스크립트는 HTML 나 JSP 에서작성할수있고 ( 내부스크립트 ), 별도의파일로도작성이가능하다 ( 외 부스크립트 ). - 내부스크립트 - 외부스크립트

More information

Java ...

Java ... 컴퓨터언어 1 Java 제어문 조성일 조건문 : if, switch 어떠한조건을조사하여각기다른명령을실행 if 문, switch 문 if 문 if - else 문형식 if 문형식 if ( 조건식 ) { 명령문 1; 명령문 2;... if ( 조건식 ) { 명령문 1; 명령문 2;... else { 명령문 a; 명령문 b;... 예제 1 정수를입력받아짝수와홀수를판별하는프로그램을작성하시오.

More information

Microsoft PowerPoint - [2009] 02.pptx

Microsoft PowerPoint - [2009] 02.pptx 원시데이터유형과연산 원시데이터유형과연산 원시데이터유형과연산 숫자데이터유형 - 숫자데이터유형 원시데이터유형과연산 표준입출력함수 - printf 문 가장기본적인출력함수. (stdio.h) 문법 ) printf( Test printf. a = %d \n, a); printf( %d, %f, %c \n, a, b, c); #include #include

More information

쓰리 핸드(삼침) 요일 및 2405 요일 시간, 및 요일 설정 1. 용두를 2의 위치로 당기고 반시계방향으로 돌려 전날로 를 설정합니다. 2. 용두를 시계방향으로 돌려 전날로 요일을 설정합니다. 3. 용두를 3의 위치로 당기고 오늘 와 요일이 표시될 때까지 시계방향으로

쓰리 핸드(삼침) 요일 및 2405 요일 시간, 및 요일 설정 1. 용두를 2의 위치로 당기고 반시계방향으로 돌려 전날로 를 설정합니다. 2. 용두를 시계방향으로 돌려 전날로 요일을 설정합니다. 3. 용두를 3의 위치로 당기고 오늘 와 요일이 표시될 때까지 시계방향으로 한국어 표준 설정안내 서브 초침 시간 및 설정 1. 용두를 2의 위치로 뽑아냅니다. 2. 용두를 시계방향 또는 반시계방향으로 돌려(모델에 따라 다름) 를 전날로 설정합니다. 3. 용두를 3의 위치로 당기고 현재 가 표시될 때까지 시계방향으로 돌립니다. 4. 용두를 계속 돌려 정확한 오전/오후 시간을 설정합니다. 5. 용두를 1의 위치로 되돌립니다. 169 쓰리

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean

More information

특징 찾아보기 열쇠 없이 문을 열 수 있어요! 비밀번호 및 RF카드로도 문을 열 수 있습니다. 또한 비밀번호가 외부인에게 알려질 위험에 대비, 통제번호까지 입력해 둘 수 있어 더욱 안심하고 사용할 수 있습니다. 나만의 비밀번호 및 RF카드를 가질 수 있어요! 다수의 가

특징 찾아보기 열쇠 없이 문을 열 수 있어요! 비밀번호 및 RF카드로도 문을 열 수 있습니다. 또한 비밀번호가 외부인에게 알려질 위험에 대비, 통제번호까지 입력해 둘 수 있어 더욱 안심하고 사용할 수 있습니다. 나만의 비밀번호 및 RF카드를 가질 수 있어요! 다수의 가 www.kdnetwork.com 특징 찾아보기 열쇠 없이 문을 열 수 있어요! 비밀번호 및 RF카드로도 문을 열 수 있습니다. 또한 비밀번호가 외부인에게 알려질 위험에 대비, 통제번호까지 입력해 둘 수 있어 더욱 안심하고 사용할 수 있습니다. 나만의 비밀번호 및 RF카드를 가질 수 있어요! 다수의 가능할 삭제할 건전지 사용자를 위한 개별 비밀번호 및 RF카드

More information

PowerPoint Presentation

PowerPoint Presentation Package Class 3 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section

More information

슬라이드 1

슬라이드 1 -Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역

More information

Infinity(∞) Strategy

Infinity(∞) Strategy 반복제어 표월성 passwd74@cherub.sungkyul.edu 개요 for() 문 break문과 continue문 while문 do-while문 for() 문 for() 문형식 for( 표현식1; 표현식2; 표현식3) 여러문장들 ; 표현식 1 : 초기화 (1 번만수행 ) 표현식 2 : 반복문수행조건 ( 없으면무한반복 ) 표현식 3 : 반복문수행횟수 for()

More information

Microsoft PowerPoint - chap11-포인터의활용.pptx

Microsoft PowerPoint - chap11-포인터의활용.pptx #include int main(void) int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; 1 학습목표 포인터를 사용하는 다양한 방법에

More information

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 제이쿼리 () 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 CSS와마찬가지로, 문서에존재하는여러엘리먼트를접근할수있다. 엘리먼트접근방법 $( 엘리먼트 ) : 일반적인접근방법

More information

윈도우즈 프로그래밍(1)

윈도우즈 프로그래밍(1) 기본컨트롤 (1) 윈도우즈프로그래밍 (1) ( 신흥대학교컴퓨터정보계열 ) 2/33 Contents 학습목표 기본컨트롤에서레이블컨트롤, 텍스트박스컨트롤, 프레임컨트롤, 옵션버튼컨트롤, 체크박스컨트롤을이해하고메시지박스를활용할수있다. 내용 레이블컨트롤 텍스트박스컨트롤 프레임컨트롤 옵션버튼컨트롤 체크박스컨트롤 메시지박스함수 3/33 기본컨트롤 기본컨트롤 : 비주얼베이직통합개발환경의도구상자에포함되어있는컨트롤로서화면디

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 5 강. 배열, 포인터, 참조목차 배열 포인터 C++ 메모리구조 주소연산자 포인터 포인터연산 배열과포인터 메모리동적할당 문자열 참조 1 /20 5 강. 배열, 포인터, 참조배열 배열 같은타입의변수여러개를하나의변수명으로처리 int Ary[10]; 총 10 개의변수 : Ary[0]~Ary[9]

More information

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드]

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드] Chapter 03 변수와자료형 2009 한국항공대학교항공우주기계공학부 (http://mercury.kau.ac.kr/sjkwon) 1 변수와자료유형 변수 프로그램에서자료값을임시로기억할수있는저장공간을변수 (variables) 변수 (Variables) 는컴퓨터의메모리인 RAM(Random Access Memory) 에저장 물건을담는박스라고생각한다면박스의크기에따라담을물건이제한됨

More information

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 비트연산자 1 1 비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 진수법! 2, 10, 16, 8! 2 : 0~1 ( )! 10 : 0~9 ( )! 16 : 0~9, 9 a, b,

More information

PowerPoint Presentation

PowerPoint Presentation Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음

More information

User Guide

User Guide HP ThinUpdate 관리자 설명서 Copyright 2016 HP Development Company, L.P. Windows는 미국 및/또는 기타 국가에서 Microsoft Corporation의 등록 상표 또는 상표입 니다. 기밀 컴퓨터 소프트웨어. 소유, 사용 또는 복사 에 필요한 유효한 사용권을 HP로부터 취득했 습니다. FAR 12.211 및

More information

강의 개요

강의 개요 DDL TABLE 을만들자 웹데이터베이스 TABLE 자료가저장되는공간 문자자료의경우 DB 생성시지정한 Character Set 대로저장 Table 생성시 Table 의구조를결정짓는열속성지정 열 (Clumn, Attribute) 은이름과자료형을갖는다. 자료형 : http://dev.mysql.cm/dc/refman/5.1/en/data-types.html TABLE

More information

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning C Programming Practice (II) Contents 배열 문자와문자열 구조체 포인터와메모리관리 구조체 2/17 배열 (Array) (1/2) 배열 동일한자료형을가지고있으며같은이름으로참조되는변수들의집합 배열의크기는반드시상수이어야한다. type var_name[size]; 예 ) int myarray[5] 배열의원소는원소의번호를 0 부터시작하는색인을사용

More information

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp 1 0 1.7 6 5 'A ' '/ u 4 4 2 2 ' " JS P 프로그래밍 " A ', 'b ', ' 한 ', 9, \ u d 6 5 4 ' c h a r a = 'A '; 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 < % @ p a g e c o n te n

More information

메뉴얼41페이지-2

메뉴얼41페이지-2 데이터 기반 맞춤형 성장관리 솔루션 스마트빌 플러스 은행계좌등록 은행계좌를 조회하여 등록합니다. 신용카드등록 신용카드를 조회하여 등록합니다. 금융정보 자동수집을 위하여 인증서이름, 아이디, 비밀번호를 등록합니다. 통합 자동 수집 금융정보 통합 자동수집을 실행합니다 은행계좌등록 은행계좌를 조회하여 등록합니다. 신용카드등록 신용카드를 조회하여

More information

4장기본프로그래밍2

4장기본프로그래밍2 4-2 마우스 (Mouse) 마우스이벤트 Click 이벤트 마우스버튼이눌렸다가떼어질때발생 DblClick 이벤트 마우스버튼이두번눌렸다가떼어질때발생 MouseDown 이벤트 마우스버튼이눌렸을때발생 MouseUp 이벤트 마우스버튼이떼어질때발생 MouseMove 이벤트 마우스가움직일때발생 DragOver 이벤트 마우스버튼을누른상태에서끌기를했을때발생 DragDrop

More information

제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.

제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver. 2.0 jbyoo@konkuk.ac.kr http://dslab.konkuk.ac.kr 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 이번장에서학습할내용 이중포인터란무엇인가? 포인터배열 함수포인터 다차원배열과포인터 void 포인터 포인터는다양한용도로유용하게활용될수있습니다. 2 이중포인터

More information

2018 ILS 교과연구회연구결과보고서 엑셀 VBA 로구현하는실생활프로그램 ILS 정보교과연구회

2018 ILS 교과연구회연구결과보고서 엑셀 VBA 로구현하는실생활프로그램 ILS 정보교과연구회 2018 연구결과보고서 엑셀 VBA 로구현하는실생활프로그램 ILS 정보교과연구회 - 목차 - Chapter A. 1. 비주얼베이직 1 2. 엑셀에서 Visual Basic 시작하기 1 3. 비주얼베이직의기초개념 2 4. 비주얼베이직기초 5 5. 변수와상수 6 6. MsgBox 11 7. 조건문 14 8. 반복문 18 9. 엑셀시트접근하기 20 Chapter

More information

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770> 연습문제해답 5 4 3 2 1 0 함수의반환값 =15 5 4 3 2 1 0 함수의반환값 =95 10 7 4 1-2 함수의반환값 =3 1 2 3 4 5 연습문제해답 1. C 언어에서의배열에대하여다음중맞는것은? (1) 3차원이상의배열은불가능하다. (2) 배열의이름은포인터와같은역할을한다. (3) 배열의인덱스는 1에서부터시작한다. (4) 선언한다음, 실행도중에배열의크기를변경하는것이가능하다.

More information

statistics

statistics 수치를이용한자료요약 statistics hmkang@hallym.ac.kr 한림대학교 통계학 강희모 ( 한림대학교 ) 수치를이용한자료요약 1 / 26 수치를 통한 자료의 요약 요약 방대한 자료를 몇 개의 의미있는 수치로 요약 자료의 분포상태를 알 수 있는 통계기법 사용 중심위치의 측도(measure of center) : 어떤 값을 중심으로 분포되어 있는지

More information

Visual Basic 기본컨트롤

Visual Basic 기본컨트롤 학습목표 폼 ( Form) 폼의속성, 컨트롤이름, 컨트롤메서드 기본컨트롤 레이블, 텍스트박스, 버튼, 리스트박스 이벤트 버튼 기본컨트롤실습 2 2.1 폼 (Form) 2.2 기본컨트롤 2.3 기본컨트롤실습 3 폼 - 속성 속성 (Name) AutoSize BackColor Font ForeColor Icon StartPosition Transparency WindowState

More information

슬라이드 1

슬라이드 1 UNIT 16 예외처리 로봇 SW 교육원 3 기 최상훈 학습목표 2 예외처리구문 try-catch-finally 문을사용핛수있다. 프로그램오류 3 프로그램오류의종류 컴파일에러 (compile-time error) : 컴파일실행시발생 럮타임에러 (runtime error) : 프로그램실행시발생 에러 (error) 프로그램코드에의해서해결될수없는심각핚오류 ex)

More information

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - ch07 - 포인터 pm0415 2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자

More information

Microsoft PowerPoint - chap06-1Array.ppt

Microsoft PowerPoint - chap06-1Array.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-1 참고자료 배열 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 배열의선언과사용 같은형태의자료형이많이필요할때배열을사용하면효과적이다. 배열의선언 배열의사용 배열과반복문 배열의초기화 유연성있게배열다루기 한빛미디어

More information

PathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.

PathEye 공식 블로그 다운로드 받으세요!!   지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다. PathEye Mobile Ver. 0.71b 2009. 3. 17 By PathEye 공식 블로그 다운로드 받으세요!! http://blog.patheye.com 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다. PathEye 설치 1/3 최종 배포 버전을 다 운로드 받습니다. 다운로드된 파일은 CAB 파일입니다. CAB 파일에는

More information

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,

More information

C 프로그램의 기본

C 프로그램의 기본 C 프로그램의기본 목차 C 프로그램의구성요소 주석 main 함수 출력 C 언어의입력과출력 변수 printf 함수 scanf 함수 2 예제 2-1 : 첫번째 C 프로그램 3 2.1.1 주석 주석의용도 프로그램에대한설명 프로그램전체에대한대략적인정보를제공 프로그램수행에영향을미치지않는요소 4 2.1.1 주석 주석사용방법 /* 과 */ 을이용한여러줄주석 // 을이용한한줄주석

More information

4장.문장

4장.문장 문장 1 배정문 혼합문 제어문 조건문반복문분기문 표준입출력 입출력 형식화된출력 [2/33] ANSI C 언어와유사 문장의종류 [3/33] 값을변수에저장하는데사용 형태 : < 변수 > = < 식 > ; remainder = dividend % divisor; i = j = k = 0; x *= y; 형변환 광역화 (widening) 형변환 : 컴파일러에의해자동적으로변환

More information

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

More information

Microsoft PowerPoint - chap-06.pptx

Microsoft PowerPoint - chap-06.pptx 쉽게풀어쓴 C 언어 Express 제 6 장조건문 컴퓨터프로그래밍기초 이번장에서학습할내용 조건문이란? if 문 if, 문 중첩 if 문 switch 문 break문 continue문 goto 문 5장까지는문장들이순차적으로실행된다고하였다. 하지만필요에따라서조건이만족되면문장의실행순서를변경할수있는기능이제공된다. 컴퓨터프로그래밍기초 2 조건문 조건에따라서여러개의실행경로가운데하나를선택

More information

JAVA PROGRAMMING 실습 02. 표준 입출력

JAVA PROGRAMMING 실습 02. 표준 입출력 자바의기본구조? class HelloJava{ public static void main(string argv[]){ system.out.println( hello,java ~ ){ } } # 하나하나뜯어살펴봅시다! public class HelloJava{ 클래스정의 public static void main(string[] args){ System.out.println(

More information

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다 10 강. 쉘스크립트 쉘스크립트 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다른운영체제로이식되지않음 -스크립트언어를사용하면컴파일과정이없고인터프리터가소스파일에서명령문을판독하여각각의명령을수행

More information

1. 매크로활성화체크홈페이지에서예제파일을직접다운받으신경우, 예제파일은매크로가포함된파일이므로상단에 [ 매크로활성화버튼 ] 을체크해주세요. 2. 옵션버튼편집하기 각옵션버튼을누를때마다, 선택된포탈사이트의커맨드버튼이나타나도록옵션버튼에 Click 이벤트명령문을입혀줍니다. 네이버

1. 매크로활성화체크홈페이지에서예제파일을직접다운받으신경우, 예제파일은매크로가포함된파일이므로상단에 [ 매크로활성화버튼 ] 을체크해주세요. 2. 옵션버튼편집하기 각옵션버튼을누를때마다, 선택된포탈사이트의커맨드버튼이나타나도록옵션버튼에 Click 이벤트명령문을입혀줍니다. 네이버 포탈사이트 로그인프로그램 만들기 #2 Copyright 2018 by 오빠두 0 1. 매크로활성화체크홈페이지에서예제파일을직접다운받으신경우, 예제파일은매크로가포함된파일이므로상단에 [ 매크로활성화버튼 ] 을체크해주세요. 2. 옵션버튼편집하기 각옵션버튼을누를때마다, 선택된포탈사이트의커맨드버튼이나타나도록옵션버튼에 Click 이벤트명령문을입혀줍니다. 네이버로그인, 구글로그인,

More information

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음 프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음 CHAPTER 9 둘중하나선택하기 관계연산자 두개의피연산자를비교하는연산자 결과값은참 (1) 아니면거짓 (0) x == y x 와 y 의값이같은지비교한다. 관계연산자 연산자 의미 x == y x와 y가같은가? x!= y

More information

쉽게

쉽게 Power Java 제 4 장자바프로그래밍기초 이번장에서학습할내용 자바프로그램에대한기초사항을학습 자세한내용들은추후에. Hello.java 프로그램 주석 주석 (comment): 프로그램에대한설명을적어넣은것 3 가지타입의주석 클래스 클래스 (class): 객체를만드는설계도 ( 추후에학습 ) 자바프로그램은클래스들로구성된다. 그림 4-1. 자바프로그램의구조 클래스정의

More information

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A 예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = 1 2 3 4 5 6 7 8 9 B = 8 7 6 5 4 3 2 1 0 >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = 0 0 0 0 1 1 1 1 1 >> tf = (A==B) % A 의원소와 B 의원소가똑같은경우를찾을때 tf = 0 0 0 0 0 0 0 0 0 >> tf

More information

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

Microsoft Word - windows server 2003 수동설치_non pro support_.doc Windows Server 2003 수동 설치 가이드 INDEX 운영체제 설치 준비과정 1 드라이버를 위한 플로피 디스크 작성 2 드라이버를 위한 USB 메모리 작성 7 운영체제 설치 과정 14 Boot Sequence 변경 14 컨트롤러 드라이버 수동 설치 15 운영체제 설치 17 운영체제 설치 준비 과정 Windows Server 2003 에는 기본적으로

More information

Modern Javascript

Modern Javascript ES6 - Arrow Function Class Template String Destructuring Default, Rest, Spread let, const for..of Promises Module System Map, Set * Generator * Symbol * * https://babeljs.io/ Babel is a JavaScript compiler.

More information

y 0.5 9, 644 e = 10, y = ln = 3.6(%) , May. 20, 2005

y 0.5 9, 644 e = 10, y = ln = 3.6(%) , May. 20, 2005 8 116, May. 20, 2005 y 0.5 9, 644 e = 10, 000 1 9644 y = ln = 3.6(%) 0.5 10000 9 116, May. 20, 2005 y 0.5 9, 644 e = 10, 000 1 9644 y = ln = 3.6(%) 0.5 10000 1 FV r T = ln T PV 10 116, May. 20, 2005 Public

More information

슬라이드 1

슬라이드 1 UNIT 08 조건문과반복문 로봇 SW 교육원 2 기 학습목표 2 조건문을사용핛수있다. 반복문을사용핛수있다. 조건문 3 조건식의연산결과에따라프로그램의실행흐름을변경 조건문의구성 조건식 실행될문장 조건문의종류 if switch? : ( 삼항연산자 ) if 조건문 4 if 문의구성 조건식 true 또는 false(boolean 형 ) 의결과값을갖는수식 실행될문장

More information

IRISCard Anywhere 5

IRISCard Anywhere 5 이 빠른 사용자 가이드는 IRISCard Anywhere 5 및 IRISCard Corporate 5 스캐너의 설치와 시작을 도와 드립니다. 이 스캐너와 함께 제공되는 소프트웨어는: - Cardiris Pro 5 및 Cardiris Corporate 5 for CRM (Windows 용) - Cardiris Pro 4 (Mac OS 용) Cardiris 의

More information

Microsoft PowerPoint - lec2.ppt

Microsoft PowerPoint - lec2.ppt 2008 학년도 1 학기 상지대학교컴퓨터정보공학부 고광만 강의내용 어휘구조 토큰 주석 자료형기본자료형 참조형배열, 열거형 2 어휘 (lexicon) 어휘구조와자료형 프로그램을구성하는최소기본단위토큰 (token) 이라부름문법적으로의미있는최소의단위컴파일과정의어휘분석단계에서처리 자료형 자료객체가갖는형 구조, 개념, 값, 연산자를정의 3 토큰 (token) 정의문법적으로의미있는최소의단위예,

More information

Microsoft PowerPoint - Perpect C 02.ppt [호환 모드]

Microsoft PowerPoint - Perpect C 02.ppt [호환 모드] 02 C 프로그래밍기초 충남대학교이형주 1 C 프로그램구조 콘솔응용프로그램 2 프로그램실행순서 C 프로그램은여러함수의조합으로구성 함수란정해진규칙에의하여일련의작업을수행하는프로그램의단위 실행순서 main 함수는프로그램이실행되면가장먼저시작되는부분 모든함수내부에서는위에서아래로, 좌에서우로, 문장이위치한순서대로실행 3 전처리기 전처리기 (preprocessor) 미리처리하는프로그램으로,

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include

More information

설치 순서 Windows 98 SE/Me/2000/XP 1 PC를 켜고 Windows를 시작합니다. 아직 컴퓨터에 프린터를 연결하지 마십시오. 2 PC에 P-S100 CD-ROM(프 린터 드라이버)을 삽입합니다. 3 설치 프로그램을 시작합니다. q CD-ROM의 PS1

설치 순서 Windows 98 SE/Me/2000/XP 1 PC를 켜고 Windows를 시작합니다. 아직 컴퓨터에 프린터를 연결하지 마십시오. 2 PC에 P-S100 CD-ROM(프 린터 드라이버)을 삽입합니다. 3 설치 프로그램을 시작합니다. q CD-ROM의 PS1 디지털 사진 프린터 P-S100 프린터 드라이버 설치 가이드 사용하는 컴퓨터에 따라 제공된 프린터 드라이버를 설치합니다. 설치 절차 에 대한 자세한 내용은 CD-ROM의 Readme 파일을 참조하십시오. 작동 환경 Windows 호환 모델: IBM PC/AT 및 호환품 운영 체제: Windows 98 SE/Me/2000/XP (Windows 98 SE/Me/2000/XP

More information

untitled

untitled 시스템소프트웨어 : 운영체제, 컴파일러, 어셈블러, 링커, 로더, 프로그래밍도구등 소프트웨어 응용소프트웨어 : 워드프로세서, 스프레드쉬트, 그래픽프로그램, 미디어재생기등 1 n ( x + x +... + ) 1 2 x n 00001111 10111111 01000101 11111000 00001111 10111111 01001101 11111000

More information

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D> 리눅스 오류처리하기 2007. 11. 28 안효창 라이브러리함수의오류번호얻기 errno 변수기능오류번호를저장한다. 기본형 extern int errno; 헤더파일 라이브러리함수호출에실패했을때함수예 정수값을반환하는함수 -1 반환 open 함수 포인터를반환하는함수 NULL 반환 fopen 함수 2 유닉스 / 리눅스 라이브러리함수의오류번호얻기 19-1

More information

사용설명서를 읽기 전에 ios용 아이디스 모바일은 네트워크 연결을 통해 ios 플랫폼 기반의 모바일 기기(iOS 버전 6.0 이상의 ipod Touch, iphone 또는 ipad)에서 장치(DVR, 네트워크 비디오 서버 및 네트워크 카메라)에 접속하여 원격으로 영상을

사용설명서를 읽기 전에 ios용 아이디스 모바일은 네트워크 연결을 통해 ios 플랫폼 기반의 모바일 기기(iOS 버전 6.0 이상의 ipod Touch, iphone 또는 ipad)에서 장치(DVR, 네트워크 비디오 서버 및 네트워크 카메라)에 접속하여 원격으로 영상을 IDIS Mobile ios 사용설명서 Powered by 사용설명서를 읽기 전에 ios용 아이디스 모바일은 네트워크 연결을 통해 ios 플랫폼 기반의 모바일 기기(iOS 버전 6.0 이상의 ipod Touch, iphone 또는 ipad)에서 장치(DVR, 네트워크 비디오 서버 및 네트워크 카메라)에 접속하여 원격으로 영상을 감시할 수 있는 프로그램입니다.

More information