Programming/Visual Basic

비주얼베이직 중급 강의

bcheul 2007. 4. 26. 09:28

★ 비주얼 베이직 중급강의 제 1탄(1-3) ★

1) 데이터베이스 처리방법

  Dim db As Database   'DataBase형의 개체변수
  Dim tb As Recordset   'Recordset형이 개체변수
  Set db = DBEngine.Workspaces(0).OpenDataBase("addr.mdb")
  Set tb = db.OpenRecordset("address",dbOpenTable)
  Set Data1.Recordset = tb
  (
데이타베이스를 사용하려면 로드할 때 위와 같이 기술하여 이용한다.)


2) SQL문 사용법

 데이터 컨트롤 속성 중 Data Source에 'SELECT * FROM 주소록'으로 정의
 (
주소록으로부터 *(모든레코드)를 선택하라는 것이다. (SELECT 필드1,필드2,필드3.. FROM 테이블))
 DISTINCT(중복된 레코드를 추출하지 않는다.)
 (
)SELECT DISTINCT 필드 FROM 테이블)
 SELECT TOP 2 필드1,필드2,.. FROM 테이블 ORDER BY 필드 ASC
 (
ORDER BY는 데이터를 원하는 순서대로 정렬하는 구문이다.)
 SELECT * FROM 테이블 WHERE 필드='홍길동'
 
(전체테이블에서 필드 이름이 홍길동인것만 추출)
 추가된 레코드나 수정된 레코드를 화면에 보여주는 방법
 (
Data1.Recordset.Bookmark = Data1.Recordset.LastModified)

3) 데이터베이스 레코드 이동방법
 recordset.MoveFirst ☞ (
맨 앞의 레코드로 이동)
 recordset.MovePrevious ☞ (
한 칸 앞의 레코드로 이동)
 recordset.MoveNext ☞ (다음 레코드로 이동)
 recordset.MoveLast ☞ (
최종 레코드로 이동)

★ 비주얼 베이직 중급강의 제2탄(4-6) ★

4) 데이터베이스 명령문

 recordset ☞ (
열려있는 Recordset 개체)

 recordset.Edit ☞ (
커런트 레코드를 편집할 수 있도록 준비하는 명령)
 recordset.Update ☞
(실제로 결과를 레코드에 반영하려면 실행)
 (예) tb.Edit        tb!irem = "박세리"       tb.Update)

 recordset.CancelUpdate ☞ (
AddNew나 Edit 메소드에 의해 레코드 집합에 전달된 메시지를 취소)
 recordset.AddNew ☞ (
AddNew 메서드는 모든 필드가 빈(Null값) 레코드를 추가합니다. 실제로 추가한  레코드를 Recordset 개체에 저장하는 것은 Update 메서드입니다.)
 
recordset.Delete ☞ (커런트 레코드를 삭제한다. 삭제한 후에는 커런트 레코드가 정의되지 않는 상태로 되어 있습니다. 이 상태에서 커런트 레코드를 참조하려고 하면 에러가 발생합니다.)

 recordset.Seek comparison key1,key2... ☞
(레코드를 검색 예) tb.Seek "=" , "박세리")
 recordset.Filter(=value) ☞ (
Filter속성은 조건을 설정하는 것뿐입니다. 실제로 그 조건에서 Recordset 개체를 작성하려면 OpenRecordset 메서드를 실행합니다.)
(예) db.Filter = "zip Like '123*'"  zip필드가 "123"으로 시작하는 레코드를 추출하는 필터)

 Set db = db.OpenRecordset() ☞ (
필터를 기본으로 새 Recordset 개체를 작성)
 tb.Index = "zip_Desc"  ☞  (
zip 필드를 기준으로 내림차순으로 정렬됩니다.)

5) 데이터베이스의 자료검색

 레코드 검색 ☞ (
SQL_FIELD = SQL_FILED + "'" + InputBox("찾고자 하는 값을 입력하여 주십시오.", "주소록관리검색", "", 600, 1740) + "'")
 자료검색찾기 ☞ (
Recordset.FindFirst 필드명 = '검색자료')

6) 데이터베이스 기타내용

 레코드 집합을 최근의 정보로 다시 만들 때 ☞ (
Data1.Recordset.Requery)

 레코드를 정렬할때 ☞  (
Set recRecordset1 = Data1.Recordset
 recRecordset1.Sort = SortStr(정렬할 열이 들어있는 변수)
 Set recRecordset2 = recRecordset1.OpenRecordset(recRecordset1.Type)
 다른 데이터베이스 사용(TableDef.Connect="dBASE IV";database="& App.Path & "\biblio"

★ 비주얼 베이직 중급강의 제3탄(7-9) ★

7) 탭 스트립 컨트롤 사용

프로젝트의 구성요소에서 Microsoft Windows Common Control 6.0을 추가하면 탭 스트립 컨트롤을 추가할 수 있습니다. (
속성창의 (사용자 정의)로 이동하면 탭 스트립 컨트롤의 속성을 설정하는 대화상자가 표시되며 여기서 Caption과 Index를 정의하여 준다.)


7) API 함수 사용

 API 함수를 사용하려면 Microsoft Visual Studio 6.0 도구들에서 API 텍스트 뷰어를 선택합니다.
 API 뷰어 창에서 파일메뉴의 텍스트 파일 로드를 선택한 다음 Win32api.txt를 클릭한 다음 데이터베이스로 변환을 묻는 대화상자에서 예일경우는 데이터베이스화 시켜서 저장해 놓는 것도 API를 자주 쓰는 사람에겐 현명한 방법이다. 사용할 API를 입력하고 추가한 후 복사를 누르면 클립보드에 복사가 되면 다시 프로그램으로 돌아와 붙여넣기를 누른다.
