1. What constants and types are used in Basic Programming?
Here is the list of program constants and types inbuilt into Visual Basic and VBA:
Colour Constants:
vbBlack = BLACK
vbRed = LIGHT_RED
vbGreen = LIGHT_GREEN
vbYellow = LIGHT_YELLOW
vbBlue = LIGHT_BLUE
vbMagenta = LIGHT_MAGENTA
vbCyan = LIGHT_CYAN
vbWhite = WHITE
Comparison Constants:
vbBinaryCompare = BINARYCOMPARE
vbTextCompare = TEXTCOMPARE
Control Constants and Property Constants:
Alignment property...
vbLeftJustify = 0
vbRightJustify = 1
vbCenter = 2
Borderstyle property...
vbBSNone = 0
vbFixedSingle = 1
vbSizable = 2
vbFixedDialog = 3
vbFixedToolWindow = 4
vbSizableToolWindow = 5
Borderstyle property (shapes and lines)...
vbTransparent = 0
vbBSSolid = 1
vbBSDash = 2
vbBSDot = 3
vbBSDashDot = 4
vbBSDashDotDot = 5
vbBSInsideSolid = 6
Combobox object...
vbComboDropdown = 0
vbComboSimple = 1
vbComboDropdownList = 2
Checkbox object...
vbUnchecked = 0
vbChecked = 1
vbGrayed = 2
Listbox object...
vbListBoxStandard = 0
vbListBoxCheckBox = 1
vbMultiSelectNone = 0
vbMultiSelectSimple = 1
vbMultiSelectExtended = 2
Picture types...
vbPicTypeNone = 0
vbPicTypeBitmap = 1
vbPicTypeMetafile = 2
vbPicTypeIcon = 3
vbPicTypeEMetaFile = 4
Scrollbar object...
vbSBNone = 0
vbHorizontal = 1
vbVertical = 2
vbBoth = 3
Shape object...
vbShapeRectangle = 0
vbShapeSquare = 1
vbShapeOval = 2
vbShapeCircle = 3
vbShapeRoundedRectangle = 4
vbShapeRoundedSquare = 5
Window state property...
vbNormal = 0
vbMinimized = 1
vbMaximized = 2
Date and Time Constants:
vbSunday = 1
vbMonday = 2
vbTuesday = 3
vbWednesday = 4
vbThursday = 5
vbFriday = 6
vbSaturday = 7
Date Format Constants:
vbGeneralDate = 0
vbLongDate = 1
vbShortDate = 2
vbLongTime = 3
vbShortTime = 4
File Constants:
vbNormal = 0
vbReadOnly = 1
vbHidden = 2
vbSystem = 4
vbVolume = 8
vbDirectory = 16
vbArchive = 32
Msgbox Constants:
vbOKOnly = MB_OK (0x0)
vbOKCancel = MB_OKCANCEL (0x1)
vbAbortRetryIgnore = MB_ABORTRETRYIGNORE (0x2)
vbYesNoCancel = MB_YESNOCANCEL (0x3)
vbYesNo = MB_YESNO (0x4)
vbRetryCancel = MB_RETRYCANCEL (0x5)
vbCritical = MB_ICONSTOP (0x10)
vbQuestion = MB_ICONQUESTION (0x20)
vbExclamation = MB_ICONEXCLAMATION (0x30)
vbInformation = MB_ICONINFORMATION (0x40)
vbDefaultButton1 = MB_DEFBUTTON1 (0x0)
vbDefaultButton2 = MB_DEFBUTTON2 (0x100)
vbDefaultButton3 = MB_DEFBUTTON3 (0x200)
vbDefaultButton4 = MB_DEFBUTTON4 (0x300)
vbApplicationModal = MB_APPLMODAL (0x0)
vbSystemModal = MB_SYSTEMMODAL (0x1000)
vbMsgBoxHelpButton = MB_HELP (0x4000)
Msgbox Return Constants:
vbOK = 1 (IDOK)
vbCancel = 2 (IDCANCEL)
vbAbort = 3 (IDABORT)
vbRetry = 4 (IDRETRY)
vbIgnore = 5 (IDIGNORE)
vbYes = 6 (IDYES)
vbNo = 7 (IDNO)
8 (IDCLOSE)
9 (IDHELP)
10 (IDTRYAGAIN)
11 (IDCONTINUE)
Shell Constants:
vbHide = 0 (SW_HIDE)
vbNormalFocus = 1 (SW_SHOWNORMAL)
vbMinimizedFocus = 2 (SW_SHOWMINIMIZED)
vbMaximizedFocus = 3 (SW_SHOWMAXIMIZED)
vbNormalNoFocus = 4 (SW_SHOWNOACTIVATE)
vbMinimizedNoFocus = 6 (SW_MINIMIZE)
Show mode Constants:
vbModeless = 0
vbModal = 1
String Constants:
vbCr = Chr(13)
vbCrLf = Chr(13) & Chr(10)
vbFormFeed = Chr(12)
vbLf = Chr(10)
vbNewLine = vbCrLf
vbNullChar = Chr(0)
vbNullString = C NULL pointer
vbTab = Chr(9)
vbVerticalTab = Chr(11)
vbUpperCase = 1
vbLowerCase = 2
vbProperCase = 3
VarType Constants:
vbEmpty = 0 (empty records and unions)
vbNull = 1
vbInteger = 2
vbLong = 3
vbSingle = 4
vbDouble = 5
vbCurrency = 6
vbDate = 7
vbString = 8
vbObject = 9
vbError = 10
vbBoolean = 11
vbVariant = 12
vbDataObject = 13
vbDecimal = 14
vbByte = 17
vbArray = 8192
Type equivalents:
boolean = true/false (1 byte)
enum = 255 values (1 byte)
integer = signed 4 bytes
long = integer
currency = fixed point (8 bytes)
double = floating point (8 bytes)
single = double
numeric = integer | currency | double
date = string YYYY-MM-DD hh:mm:ss
collection = list
type TError = record
number as integer
source as string (project name)
description as string
helpfile as string
helpcontext as integer
end type
2. What keywords are used?
Here is the list of keywords inbuilt into Visual Basic and VBA:
Empty = 0 (intended for a Variant with nothing in it)
False = 0
Me = refers to current form
Nothing = COM object null reference
Null = Constant for databases
True = -1 (in Basic)
3. What functions are used?
Here is the list of functions inbuilt into Visual Basic. This includes some functions from
VBscript and excludes COM functions (COM functions are implemented separately by importing their
type libraries):
Abs
function Abs(byval number as numeric) as numeric
Array
function Array(byval expr as any,...) as array
Asc
function Asc(byval str as string) as integer
Atn
function Atn(byval number as numeric) as double
CBool
function CBool(byval expr as numeric|string) as boolean
CByte
function CByte(byval expr as numeric) as integer
CCur
function CCur(byval value as numeric) as currency
CDate
function CDate(byval value as numeric|string) as date
CDbl
function CDbl(byval value as numeric) as double
Choose
function Choose(byval index as integer, byval expr as any,...) as any
Chr
function Chr(byval value as integer) as string
CInt
function CInt(byval value as numeric) as integer
CLng
function CLng(byval value as numeric) as long
Command
function Command() as string
Cos
function Cos(byval number as numeric) as double
CSng
function CSng(byval expr as numeric) as single
CStr
function CStr(byval expr as any) as string
Curdir
function Curdir([byval drive as string]) as string
CVerr
function CVerr(byval errno as integer) as TError
Date
function Date() as string|date
DateAdd
function DateAdd(byval intervalType as string, byval intervalAmount as integer, byval oldDate as
date) as date
DateDiff
function DateDiff(byval intervalType as string, byval date1 as date, byval date2 as date) as
integer
DatePart
function DatePart(byval intervalType as string, byval date1 as date) as integer
DateSerial
function DateSerial(byval yyyy as integer, byval mm as integer, byval dd as integer) as date
DateValue
function DateValue(byval datestr as string) as date
Day
function Day(byval expr as string|date) as integer
DDB
function DDB(byval initialCost as double, byval residualValue as double, byval assetLife as
double, byval period as double) as double
Dir
function Dir([byval pattern as string [,byval mode as integer]]) as string
DoEvents
function DoEvents() as integer
Environ
function Environ(byval envvar as string|integer) as string
Eof
function Eof(byval filenumber as integer) as boolean
Error
function Error([byval errornumber as integer]) as string
Escape
function Escape(byval expr as string) as string [VBscript]
Eval
function Eval(byval expr as string) as numeric [VBscript]
Exp
function Exp(byval value as numeric) as double
FileAttr
function FileAttr(byval filenumber as integer [,byval unused as integer]) as integer
FileDateTime
function FileDateTime(byval pathname as string) as date
Filelen
function Filelen(byval filename as string) as integer
Filter
function Filter(byval strings as array, byval strSearch as string [,byval fInclude as boolean
[,byval iCompareMode as integer]]) as array
Fix
function Fix(byval number as numeric) as integer
Format
function Format(byval expr as any [, byval format as string]) as string
FormatCurrency
function FormatCurrency(byval expr as currency [,byval iFractionalDigits as integer [,byval
iLeadingDigit as integer [,byval iUseBrackets as integer [,byval iGroupDigits as integer]]]]) as
string
FormatDateTime
function FormatDateTime(byval datestr as date [,byval iFormat as integer]) as string
FormatNumber
function FormatNumber(byval expr as numeric [,byval iFractionalDigits as integer [,byval
iLeadingDigit as integer [,byval iUseBrackets as integer [,byval iGroupDigits as integer]]]]) as
string
FormatPercent
function FormatPercent(byval expr as numeric [, byval iFractionalDigits as integer [,
byval iLeadingDigit as integer [, byval iUseBrackets as integer [, byval iGroupDigits as
integer]]]]) as string
Freefile
function Freefile([byval range as integer]) as integer
FV
function FV(byval interestRatePerPeriod as double, byval totalPayments as integer, byval
eachPayment as double [,byval presentValue as double [,byval iPayAtPeriodStart as integer]]) as
double
GetAllSettings
function GetAllSettings(byval applicationName as string, byval sectionName as string) as
array
GetAttr
function GetAttr(byval filename as string) as integer
GetSetting
function GetSetting(byval applicationName as string, byval sectionName as string, byval keyName
as string [,byval defaultValue as string]) as string
Hex
function Hex(byval number as numeric) as string
Hour
function Hour(byval expr as numeric|string|date) as integer
IIf
function IIf(byval expr as boolean, byval valueIfTrue as any, byval valueIfValse as any) as
any
Input
function Input(byval numberChars as integer, byval filenumber as integer) as string
InputBox
function InputBox(byval prompt as string [,byval title as string] [,byval default as string]
[,byval xpos as integer, byval ypos as integer] [,byval helpfile as string, byval helpcontext as
integer]) as string
Instr
function Instr([byval start as integer,] byval str as string, byval substr as string [,byval
iCompareMode as integer]) as integer
Instrrev
function Instrrev([byval start as integer,] byval str as string, byval substr as string [,byval
iCompareMode as integer]) as integer
Instrrev
function Instrrev(byval str as string, byval substr as string [,byval start as integer [,byval
iCompareMode as integer]]) as integer
Int
function Int(byval number as numeric) as integer
IPmt
function IPmt(byval interestRatePerPeriod as double, byval paymentPeriod as double, byval
totalPayments as integer, byval presentValue as double [,byval finalValue as double [,byval
iPayAtPeriodStart as integer]]) as double
IRR
function IRR(byval arrCashFlow as array [,byval estimate as double) as double
IsArray
function IsArray(byval expr as any) as boolean
IsDate
function IsDate(byval expr as date|string) as boolean
IsEmpty
function IsEmpty(byval expr as any) as boolean
IsError
function IsError(byval expr as integer) as boolean
IsMissing
function IsMissing(byval expr as any) as boolean
IsNull
function IsNull(byval expr as any) as boolean
IsNumeric
function IsNumeric(byval expr as string) as boolean
Join
function Join(byval arrStrings as array [,byval strSeparator as string]) as string
Lbound
function Lbound(byval expr as array [,byval dimension as integer]) as integer
Lcase
function Lcase(byval str as string) as string
Left
function Left(byval str as string, byval count as integer) as string
Len
function Len(byval str as string|any) as integer
Like
function Like(byval test as string, byval pattern as string [,byval iCompareMode as integer]) as
boolean
LoadPicture
function LoadPicture([byval picturefile as string]) as picture|control
Loc
function Loc(byval filenumber as integer) as integer
Lof
function Lof(byval filenumber as integer) as integer
Log
function Log(byval number as numeric) as double
Ltrim
function Ltrim(byval str as string) as string
Mid
function Mid(byval str as string, byval start as integer [,byval count as integer]) as
string
Minute
function Minute(byval expr as string|date) as integer
MIRR
function MIRR(byval arrCashFlow as array, byval borrowingRate as double, byval lendingRate as
double) as double
Month
function Month(byval expr as string|date) as integer
MonthName
function MonthName(byval expr as integer [,byval fAbbreviate as boolean]) as string
Msgbox
function Msgbox(byval prompt as string [,byval buttons as integer] [,byval title as string]
[,byval helpfile as string, byval helpcontext as integer]) as integer
Now
function Now() as date
Nper
function Nper(byval interestRatePerPeriod as double, byval eachPayment as double, byval
presentValue as double [,byval futureValue as double [,byval iPayAtPeriodStart as integer]]) as
double
NPV
function NPV(byval discountRate as double, byval arrCashFlow as array) as double
Oct
function Oct(byval number as numeric) as string
Partition
function Partition(byval value as integer, byval startNumber as integer, byval endNumber as
integer, byval interval as integer) as string
Pmt
function Pmt(byval interestRatePerPeriod as double, byval totalPayments as integer, byval
startValue as double [,byval endValue as double [,byval iPayAtPeriodStart as integer]]) as
double
PPmt
function PPmt(byval interestRatePerPeriod as double, byval iDesiredPeriod as integer, byval
totalPayments as integer, byval startValue as double [,byval endValue as double [,byval
iPayAtPeriodStart as integer]]) as double
PV
function PV(byval interestRatePerPeriod as double, byval totalPayments as integer, byval
eachPayment as double [,byval endValue as double [,byval iPayAtPeriodStart as integer]]) as
double
QBColor
function QBColor(byval index as integer) as integer
Rate
function Rate(byval totalPayments as integer, byval eachPayment as double, byval startValue as
double [,byval endValue as double [,byval iPayAtPeriodStart as integer [,byval initialEstimate as
double]]]) as double
Replace
function Replace(byval str as string, byval old as string, byval new as string [,byval start as
integer [,byval count as integer [,byval iCompareMode as integer]]]) as string
RGB
function RGB(byval red as integer, byval green as integer, byval blue as integer) as integer
Right
function Right(byval str as string, byval count as integer) as string
Rnd
function Rnd() as double
Round
function Round(byval number as numeric [,byval iFractionalPlaces as integer]) as integer
Rtrim
function Rtrim(byval str as string) as string
Second
function Second(byval expr as string|date) as integer
Seek
function Seek(byval filenumber as integer) as integer
Sgn
function Sgn(byval number as numeric) as integer
Shell
function Shell(byval filename as string [,byval args as string] [,byval showmode as integer]) as
integer
Sin
function Sin(byval number as numeric) as double
SLN
function SLN(byval startValue as double, byval endValue as double, byval lifetime as double) as
double
Space
function Space(byval length as integer) as string
Split
function Split(byval expr as string [,byval strSeparator as string [,byval count as integer
[,byval iCompareMode as integer]]]) as array
Sqr
function Sqr(byval number as numeric) as double
Str
function Str(byval expr as numeric) as string
Strcomp
function Strcomp(byval string1 as string, byval string2 as string [,byval iCompareMode as
integer]) as integer
Strconv
function Strconv(byval string1 as string, byval conversion as integer) as string
String
function String(byval count as integer, byval charCode as integer|string) as string
StrReverse
function StrReverse(byval str as string) as string
Switch
function Switch(byval boolexp1 as boolean, byval result1 as any, ...) as any
SYD
function SYD(byval startValue as double, byval endValue as double, byval lifetime as double,
byval period as double) as double
Tan
function Tan(byval angle as numeric) as double
Time
function Time() as string|date
Timer
function Timer() as numeric
TimeSerial
function TimeSerial(byval hour as integer, byval minute as integer, byval second as integer) as
string|date
TimeValue
function TimeValue(byval timestr as string) as date
Trim
function Trim(byval str as string) as string
TypeName
function TypeName(byval expr as any) as string
Ubound
function Ubound(byval expr as array [,byval dimension as integer]) as integer
Ucase
function Ucase(byval str as string) as string
Unescape
function Unescape(byval expr as string) as string [VBscript]
Val
function Val(byval string1 as string) as numeric
VarType
function VarType(byval expr as any) as integer
Weekday
function Weekday(byval expr as string|date) as integer
WeekdayName
function WeekdayName(byval expr as integer [,byval fAbbreviate as boolean]) as string
Year
function Year(byval expr as string|date) as integer
4. What statements are used?
Here is the list of statements inbuilt into Visual Basic, including some functions from
VBscript. All Basic statements that correspond to calls to library code or to other executable code
have been made into subs, whereas Basic statements corresponding to control structures are kept as
such:
AppActivate
sub AppActivate(byval title as string [,byval waitmode as integer])
Beep
sub Beep()
Call
Call name(arguments)
Chdir
sub Chdir(byval newdir as string)
ChDrive
Sub ChDrive(byval newdrive as string)
Class
Class name
statements
End Class
Close
Sub Close(byval filenumber as integer,...)
Const
[public|private] Const name [as type] = expression
Date
Date = string|date
Declare
[public|private] Declare Sub id Lib strDllName [Alias strEntryPointName] (
[ arguments ] )
[public|private] Declare Function id Lib strDllName [Alias
strEntryPointName] ( [ arguments ] ) as type
DeleteSetting
sub DeleteSetting(byval ApplicationName as string, byval SectionName as string [,byval key as
string])
Dim
(Dim|Public|Private) name [as type]
(Dim|Public|Private) name ( [int to] int[, [int to] int]* )
[as type]
Do
Do (while|until) expression
statements
[exit do
statements]
Loop
Do
statements
[exit do
statements]
Loop (while|until) expression
End
sub End()
Enum
[public|private] enum enumName
[
id = expr
]+
end enum
Erase
sub Erase(byref arrayvar as array)
Error
sub Error(byval errornumber as integer)
Filecopy
sub Filecopy(byval sourcefile as string, byval destfile as string)
For Each
For Each name in ( arrayvar | collectionvar )
statements
[exit for
statements]
Next [ name ]
For
For id = startexp to endexp [ step expr ]
statements
[exit for
statements]
Next [id]
Function
[public|friend|private] Function name ( arguments ) [as type]
[
statements
name = expression
exit function
]*
end function
Get
sub Get(byval filenumber as integer [,byval recordnumber as integer] ,byref dest as any)
If
if expr then
statements
[ elseif expr then
statements ]
[ else
statements ]
end if
Input
sub Input(byval filenumber as integer, byref id as any,...)
Kill
sub Kill(byval filepattern as string)
Let
[Let] id = expression
LineInput
sub LineInput(byval filenumber as integer, byref expr as string)
Load
sub Load(byval obj as form)
Lset
Lset strId = strExp
Lset id = id
Mid
sub Mid(byref strVar as string, byval start as integer [,byval count as integer], byval strNew
as string)
Mkdir
sub Mkdir(byval dir as string)
Name
sub Name(byval oldfile as string, byval newfile as string)
On error
On error goto 0
On error goto label
On error resume next
Open
sub Open(byval filename as string, byval mode as enum, byval access as enum, byref filenum as
integer [,byval recordLength as integer])
Option
Option Base (0|1)
Option Compare (Binary|Text)
Option Explicit
Print
sub Print(byval filenumber as integer [,expr as any]*)
Property Get
[public|friend|private] Property Get name ( arguments ) [as type]
[
statements
name = expression
exit property
]*
end property
Property Let
[public|friend|private] Property (Let|Set) name ( arguments )
[
statements
exit property
]*
end property
Put
sub Put(byval filenumber as integer [,byval recordNumber as integer], byval expr as any)
Randomize
Randomize
Redim
Redim [preserve] arrayvar ( arguments )
Rem
Rem
Reset
Reset
Resume
Resume [0 | next]
Rmdir
sub Rmdir(byval dirname as string)
Rset
Rset strId = strExp
SavePicture
sub SavePicture(byval picture as Control, byval bmpfile as string)
SaveSetting
sub SaveSetting(byval ApplicationName as string, byval SectionName as string, byval key as
string, byval value as string)
Seek
sub Seek(byval filenumber as integer, byval filepos as integer)
Select Case
Select Case expression
[
case caselabel [,caselabel]*
statements
]*
[
case else
statements
]
End Select
caselabel = expr | expr to expr | is relationalOperator
expr
Sendkeys
sub Sendkeys(byval strKeys as string [, byval fWait as boolean])
SetAttr
sub SetAttr(byval filename as string, byval attributes as integer)
Stop
Stop
Sub
[public|friend|private] Sub name ( arguments )
[
statements
exit sub
]*
end sub
Time
Time = strExp | dateExp
Type
[public|private] Type id
[
id [(subscripts)] as type
]+
end type
Unload
sub Unload(byval obj as Form)
While
While expression
statements
wend
With
With id
statements
End With
Write
sub Write(byval filenumber as integer [,byval expr as any]*)
|