(
) SandMessage() ☞ 원하는 윈도우에 원하는 메시지를 보내주는 함수
 SendMessage cbo테스트1.hwnd, CB_SHOWDRODOWN, True, 0   '컴보박스에 드롭다운 전송)

 MessageBeep() ☞ (시스템 사운드를 들려주는 API 함수
 &HFFFF(PC 스피커로 평범한 비프음을 낸다)  MB_ICONINFORMATION(일반 효과음)
 MB_ICONEXCLAMTION(경고음) MB_ICONQUESTION(입력요구음) MB_ICONSTOP(치명적 경고음)
 sndPlaySound() ☞ 멀티미디어를 위한 사운드 출력함수
 ShellAbout() ☞ About 화면을 구현해 주는 함수
 ShellAbout Me.hWnd, "테스트 프로그램 Ver0.1", "Copyright 1999.08 최원철", Me.Icon
tapiRequestMakeCall ☞가장 단순하게 전화를 걸어 줄 수 있는 TAPI의 함수
tapiGetLocationInfo ☞ 국가 코드와 지역 코드 번호를 가져오는 함수


8) 팝업메뉴의 사용

 팝업메뉴 [컨트롤.]PopupMenu 메뉴이름 ☞ (
팝업메뉴의 대상이 될 수 있는 것은 최상위 메뉴 아이템뿐이다. 보통 MouseUp 이벤트를 사용한다.)
) If Button = 2 then       '오른쪽 마우스 버튼이 눌렀는지 확인한다.
    PopupMenu mnu파일    ' 팝업메뉴로서 파일 메뉴를 표시한다.


9) 그리드 명령 사용법

그리드 명령의 상단에 제목을 표시하려면 FormatString 프로퍼티를 이용한다.
) FormatString = "1|12|123"   '문자열들을 구분하려면 '|'를 사용한다. 내용에 따라 종류가 판독되면 숫자면 우측정렬,문자면 좌측정렬이 되어 표시한다. 사용자가 임의대로 정렬하려면 '<'는 좌측정렬, '^'는 중앙정렬, '>'는 우측정렬을 의미하는 문자이다. 사용하려는 문자앞에 표시한다.
그리드에서 크기를 조절하는 프로퍼티는 AllowUserResizing 값이 0이면 조절할 수 없고 1이면 열 크기를 조절할 수 있고 2이면 행 크기를 조절할 수 있고 3이면 양쪽모두 조절할 수 있다.

★ 비주얼 베이직 중급강의 제4탄(10-12) ★

10) 공용대화상자의 Action 값

 ShowOpen(1 : 열기 대화상자)
 ShowSave(2 : 다른 이름으로 저장 대화상자)
 ShowColor(3 : 색 선택 대화상자)
 ShowFont(4 : 폰트 선택 대화상자)
 ShowPrinter(5 : 프린트 대화상자)
 ShowHelp(6 : Windows  Help engine을 호출)
(
) dlgCMDiglog.ShowOpen     혹은      dlgCMDiglog.Action = 1 )  


11) 기타 컨트롤에 대하여

 이미지리스트 ☞ (
이미지를 리스트로 저장하는 것. 프로퍼티중에서 (사용자정의)를 더블클릭하면 나타나는 대화상자에서 이미지 탭의 그림삽입을 눌러 차례로 이미지를 추가하면 된다.)
 탭 컨트롤 ☞ (
ImageList 프로퍼티를 전개하여 현재 폼에 생성된 이미지리스트의 목록을 선택하고 탭인 탭을 눌러 Image 프로퍼티를 1이상으로 바꾸면 된다. 0은 이미지를 표시하지 않겠다는 의미이다.
예) TabStrip1.SelectItem.Index     '원하는 탭의 번호를 가르킨다.

툴바 ☞ (
어떤 버튼이 눌러졌는지 알기위해서는 Key 프로퍼티를 이용한다. 예) Button.Key)
상태바 ☞ (
패널의 스타일 sbrText(기본값) : 텍스트 혹은 비트맵을 표시한다.
sbrCaps : Caps  Lock 상태 , sbrNum : Num Lock 상태 , sbrTime : 현재시간을 시스템 형식으로 표시 , sbrDate : 현재날짜를 시스템 형식으로 표시..  등이 있다.
예) sbr상태.Panels(1).Text = "통합프로그램"     'sbrText만 자유롭게 손댈수 있다.)

진행 상태바 ☞ (
Min,Max를 정하고 실행중 Value에 진행상태를 계속 표시해주면 된다.)

12) MaskedEdit

 프로젝트의 구성요소에서 Microsoft Masked Edit Control 6.0을 선택하면 MaskedEdit 컨트롤을 사용할 수 있다.(
Text 박스와 유사하지만 데이터를 Format에 따라 표현할 수 있다.)

★ 비주얼 베이직 중급강의 제5탄(13-15) ★

13) 타일 만들기

 조그만 이미지를 가지고 폼 전체를 채우는 방법은 타일(Tile)이라는 개념을 이용한다.
 
)    Private sub Form_Paint()
         Dim i, j As Integer
         Dim tile_size_x, tile_size_y As Integer
         tile_size_x = img타일.Width                              '속도를 위해 일단 타일의 크기를 구한다.
         tile_size_y = img타일.Height
         For i = 0 To Me.ScaleHeight Step tile_size_y      '폼의 크기만큼 타일 크기를  
         For j = 0 To Me.ScaleWidth Step tile_size_x       ' 간격으로 루프를 돈다.
         Me.PaintPicture img타일.Picture, j, I                 '폼에 타일의 이미지를 찍는다.
         Next j
         Next I
         End sub


14) 비주얼베이직과 레지스트리

 비주얼베이직의 표준 레지스트리의 위치 ☞ (
HKEY CURRENT USER\Software\VB and VBA Program Settings\)
 GetSetting ☞ (
레지스트리 설정을 읽는다.)  SaveSetting ☞ (레지스트리 설정을 저장 혹은 작성한다.)
 GetAllSettings ☞ (
다중 레지스트리 설정을 읽는다.)  DeleteSetting ☞ (레지스트리 설정을 삭제한다).

15) 마지막으로 종료했던 순간의 폼 상태를 그대로 복구해주는 프로그램

   
Private Sub Form_Load()       '폼의 위치와 크기 정보를 읽는다.
    Me.Left = GetSetting(App.Title, "Position", "Left", Me.Left)
    Me.Top = GetSetting(App.Title, "Position", "Top", Me.Top)
    Me.Width = GetSetting(App.Title, "Size", "Width", Me.Width)
    Me.Height = GetSetting(App.Title, "Size", "Height", Me.Height)
    End Sub
    Private Sub Form_Unload(Cancel As Integer)       '폼의 위치와 크기 정보를 읽는다.
    SaveSetting App.Title, "Position", "Left", Str(Me.Left)
    SaveSetting App.Title, "Position", "Top", Str(Me.Top)
    SaveSetting App.Title, "Size", "Width", Str(Me.Width)
    SaveSetting App.Title, "Size", "Height", Str(Me.Height)
    End Sub


★ 비주얼 베이직 중급강의 제6탄(16-18) ★

16) 대표적인 그래픽 메소드

 
Circle(원을 그림), Cls(화면을 지움), Line(선을 그음), PaintPicture(그림을 복사함), Point(지정된 좌표의 점색을 읽어옴), Print(글씨를 찍음), Pset(점을 찍음), TextHeight(문자열 의 높이를 얻음), TextWidth(문자열의 너비를 얻음)

17) 프린터처리에 관하여


 
Printer 개체의 프로퍼티 ☞ (Copies(찍는 문서의 개수), Count(프린터 디바이스의 개수), DeviceName  (프린터 디바이스의 이름), Duplex(페이지 양면의 인쇄), Orientation(용지인쇄방향), Page(현재페이지), PaperBin(인쇄시 용지를 공급하는 프린터의 기본 용지함), Paper내용을 프린터 할 준비
Printer.EndDoc(내용을 프린터로 전송)

18) 클립보드 정리


 
클립보드 ☞ (Clear(클립보드에 포함된 데이터를 삭제한다.), GetData(클립보드에서 그림 데이터를 얻는다.), GetFormat(클립보드에 포함된 데이터의 형식을 얻는다.), GetText(클립보드에서 문자열을 얻는다.), SetData(클립보드로 그림  데이터를 보낸다.), SetText(클립보드로 문자열을 보낸다.)
예) Clipboard.Clear   '클립보드의 내용을 지운다.)

문자열 = Clipboard.GetText([포맷])    '포맷의 기본값은 1(문자열 얻기), &HBF00(DDE 정보교환)

★ 비주얼 베이직 중급강의 제7탄(19) ★

19) 비주얼 베이직로 화면보호기 만들기

스크린세이버 ☞ (
화면보호기능으로 다음 사항을 고려하여 작성한다.)

1) 화면전체를 대상으로 한다.
(폼의 BorderStyle 프로퍼티를 0으로하고 WindowState 프로퍼티를 2(전체 화면)으로 BackColor 프로퍼티를 &H00000000(검은색)으로 한다.)
2) 커서를 없앤다.
(API 함수인 ShowCursor()를 이용한다. 폼의 로드이벤트에서 ShowCursor False를 폼 의 언로드이벤트에서 ShowCursor True를 넣는다.)
3) 다른 윈도우의 침입을 방지한다.
(SetWindowPos Me.hWnd,-1,0,0,0,0,SWP NOMOVE+SWP NOSIZE)
4) 중복해서 실행되면 안된다.
(SystemParametersInfo()함수를 이용한다.)
  Const SPI SETSCREENSAVEACTIVE = 15
  SystemParametersInfo SPI SETSCREENSAVEACTIVE, False, 0, 0 (스크린세이버가 실행중임)
  SystemParametersInfo SPI SETSCREENSAVEACTIVE, True, 0, 0 (스크린세이버가 종료됨)

5) 사용자의 입력이 있으면 종료된다.
(GetCursorPos()함수를 이용하여 마우스의 좌표를 얻고 MouseMov e에서 If (StartCursor.x <>x) Or (StartCursor.y<>y) then이면  Unload Me로 종료) 그리고 MouseDown이나 KeyDown은 그냥 Unload Me로 종료
6) 윈도우가 스크린 세이버를 인식해야 한다.
(실행파일의 확장자을 SCR로 바꾼다)

 


 

♬  비주얼 베이직에서 사용하는 모든 함수를 배워봅시다. ♬

 

 

 : 자주사용하는 함수

 

 : 일반적으로 많이 아는 함수

 

 : 특수한 경우에만 사용하는 함수

 

 ◈ 함수명 : Abs

 ◈ 함수명 : Array

 형식 : Abs(number)

 형식 : Array(arglist)

 설명 : 가로안의 수치에 대한 절대값을 구합니다.

 설명 : 배열이 포함된 값을 반환합니다.

 예제 : Abs(21.7) ☞ 21.7을 반환합니다.
          Abs(-21.7) ☞ 21.7을 반환합니다.

 예제 : m=Array("월","화","수","목","금","토","일")
          d=m(2) ☞ d에는 "화"가 들어갑니다.

 

 ◈ 함수명 : Asc

 ◈ 함수명 : Atn

 형식 : Asc(string)

 형식 : Atn(number)

 설명 : 문자열의 첫 글자에 해당하는 문자 코드를 나타내는           integer 값을 반환합니다.

 설명 : 가로안의 수치의 아크탄젠트(arctangent)값을           지정하는 Double을 반환합니다.

 예제 : Asc("A") ☞ 65를 반환합니다.
          Asc("a") ☞ 97를 반환합니다.

 예제 : pi=4*Atn(1) ☞ 원주율의 값을 계산합니다.
          Atn은 삼각함수 Tan의 역함수입니다.

 

 ◈ 함수명 : Choose

 ◈ 함수명 : Chr

 형식 : Choose(index,선택1,선택2....)

 형식 : Chr(charcode)

 설명 : 인수목록에서 값을 선택하고 그 값을 반환합니다.

 설명 : ASCII코드값에 해당되는 문자를 반환합니다.

 예제 : Gsun=Choose(ind,"빠름","중간","느림")
          ☞ ind값에 따라 선택목록에서 값을 반환합니다.

 예제 : Chr(65) ☞ A를 반환합니다.
          Chr(97) ☞ a를 반환합니다.

 

 ◈ 함수명 : Command

 ◈ 함수명 : Cos

 형식 : Command

 형식 : Cos(number)

 설명 : 비주얼베이직으로 개발된 실행 프로그램을 시작했던           명령줄의 인수부분을 반환합니다.

 설명 : 특정한 각의 코사인 값을 반환합니다.

 예제 : VB /cmd cmdinsu ☞ cmdinsu는 Command함수에           의해 반환된 인수를 나타냅니다.

 예제 : Cos(30) ☞ Cos 30도 값을 반환합니다.

 

 ◈ 함수명 : CreateObject

 ◈ 함수명 : CurDir

 형식 : CreateObject(class)

 형식 : CurDir(drive)

 설명 : ActiveX 개체에 대한 참조를 만들거나 반환합니다.

 설명 : 현재 경로를 나타내는 문자열을 반환합니다.

 예제 : CreateObject("Excel.Application)
          ☞ Excel.Application개체에 대한 참조를 만들어               전달합니다.

 예제 : CurDir ("C") ☞ 현재 경로가 "C:\vbasic\연습"이라면           이 경로값을 반환합니다.

 

 ◈ 함수명 : CVErr

 ◈ 함수명 : Date

 형식 : CVErr(errornumber)

 형식 : Date

 설명 : 사용자가 지정한 오류번호를 반환합니다.

 설명 : 현재의 시스템 날짜를 반환합니다.

 예제 : CVErr(1357) ☞ 사용자정의 오류 번호를 반환합니다.

 예제 : d=Date ☞ d에 현재 시스템 날짜를 반환합니다.

 

 ◈ 함수명 : DateAdd

 ◈ 함수명 : DateDiff

 형식 : DateAdd(interval, number, date)

 형식 : DateDiff(interval, date1, date2,[firstdayofweek,...])

 설명 : 특정 시간 간격을 포함한 Date값을 반환합니다.

 설명 : 지정된 두 날짜간의 시간 간격을 반환합니다.

 예제 : DateAdd("m", 1, "31-Jul-99") ☞ 99년 7월31에           1개월을 더한 99년 8월 31일 값을 반환합니다.

 예제 : dd=InputBox("Enter a date")
          cha=DateDiff("d", Now, dd)
          ☞ 입력한 날짜와 현재날짜와의 차이값을 반환합니다.

 

 ◈ 함수명 : DatePart

 ◈ 함수명 : DateSerial

 형식 : DatePart(interval, date[,firstdayofweek...)

 형식 : DateSerial(year, month, day)

 설명 : 관련 자료의 특정부분의 값을 반환합니다.

 설명 : 지정된 년, 월, 일의 값을 반환합니다.

 예제 : dd=InputBox("Enter a date")
          cha=DatePart("w", dd) ☞ 입력받은 날짜의 요일을
          반환합니다.

 예제 : mdate=DateSerial(1980, 5,10)
          ☞ mdate에 1980년 5월 10일의 날짜값을 반환합니다.

 

 ◈ 함수명 : DateValue

 ◈ 함수명 : Day

 형식 : DateValue(date)

 형식 : Day(date)

 설명 : 날짜값을 반환합니다.

 설명 : 해당월의 날짜를 의미하는 정수값을 반환합니다.

 예제 : DateValue("October 15, 1985)
         ☞ 영문표기법에 의한 날짜값을 반환합니다.

 예제 : mdate=#October 15, 1990#
          m=Day(mdate) ☞ m은 15를 받습니다.

 

 ◈ 함수명 : DDB

 ◈ 함수명 : Dir

 형식 : DDB(cost, salvage, life, period[,factor])

 형식 : Dir(pathname[,attributes])

 설명 : 특정기간동안 자산의 감가상각값을 반환합니다.

 설명 : 지정된 파일속성등이 일치하는 파일이름을 반환합니다

 예제 : period=((cost-salvage)*factor)/life
          ☞ DDB함수는 윗 공식을 사용하여 주어진 기간동안의           감가상각을 계산합니다.

 예제 : Dir(*.jpg) ☞ 해당 pathname과 일치하는 첫 번째 파일           이름을 반환합니다.

 

 ◈ 함수명 : DoEvents

 ◈ 함수명 : Environ

 형식 : DoEvents()

 형식 : Environ({envstring | number})

 설명 : 운영체제가 다른 이벤트를 처리할 수 있도록 실행을
          넘겨줍니다.

 설명 : 운영체제 환경변수와 관련된 문자를 반환합니다.

 예제 :  DoEvents() ☞ 파일검색처럼 시작한 후 사용자가 그            프로세스를 취소할 수 있도록 해주는 것과 같은
           간단한 작업에 아주 유용합니다.

 예제 : Environ(Ind) ☞ 환경변수를 읽어들입니다.

 

 ◈ 함수명 : EOF

 ◈ 함수명 : Error

 형식 : EOF(filenumber)

 형식 : Error(errornumber)

 설명 : Input용으로 열린 파일의 끝에 도달하면 Boolean
          값을 True값을 반환합니다.

 설명 : 주어진 오류번호에 해당하는 오류메세지를 반환합니다

 예제 : Do While Not EOF(1) ☞ 파일의 끝을 확인합니다.

 예제 : Error(1231) ☞ errornumber해당하는 오류메세지를
          반환합니다.

 

 ◈ 함수명 : Exp

 ◈ 함수명 : FileAttr

 형식 : Exp(number)

 형식 : FileAttr(filenumber, returntype)

 설명 : e(자연로그의 밑)의 거듭제곱수를 반환합니다.

 설명 : Open문으로 연 파일의 파일모드를 반환합니다.

 예제 : Exp(-1 * 1.3)/2 ☞ 쌍곡선 사인값을 반환합니다.

 예제 : FileAttr(FileNum, 1) ☞ Append 파일모드입니다.

 

 ◈ 함수명 : FileDateTime

 ◈ 함수명 : FileLen

 형식 : FileDateTime(pathname)

 형식 : FileLen(pathname)

 설명 : 파일이 생성되거나 마지막으로 수정된 날짜와 시간을
          반환합니다.

 설명 : 파일 길이를 바이트 수로 반환합니다.

 예제 : FileDateTime("TTFILE") ☞ TTFILE이 수정된 날짜와
          시간을 반환합니다.

 예제 : ms=FileLen("TTFILE") ☞ 파일길이를 반환합니다.

 

 ◈ 함수명 : Int, Fix

 ◈ 함수명 : Format

 형식 : Int(number), Fix(number)

 형식 : Format(expression, format...)

 설명 : 특정 숫자의 정수 부분을 전달된 형식으로 반환합니다

 설명 : 형식 식의 명령대로 구성된 문자를 반환합니다.

 예제 : Int(99.8) ☞ 99   Int(-99.2) ☞ -100
          Fix(99.8) ☞ 99   Fix(-99.2) ☞ -99 를 반환합니다.

 예제 : Format(53000,"##,###") ☞ 53,000
          Format(2, "0.00%") ☞ 200.00%을 반환합니다.

 

 ◈ 함수명 : FreeFile

 ◈ 함수명 : FV

 형식 : FreeFile(rangenumber)

 형식 : FV(rate, nper, pmt[,pv,type])

 설명 : Open문에 사용할 수 있는 다음 파일번호를 반환.

 설명 : 정기고정 지불액과 고정 이율을 기준으로 연금에
             대한 미래 가치를 반환합니다.

 예제 : FileNumbr=FreeFile ☞ 사용하지 않은 파일번호를
          가져와서 Open문에서 이용합니다.

 예제 : rate(일정기간당 이율), nper(연금의 총지불 기간수)
          pmt(각 기간에 지불할 금액, PV(장래의 지불액에 대
          한 현재의 값), Type(지불 만기일)

 

 ◈ 함수명 : GetAllSettings

 ◈ 함수명 : GetAttr

 형식 : GetAllsettings(appname, section)

 형식 : GetAttr(pathname)

 설명 : 윈도우 레지스트리의 응용 프로그램 항목에서 키 설정
          의 이름과 값들의 목록을 반환합니다.

 설명 : 파일, 디렉토리, 또는 폴더속성을 반환합니다.

 예제 : GetAllsettings(appname:="MyApp" , section :=
          "Startup") ☞ 윈도우 .INI파일의 항목을 만들기 위해
          설정된 내용을 표시합니다.

 예제 : r=GetAttr(Fname) And vbArchive ☞ 보관속성이 설정
          되어있다면 0이 아닌값이 되돌려 지고 설정되어 있지
          않으면 반환값은 0입니다.

 

 ◈ 함수명 : GetAutoServerSettings

 ◈ 함수명 : GetObject

 형식 : object.GetAutoServerSettings([progid,clsid])

 형식 : GetObject([pathname, class])

 설명 : ActiveX 구성요소의 등록상태에 대한 정보를 반환

 설명 : 파일에서 ActiveX개체에 대한 참조를 반환합니다.

 예제 : oRegClass.GetAutoServerSettings ("Hproj.HClass")            ☞ 명명된 원격 등록 개체 정보를 검색하여 반환

 예제 : GetObject("C:\Photo\Cat.psd) ☞ 해당 응용프로
          그램이 시작되고 지정된 파일의 개체가 활성화됩니다.

 

 ◈ 함수명 : GetSetting

 ◈ 함수명 : Hex

 형식 : GetSetting(appname, section, key[,default])

 형식 : Hex(number)

 설명 : 윈도우 레지스트리에서 키 설정값을 반환합니다.

 설명 : 숫자의 16진수값을 문자값으로 반환합니다.

 예제 : GetSetting(appname:="MyApp", section:="Startup",           key:="Left", defaulf:="25")  ☞ 레지스트리의 키 설정
          값을 반환합니다.

 예제 : mHex=Hex(7) ☞ 7를 반환합니다.
          mHex=Hex(10) ☞ A를 반환합니다.
          mHex=Hex(27) ☞ 1B를 반환합니다.

 

 ◈ 함수명 : Hour

 ◈ 함수명 : IIf

 형식 : Hour(time)

 형식 : IIf(expr, truepart, falsepart)

 설명 : 시간을 나타내는 0에서 23사이의 정수값을 반환합니다

 설명 : 식을 평가한 결과에 따라 값을 반환합니다.

 예제 : MTime=#3:20:45 PM#.
          MHour=Hour(MTime) ☞ 15값이 반환됩니다.

 예제 : IIf(su>200, dan*su*0.8, dan*su)
          ☞ 주어진 식을 평가하여 참, 거짓문장을 수행합니다.

 

 ◈ 함수명 : IMEStatus

 ◈ 함수명 : Input

 형식 : IMEStatus

 형식 : Input(number,[#]filenumber)

 설명 : IME모드를 나타내는 값을 반환합니다.

 설명 : Input 또는 Binary 모드로 연 파일로부터 문자가          들어있는 문자를 반환합니다.

 예제 : vbIMEModeNoControl ☞ 0(현재 상태 유지)
          vbIMEModeHangul ☞ 10(한글)

 예제 : Open "TFile" For Input As #1 ☞ 파일을 엽니다.
          MChar=Input(1,#1) ☞ 한 문자를 가져옵니다.

 

 ◈ 함수명 : InputBox

 ◈ 함수명 : InStr

 형식 : InputBox(prompt[,title,default,xpos, ypos,helpfile])

 형식 : InStr([,start,]string1,string2[,compare])

 설명 : 대화 상자안의 프롬프트를 보여주며, 사용자가 입력을
         하면 입력된 내용을 포함하는 문자열을 반환합니다.

 설명 : 한 문자열안에 특정 문자열이 처음으로 발생한 위치를
          수치값으로 반환합니다.

 예제 : InputBox(msg,"입력연습", "없음")
          ☞ 메시지와 Input박스의 제목과 기본값을 설정합니다.

 예제 : InStr(3,"honggildong","d",1)
          ☞ 3 위치에서 비교시작하여 d가 발견된 8을 반환

 

 ◈ 함수명 : IPmt

 ◈ 함수명 : IRR

 형식 : IPmt(rate, per, nper, pv[, fv[,type]])

 형식 : IRR(values()[,guess])

 설명 : 정기고정 지불액과 고정이율을 기준으로 일정기간동안
          연금의 이자 지불액을 반환합니다.

 설명 : 일정기간의 자금흐름(지불액과 수령액)에 대한 내부
          수익률을 반환합니다.

 예제 : rate(일정기간 당 이율), per,nper(연금의 총 지불 기간
          수), pv(장래의 지불액이나 수령액에 대한 현재의 값)
          fv(마지막으로 지불한 후에 원하는 장래의 값이나 자금
          잔액), type(지불 만기일)

 예제 : values()(자금 흐름값을 지정하는 Double유형의 배열
          guess(추정치를 지정하는 Variant는 IRR로 얻을 수 있
          습니다. 생략하면 guess는 0.1(10%)이 됩니다.

 

 ◈ 함수명 : IsArray

 ◈ 함수명 : IsDate

 형식 : IsArray(varname)

 형식 : IsDate(expression)

 설명 : 변수가 배열인지 나타내는 Boolean값을 반환합니다.

 설명 : 식을 날짜로 변환할 수 있는지를 Boolean값으로 반환

 예제 : Dim k(2,3)
          if IsArray(k) ☞ True값을 반환합니다.

 예제 : MDate="#2/18/78#"
          if IsDate(MDate) ☞ True값을 반환합니다.

 

 ◈ 함수명 : IsEmpty

 ◈ 함수명 : IsError

 형식 : IsEmpty(expression)

 형식 : IsError(expression)

 설명 : 변수가 초기화 되었는지를 Boolean값으로 반환합니다

 설명 : 식이 오류 값인지를 나타내는 Boolean값을 반환

 예  제 : Dim Mchk
            if IsEmpty(Mchk) ☞ True값을 반환합니다.

 예제 : if IsError(Rel)☞ Rel이 오류면 True값을 반환합니다.

 

 ◈ 함수명 : IsMissing

 ◈ 함수명 : IsNull

 형식 : IsMissing(argname)

 형식 : IsNull(expression)

 설명 : 선택적인 Variant인수가 프로시저에 전달되었는지
          나타내는 Boolean값을 반환합니다.

 설명 : 식이 Null값인지를 Boolean값으로 반환합니다.

 예제 : Function ReT(Optional A)
          If IsMissing(A) ☞ 인수값이 있으면 참값을 반환합니다

 예제 : Myvar=Null
          if IsNull(MyVar) ☞ True값을 반환합니다.

 

 ◈ 함수명 : IsNumeric

 ◈ 함수명 : IsObject

 형식 : IsNumeric(expression)

 형식 : IsObject(idenfifier)

 설명 : 식을 수로 평가할 수 있는지를 Boolean값으로 반환

 설명 : 식별자가 개체변수인지를 Boolean값으로 반환합니다.

 예제 : su=30
          if IsNumeric(su) ☞ True값을 반환합니다.

 예제 : Dim Mobj As Object
          Set Yobj=Mobj ☞ 개체참조를 지정합니다.
          if IsObject(Yobj) ☞ Treu를 반환합니다.

 

 ◈ 함수명 : LBound

 ◈ 함수명 : LCase

 형식 : LBound(arrayname[, dimension])

 형식 : LCase(string)

 설명 : 지정된 배열 차원에 사용할 수 있는 가장 작은 첨자를
          포함하는 Long형 값을 반환합니다.

 설명 : 소문자로 변환된 문자값을 반환합니다.

 예제 : Dim Marray(1 To 10, 10 To 20) ☞ 배열변수 선언
          L=LBound(Marray,1) ☞ 1을 반환합니다.

 예제 : k="SEOUL"
          m=LCase(k) ☞ "seoul"를 반환합니다.

 

 ◈ 함수명 : Left

 ◈ 함수명 : Len

 형식 : Left(string, length)

 형식 : Len(string | varname

 설명 : 문자열의 좌즉에서부터 지정된 수만큼 문자를 반환

 설명 : 문자열의 갯수를 수치로 반환합니다.

 예제 : s="hello chulsu"
          m=Left(s, 3) ☞ "hel"을 반환합니다.

 예제 : Len("chanbin") ☞ 7을 반환합니다.

 

 ◈ 함수명 : LoadPicture

 ◈ 함수명 : Loc

 형식 : LoadPicture(stringexpression)

 형식 : Loc(filenumber)

 설명 : 폼의 PictureBox컨트롤, Image컨트롤에 그림을 호출

 설명 : 열려있는 파일에서 현재의 R/W위치를 반환합니다.

 예제 : Picture1.Picture=LoadPicture("chan.jpg")
         ☞ 픽쳐박스에 그림을 불러옵니다.

 예제 : MyLocation=Loc(1) ☞ 파일안의 현재위치를 반환

 

 ◈ 함수명 : LOF

 ◈ 함수명 : Log

 형식 : LOF(filenumber)

 형식 : Log(number)

 설명 : Open문으로 연 파일의 크기를 반환합니다.

 설명 : 특정한 수의 자연로그값을 계산합니다.

 예제 : Flen=LOF91) ☞ 파일의 길이를 구합니다.

 예제 : Log(x) ☞ x값에 대한 자연로그값을 구합니다.

 

 ◈ 함수명 : LTrim, RTrim, Trim

 ◈ 함수명 : Mid

 형식 : LTrim(string), RTrim(string), Trim(string)

 형식 : Mid(string, start[,length])

 설명 : 지정된 문자열의 좌측, 우측, 양쪽에 공백이 없는 문자
          열을 반환합니다.

 설명 : 한 문자열에서 시작위치에서 지정한 수 만큼이 문자들
          을 반환합니다.

 예제 : k=" seoul "
          m=LTrim(k) ☞ "seoul "을 반환합니다.

 예제 : k="hello chanbin"
          m=Mid(k,7,4) ☞ "chan"을 반환합니다.

 

 ◈ 함수명 : Minute

 ◈ 함수명 : MIRR

 형식 : Minute(time)

 형식 : MIRR(values(), finance_rate, reinvest_rate)

 설명 : 분을 나타내는 0에서 59사이의 정수값을 반환합니다.

 설명 : 일정기간의 자금흐름에 대한 수정된 내부이익을 지정
          하는 값을 반환합니다.

 예제 : MyTime=#5:38:23# ☞ 시간을 지정합니다.
          m=Minute(MyTime) ☞ 38을 반환합니다.

 예제 : values()(자금흐름값을 지정), finance_rate(재정처리
         비용으로 지불할 이율을 지정), reinvest_rate(자금 재
         투자로 인한 수익에서 받을 이율을 지정)

 

 ◈ 함수명 : Month

 ◈ 함수명 : MsgBox

 형식 : Month(date)

 형식 : MsgBox(prompt[,buttons, title, helpfile, context])

 설명 : 월을 나타내는 1에서 12사이의 정수값을 반환합니다.

 설명 : 대화 상자안에 메시지를 보여줍니다.

 예제 : Mydate=#October 15, 1990# ☞ 날짜를 지정합니다.
          m=Month(Mydate) ☞ 10을 반환합니다.

 예제 : MsgBox "안녕하세요" ☞ 해당메세지를 보여줍니다.

 

 ◈ 함수명 : Now

 ◈ 함수명 : NPer

 형식 : Now

 형식 : NPer(rate, pmt, pb[,fv, type])

 설명 : 사용자 컴퓨터 시스템 날짜와 시간을 반환합니다.

 설명 : 정기고정 지불액과 고정이율을 기준으로 연금의 기간
          수를 반환합니다.

 예제 : Td=Now ☞ 현재 날짜와 시간을 반환합니다.

 예제 : rate(일정기간 이율을 지정), pmt(각 기간에 지불할
          지불액), pv(장래의 지불액), fv(마지막으로 지불한후
          에 원하는 장래의 값), type(지불만기일)

 

 ◈ 함수명 : NPV

 ◈ 함수명 : Oct

 형식 : NPV(rate, values())

 형식 : Oct(number)

 설명 : 정기적인 자금 흐름과 할인율을 기준으로 현재의 순
          투자 가치를 반환합니다.

 설명 : 숫자의 8진수값을 문자로 반환합니다.

 예제 : rate(전 기간에 걸친 할인율을 지정), values()(자금 흐
          름값을 지정)

 예제 : m=Oct(5) ☞ 5를 반환합니다.
          d=Oct(9) ☞ 11을 반환합니다.

 

 ◈ 함수명 : Partition

 ◈ 함수명 : Pmt

 형식 : Partition(number, start, stop, interval)

 형식 : Pmt(rate, nper, pv[,fv, type])

 설명 : 계산된 범위내이 어느곳에서 숫자가 발생했는지를
          알려주는 문자열을 반환합니다.

 설명 : 정기고정 지불액과 고정이율을 기준으로 연금에 대한
          지불액을 반환합니다.

 예제 : 주어진 범위안에서 주문량을 구하기 위해 많은 사용

 예제 : rate(일정기간 당 이율을 지정), nper(연금의 총 지불
          기간수을 지정), pv((장래의 지불액), fv(마지막으로 지
          불한 후에 원하는 장래의 값), type(지불 만기일)

 

 ◈ 함수명 : PPmt

 ◈ 함수명 : PV

 형식 : PPmt(rate, per, nper, pv[,fv, type])

 형식 : PV(rate, nper, pmt[,fv, type])

 설명 : 정기고정 지불액과 고정이율을 기준으로 일정기간동안
          연금의 원금 지불액을 반환합니다.

 설명 : 장래의 지불할 정기고정 지불액과 고정 이율을 기준으
          로 연금의 현재 가치를 반환합니다.

 예제 : rate(일정기간 당 이율을 지정), Nper(연금의 총지불
         기간수),pmt(각 기간에 지불할 지불액), fv(마지막으로
         지불한 후에 원하는 장래의 값),type(지불만기일)

 예제 : rate(일정기간 당 이율을 지정), nper(연금의 총 지불
          기간수를 지정), pmt(각 기간에 지불할 지불액), fv(마
          지막으로 지불할 후에 원하는 장래의 값), type(지불
          만기일)

 

 ◈ 함수명 : QBColor

 ◈ 함수명 : Rate

 형식 : QBColor(color)

 형식 : Rate(nper, pmt, pv, fv[, type, guess])

 설명 : 지정된 색 번호에 대응하는 칼라를 나타냅니다.

 설명 : 연금에 대한 일정기간 당 이율을 반환합니다.

 예제 : QBColor(0) ☞ 검정색을 반환합니다. 1(파랑), 2(초록)
          3(청록), 4(빨강), 5(진홍), 6(노랑), 7(흰색), 8(회색),
          9(연파랑), 10(연초록), 11(연청록), 12(연빨강),
          13(연진홍), 14(연노랑), 15(옅은 흰색)  

 예제 : nper(연금의 총지불 기간수를 지정), pmt(각 기간에
          지불할 지불액을 지정), pv(장래의 지불액이나 수령액
          에 대한 현재의 값을 지정), fv(마지막으로 지불한 후에
          원하는 장래의 값), type(지불만기일), guess(추정치를
          지정하는 Variant는 Rate로 얻음)

 

 ◈ 함수명 : RGB

 ◈ 함수명 : Right

 형식 : RGB(red, green, blue)

 형식 : Right(string, length)

 설명 : RGB색값을 Long형식의 정수로 반환합니다.

 설명 : 문자열의 우측에서 지정한 수만큼의 문자열을 반환

 예제 : RGB(255, 0, 0) ☞ 빨강색을 반환합니다.
          RGB(0, 0 ,255)) ☞파랑색을 반환합니다.

 예제 : k="hello chanbin"
          m=Right(k, 3) ☞ "bin"을 반환합니다.

 

 ◈ 함수명 : Rnd

 ◈ 함수명 : Second

 형식 : Rnd(number)

 형식 : Second(time)

 설명 : 난수를 반환합니다.(0에서 1사이의 수치)

 설명 : 초를 나타내는 0에서 59사이의 수를 반환합니다.

 예제 : m=int((Rnd*6))+1 ☞ 1에서 6사이의 난수를 발생합니다

 예제 : MyTime=#2:40:55 PM# ☞ 시간을 지정합니다.
          s=Second(MyTime) ☞ 55를 반환합니다.

 

 ◈ 함수명 : Seek

 ◈ 함수명 : Sgn

 형식 : Seek(filenumber)

 형식 : Sgn(number)

 설명 : Open문으로 열린 파일안의 R/W의 위치를 반환합니다

 설명 : 특정 숫자의 부호를 수치로 반환합니다.

 예제 : Mc=Input(1, #1) ☞ 데이터의 문자를 읽어드립니다.
          Debug.Print Seek(1) ☞ 디버그창의 바이트 위치를
          출력합니다.

 예제 : m=Sgn(50) ☞ 양수이면 1을 0이면 0을 음수이면 -1을
          반환합니다. 따라서 여기서는 1을 반환합니다.

 

 ◈ 함수명 : Shell

 ◈ 함수명 : Sin

 형식 : Shell(pathname[, windowstyle])

 형식 : Sin(number)

 설명 : 사용자에 의해 지정된 응용프로그램을 실행합니다.

 설명 : 각도의 사인값을 반환합니다.

 예제 : k=Shell("C:\windows\calc.exe", 1)
         ☞ 계산기를 실행합니다.

 예제 : Sin(30*pi/180) ☞ 사인 30도값을 구합니다.

 

 ◈ 함수명 : SLN

 ◈ 함수명 : Space

 형식 : SLN(cost, salvage, life)

 형식 : Space(number)

 설명 : 단일 기간 동안의 정액법을 지정하는 값을 반환합니다.

 설명 : 지정된 수의 공백을 반환합니다.

 예제 : cost(초기자산 비용을 지정), Salvage(유용기간이 끝
          나는 시점의 자산액수를 지정), Life(자산의 유용기간
          길이를 지정)

 예제 : m="hello" & Space(10) & "chanbin"
          ☞ 두 문자열 사이에 10 공백을 삽입합니다.

 

 ◈ 함수명 : Spc

 ◈ 함수명 : Str

 형식 : Spc(n)

 형식 : Str(number)

 설명 : Print메서드에서 출력위치를 지정합니다.

 설명 : 숫자형식의 데이터를 문자열 데이터로 변환합니다.

 예제 : Print spc(5) "chanbin" ☞ 5칸을 띤 후에 출력합니다.

 예제 : Str(390) ☞ "390"를 반환합니다.

 

 ◈ 함수명 : StrComp

 ◈ 함수명 : StrConv

 형식 : StrComp(string1.string2[, compare])

 형식 : StrConv(string, conversion)

 설명 : 문자열 비교의 결과값을 수치로 반환합니다.

 설명 : 지정된 대로 변환된 문자열을 반환합니다.

 예제 : a="chanbin" b="chanbin"
          StrComp(a, b, 1) ☞ 0을 반환합니다.

 예제 : vbUpperCase(문자열을 대문자로), vbLowerCase(문
          열을 소문자로), vbWide(1바이트문자를 2바이트로)

 

 ◈ 함수명 : String

 ◈ 함수명 : Switch

 형식 : String(number, character)

 형식 : Switch(expr-1, value-1[,expr-2, value-2....])

 설명 : 지정된 길이의 반복되는 문자열을 반환합니다.

 설명 : 식의 목록식을 평가한 후 목록에서 True값을 갖는 최
          최의 식과 관련된 값이나 식을 반환합니다.

 예제 : String(7, "*") ☞ "*******"을 반환합니다.
          String(10, 65) ☞ "AAAAAAAAAA"을 반환합니다.

 예제 : Switch(CityName="London", "Englich", CityName=
          "Roma", "Italian") ☞ 도시의 이름과 일치하는 언어이
           름을 반환합니다.

 

 ◈ 함수명 : SYD

 ◈ 함수명 : Tab

 형식 : SYD(cost, salvage, life, period)

 형식 : Tab(n)

 설명 : 지정된 기간동안 자산의 감가상각값을 반환합니다.

 설명 : Print메서드에서 출력위치를 정합니다.

 예제 : cost(초기 자산비용을 지정), salvage(유용기간이 끝
          나는 시점의 자산액수를 지정), life(자산의 유용기간
          길이), period(자산의 감가상각을 계산하는 기간지정)

 예제 : Print Tab(10) "chanbin"
          ☞ 10번째 칸에서부터 "chanbin"을 출력

 

 ◈ 함수명 : Tan

 ◈ 함수명 : Time

 형식 : Tan(number)

 형식 : Time

 설명 : 각도의 탄젠트값을 반환합니다.

 설명 : 현재의 시스템 시간을 반환합니다.

 예제 : Tan(30*pi/180) ☞ 탄젠트 30값을 구합니다.

 예제 : MyTime=Time ☞ 현재 시스템 시간을 반환합니다.

 

 ◈ 함수명 : Timer

 ◈ 함수명 : TimeSerial

 형식 : Timer

 형식 : TimeSerial(hour, minute, second)

 설명 : 자정 이후 경과한 초 수를 반환합니다.

 설명 : 특정 시, 분, 초에 대한 시간을 반환합니다.

 예제 : Finish=Timer ☞ 종료시간을 지정합니다.

 예제 : TimeSerial(15, 30,27) ☞ 오후 3시 30분 27을 표현

 

 ◈ 함수명 : TimeValue

 ◈ 함수명 : TypeName

 형식 : TimeValue(time)

 형식 : TypeName(varname)

 설명 : 시간 값을 포함한 Date값을 반환합니다.

 설명 : 변수에 대한 정보를 제공하는 문자형값을 반환합니다.

 예제 : TimeValue("3:20:32 PM") ☞ 시간을 반환합니다.

 예제 : TypeName(IntVar) ☞ "integer"를 반환합니다.

 

 ◈ 함수명 : Ubound

 ◈ 함수명 : UCase

 형식 : Ubound(arrayname[, dimension])

 형식 : UCase

 설명 : 배열차원을 나타내는 첨자를 반환합니다

 설명 : 지정한 문자열을 대문자로 변환합니다.

 예제 : Dim Myarray(1 To 10)
          Ubound(Myarray) ☞ 10을 반환합니다.

 예제 : k="chanbin"
          UCase(k) ☞ "CHANBIN"을 반환합니다.

 

 ◈ 함수명 : Val

 ◈ 함수명 : VarType

 형식 : Val(string)

 형식 : VarType(varname)

 설명 : 문자열내에 포함된 수치를 숫자값으로 변환합니다.

 설명 : 변수의 하위 형식을 나타내는 값을 수치로 반환합니다.

 예제 : Val("3500") ☞ 3500을 반환합니다.

 예제 : IntVar=235
          VarType(IntVar) ☞ 정수를 나타내는 2를 반환합니다.

 

 ◈ 함수명 : Weekday

 ◈ 함수명 : Year

 형식 : Weekday(date, [firstdayofweek])

 형식 : Year(date)

 설명 : 평일을 나타내는 정수값을 반환합니다.

 설명 : 연도를 나타내는 정수값을 반환합니다.

 예제 : MyDate=#October 26, 2000#
          k=Weekday(Mydate) ☞ Mydate가 목요일을 나타내기
          때문에 5가 k에 반환됩니다.

 예제 : Mydate=#October 26, 2000# ☞ 날짜를 지정합니다.
          k=Year(Mydate) ☞ 2000을 나타냅니다.