āđāļĢāļĩāļĒāļāđāļĢāļĩāļĒāļāļāļĢāļąāđāļāļāļĩāđ 1, āļ§āļąāļāļāļĩāđ 15 āļāļąāļāļ§āļēāļāļĄ 2545
widebase.net: VBA ReferencesVBA References
VBA References āđāļāļāļāļēāļĢāļĢāļ§āļāļĢāļ§āļĄāļāđ āļēāļāđ āļēāļāļąāļāļāļ§āļēāļĄ āļ§āļīāļāļĩāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļ āđāļĨāļ°āļāđ āļēāđāļāļ°āļāđ āļē āļāļāļ VBA Function āđāļĨāļ° VBA Statement āļŠāđ āļēāļŦāļĢāļąāļāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļāļāļāļąāļ āđāļĨāļ°āļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ āđāļ VBA (Visual Basic for Application) āđāļāļĒāđāļāļŠāļ§āļ āļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļāđāļāļāļāļēāļĢāļĢāļ§āļāļĢāļ§āļĄāđāļāļāļēāļ° āļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļāļāļĩāđāđāļĄāđāļāļĩāđāļĒāļ§āļāļāļāļāļąāļ āļāļēāļĢāļāļĢāļ°āļāļēāļĻ (Declaration), āđāļāļĢāļāļŠāļĢāļēāļāļāļēāļĢāļāļ§āļāļāļļāļĄ (āđāļāļ If âĶ Then), āļāļļāļāļŠāļĄāļāļąāļāļī, āđāļĄāļāļāļ āđāļĨāļ° event āļĢāļ§āļĄāļāļķāļāļāļēāļĢāļāļ§āļāļāļļāļĄāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļ
widebase.net âVBA References
2
Abs FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĨāļĨāļąāļāļāļāļāļāļāļēāļŠāļąāļĄāļāļđāļĢāļāļāļĩāđāļāļēāđāļĨāļ°āļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāđāļŦāļĄāļ·āļāļāđāļāļīāļĄ
āđāļ§āļĒāļēāļāļĢāļAbs(number)āļāļēāļāļīāļ§āđāļĄāļāļ number āđāļāļāļāļēāļāļĩāđāļĄāļĩāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāļāļąāļ§āđāļĨāļ āļŦāļĢāļ·āļ Expression āļāļĩāđāđāļŦāļāļēāļāļąāļāļāļĨāļēāļ§ āļāļēāļāļēāļāļĩāđāļŠāļāđāļāļē
āđāļāļāļāļē Null (āļāļēāļ§āļēāļ) āļāļ°āđāļāļāļĨāļĨāļąāļāļāđāļāļāļāļēāļ§āļēāļ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļēāļŠāļąāļĄāļāļđāļĢāļāđāļāļāļāļēāļāļĩāđāđāļĄāļĄāļĩāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāđ āļēāļŦāļāļē āđāļāļ Abs(1) āđāļĨāļ° Abs(-1) āļāļ°āđāļāļāļĨāļĨāļąāļāļāđāļāļ 1
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Sgn
āļāļąāļ§āļāļĒāļēāļDim myNumberDim A as doubleA = 37.5myNumber = Abs(A) ' āļāļĨāļĨāļąāļāļ āļāļ·āļ 37.5myNumber = Abs(-A) ' āļāļĨāļĨāļąāļāļ āļāļ·āļ 37.5
APPActivate Statementāļāđ āļēāļāļēāļĢ activate āļŠāļ§āļ window āļāļāļāđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļ
āđāļ§āļĒāļēāļāļĢāļAppActivate title [, wait]āđāļ§āļĒāļēāļāļĢāļ AppActivate āļĄāļĩāļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāļāļāļāļŠāļ§āļāļāļąāļāļāļĩāđ
āļŠāļ§āļ āļāđ āļēāļāļāļīāļāļēāļĒtitle āļāļąāļāļāļąāļ, āđāļāļ string expression āļāļĩāđāļĢāļ°āļāļļāđāļāđāļāļīāļĨāđāļāđāļāļāđāļāđāļāļīāļĨāļāļāļ window āđāļāļĢāđāļāļĢāļĄ
āļāļĢāļ°āļĒāļļāļāļ āļāļĩāđāļāļāļāļāļēāļĢ activate āļāļē task ID āļāļĩāđāļŠāļāļāļāļāļāļēāļāļāļāļāļāļąāļ Shell āļŠāļēāļĄāļēāļĢāļāđāļāđāļāļāļāļĩāđ title āđāļāļāļēāļĢ activate āđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļ
wait āđāļĄāļāļąāļāļāļąāļ, āļāļē Boolean āļĢāļ°āļāļļāļāļēāļĢāđāļĢāļĩāļĒāļāđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļāļāļāļāđāļāļāļąāļŠāļāļāļ activateāđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļāļāļ·āđāļ āļāļēāđāļāļ False (āļāļēāđāļĢāļīāđāļĄāļāļ) āđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļāļāļĩāđāļĢāļ°āļāļļāđāļāļĢāļąāļāļāļēāļĢactivate āļāļąāļāļāļĩ āļāļķāļāđāļĄāļ§āļēāđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļāļāļĩāđāđāļĢāļĩāļĒāļāļāļ°āđāļĄāđāļāļĢāļąāļāđāļāļāļąāļŠ āļāļēāđāļāļ True āļāļēāļĢāđāļĢāļĩāļĒāļāđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļ āļĢāļāļāļāļāļĢāļ°āļāļąāđāļāđāļāļĢāļąāļāđāļāļāļąāļŠ āļāļķāļāļāļ°āđāļ āļĢāļąāļāļāļēāļĢ activate
widebase.net âVBA References
3
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļAppActivate āđāļāļĨāđāļĩāļĒāļāđāļāļāļąāļŠāđāļāļāļĩāđāļāļ·āđāļāđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļāļŦāļĢāļ·āļ window āđāļāđāļĄāļĄāļĩāļāļĨāļāļĢāļ°āļāļāļāļąāļ window āļāļąāđāļāļāļĢāļāļĩāđāļāđāļĄāļāļāļ āļēāļāļŦāļĢāļ·āļāļĨāļāļāļāļēāļ āļāļēāļĢāđāļāļāļąāļŠāļĒāļēāļĒāļāļēāļ window āđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļāļāļĩāđāđāļāļĢāļąāļ activate āđāļĄāļ·āđāļāļāļđāđāļāļāļĢāļ°āļāđ āļēāļāļēāļĢāđāļāļĨāđāļĩāļĒāļāđāļāļāļąāļŠ āļŦāļĢāļ·āļāļāļ window āļāļēāļĢāđāļāļāļāļāļāļąāļ Shell āđāļāļ·āđāļāđāļĢāļīāđāļĄāļāļāđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļ āđāļĨāļ°āļāļąāđāļāļāļēāļĢāļđāļāđāļāļ windowāļāļēāļĢāļŦāļēāđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļāļāļĩāđāļāļ° activate āđāļāļāļāļēāļĢāđāļ title āđāļāļāļēāļĢāđāļāļĢāļĩāļĒāļāđāļāļĩāļĒāļāļāļ·āđāļāđāļāđāļāļīāļĨ āļāļāļāđāļāļĨāļ°āđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļ āļāļēāđāļĄāļāļ āđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļāļāļĩāđāļāļāļāļ§āļēāļĄāđāļāđāļāļīāļĨāđāļĢāļīāđāļĄāļāļāļāļ§āļĒ title āļāļ°āđāļāļĢāļąāļāļāļēāļĢ activate āļāļēāļĄāļĩāļŦāļĨāļēāļĒ instance āļāļāļāđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļāļĄāļĩāļāļ·āđāļāđāļāđāļāļīāļĨāļāļĢāļāļāļąāļ title āļāļ°āđāļĨāļ·āļāļāļŦāļāļķāđāļ instance
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄSendKeys Statement, āļāļāļāļāļąāļ Shell
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ AppActivate āļŠāļ§āļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Shell āđāļāļāļąāļāđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļāļāļĩāđāļāļĒāļđāđāļāļāļēāļĢāļāļāļĩāđāļĢāļ°āļāļļ
Dim MyAppID, ReturnValue' āđāļ Microsoft WindowsAppActivate "Microsoft Word" ' Activate Microsoft Word' AppActivate āļŠāļēāļĄāļēāļĢāļāđāļāļŠāļāļāļāļāļāļēāļāļāļāļāļāļāļāļąāļ ShellMyAppID = Shell("C:\Word\WinWord.exe", 1) ' āļŠāļāļāļāļ Microsoft WordAppActivate MyAppID ' Activate Microsoft WordReturnValue = Shell("C:\Excel\Excel.exe", 1) ' āļŠāļāļāļāļ Microsoft ExcelAppActivate ReturnValue ' Activate Microsoft Excel
Array FunctionāļŠāļāļāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant āļāļĩāđāđāļāđāļāļāļē array
āđāļ§āļĒāļēāļāļĢāļArray(arglist)arglist āđāļāļāļāļēāļāļīāļ§āđāļĄāļāļāļāļąāļāļāļąāļāļāļĩāđāđāļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļļāļĨāļ āļēāļ (,) āđāļāļāđāļāļĨāļ°āļāļēāļāļēāļāļīāļ§āđāļĄāļāļāļāļķāđāļāļāđ āļēāļŦāļāļāđāļŦāļāļąāļ
element array āļāļĩāđāđāļāļĢāļąāļāļāļēāļĢāđāļāđāļāļ āļēāļĒāđāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant āļāļēāđāļĄāļĄāļĩāļāļēāļĢāļĢāļ°āļāļļāļāļēāļāļīāļ§āđāļĄāļāļ āļāļ°āđāļāļāļāļēāļĢāļŠāļĢāļēāļ array āđāļāļ zero-length
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļēāļĢāļāļēāļāļāļīāļ element āļāļāļ array āļāļĢāļ°āļāļāļāļāļ§āļĒāļāļ·āđāļāļāļąāļ§āđāļāļĢāļāļēāļĄāļāļ§āļĒāļ§āļāđāļĨāđāļāļāļĩāđāđāļāđāļāļāļēāļŦāļĄāļēāļĒāđāļĨāļāļāļąāļāļāļĩ āļŠāđ āļēāļŦāļĢāļąāļāļĢāļ°āļāļļāļāļķāļelement āļāļĩāđāļāļāļāļāļēāļĢ āļāļēāļĄāļāļąāļ§āļāļĒāļēāļ āļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļāđāļĢāļ āļŠāļĢāļēāļāļāļąāļ§āđāļāļĢāļāļ·āđāļ A āđāļāļ Variant āļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļāļāļĩāđ 2 āļāđ āļēāļŦāļāļ array āđāļŦāļāļąāļ§āđāļāļĢ A āļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļāļŠāļļāļāļāļēāļĒāļāđ āļēāļŦāļāļāļāļēāļāļĩāđāđāļāđāļāđāļ element āļāļĩāđ 2 āđāļāļāļĩāđāļāļąāļ§āđāļāļĢ
Dim A As VariantA = Array(10,20,30)B = A(2)
widebase.net âVBA References
4
āļāļāļāđāļāļāļāļēāļāļĨāļēāļāļāļāļ array āļāļĩāđāļŠāļĢāļēāļāļāļ§āļĒāļāļāļāļāļąāļ Array āđāļāļāļĻāļđāļāļĒāđāļŠāļĄāļ āđāļĨāļ°āđāļāļāļāļēāļāļāļēāļ array āļāļĢāļ°āđāļ āļāļāļ·āđāļāđ āđāļāļ·āđāļāļāļāļēāļāđāļĄāļĄāļĩāļāļĨāļāļĢāļ°āļāļāļāļēāļāļāļāļāđāļāļāļāļēāļāļĨāļēāļāļāļĩāđāļĢāļ°āļāļļāļāļ§āļĒāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Option BaseāļŦāļĄāļēāļĒāđāļŦāļāļļāļāļąāļ§āđāļāļĢ Variant āļāļĩāđāđāļĄāļĄāļĩāļāļēāļĢāļāļĢāļ°āļāļēāļĻāđāļāļ array āļŠāļēāļĄāļēāļĢāļāđāļāđāļ array āđāļ āļāļąāļ§āđāļāļĢāļāļĢāļ°āđāļ āļ Variant āļŠāļēāļĄāļēāļĢāļāđāļāđāļarray āļāļĢāļ°āđāļ āļāļāļēāļāđ āļĒāļāđāļ§āļ fixed-length string āđāļĨāļ° user-defined type āļāļķāļāđāļĄāļ§āļēāļāļąāļ§āđāļāļĢ Variant āđāļāđāļ array āļĄāļĩāđāļāļ§āļāļīāļāļāļēāļāļāļēāļ array āļāļĩāđ element āļĄāļĩāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant āđāļ element āļāļāļ array āđāļāļĢāļąāļāļāļēāļĢāđāļāļēāļāļķāļāļāļ§āļĒāļ§āļīāļāļĩāđāļāļĩāļĒāļ§āļāļąāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄDeftype Statement, Dim Statement, Let Statement, Option Base Statement, āļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ Array āļŠāļāļāļāļāļāļąāļ§āđāļāļĢ Variant āđāļāđāļ array
Dim MyWeek, MyDayMyWeek = Array("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun")' āļŠāļĄāļĄāļāļŠāļīāļāļāļāļāļāļēāļāļāļāđāļāļāļĨāļēāļāđāļāļ 1 āļāļ§āļĒāļāļēāļĢāđāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Option BaseMyDay = MyWeek(2) ' MyDay āđāļāđāļāļāļē "Tue"MyDay = MyWeek(4) ' MyDay āđāļāđāļāļāļē "Thu"
āļāļąāļ§āļāļĒāļēāļāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļ Excelāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļīāđāļĄāļāļēāđāļāļāļ§āļ A1:C5 āļāļ Sheet1, Sheet3 āđāļĨāļ° Sheet5 āļāļ§āļĒāļāļāļĄāļđāļĨāļāļāļāļāļ§āļāđāļāļĩāļĒāļ§āļāļąāļāļāļ Sheet1
x = Array("Sheet1", "Sheet3", "Sheet5")Sheet(x).FillAcrossSheets Worksheets("Sheet1").Range("A1:C5")
āļāļąāļ§āļāļĒāļēāļāļāļēāļĢāļŦāļēāļāļĨāļĢāļ§āļĄāļāļēāļ Sheet2 āđāļĨāļ° Sheet3 āđāļāļāļĩāđ Sheet1 āļāļ§āļĒāļāļāļāļāļąāļ SUMWorksheets("Sheet1").Range("A1").Consolidate _
sources := Array("Sheet2!R1C1:R37C6", "Sheet3!R1C1:R37C6"), _Function :=xlSum
āļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļīāđāļĄ array āļāļāļ String āļāļēāļĄāļĢāļēāļĒāļāļēāļĢāļāļĩāđāđāļāļēāļ°āļāļApplication.AddCustomList Array("Computer", "Monitor", "RAM", "CD ROM", "Modem")
Asc FunctionāļŠāļāļāļāļāļāļēāđāļāļāđāļĨāļāļāđ āļēāļāļ§āļāđāļāđāļĄ (Integer) āļāļĩāđāđāļāđāļŠāļāļāļāļēāļĢāļŦāļąāļŠāļāļąāļ§āļāļąāļāļĐāļĢāļāļķāđāļāļāļĢāļāļāļąāļāļāļąāļāļĐāļĢāļāļąāļ§āđāļĢāļāļāļāļāļāļāļāļ§āļēāļĄ
āđāļ§āļĒāļēāļāļĢāļAsc(string)string āđāļāļāļāļēāļāļīāļ§āđāļĄāļāļāļāļąāļāļāļąāļ āļāļķāđāļāđāļāļ string expression āļāļĩāđāļĄāļĩāļāļĒāļđāļāļĢāļīāļ āļāļē strng āđāļĄāļĄāļĩāļāļąāļ§āļāļąāļāļĐāļĢāļāļ°āđāļāļīāļ
āļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļ runt-ime
widebase.net âVBA References
5
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļēāļāļĩāđāļŠāļāļāļāļāļāļĒāļđāđāļāļāļ§āļ 0 āļāļķāļ 255 āļŠāđ āļēāļŦāļĢāļąāļāļĢāļ°āļāļ non-DBCS, āđāļāđāļāļ â32768 āļāļķāļ 32767 āļŠāđ āļēāļŦāļĢāļąāļāļĢāļ°āļāļ DBCSāļŦāļĄāļēāļĒāđāļŦāļāļļ
âĒ āļāļāļāļāļąāļ AscB āđāļāļŠāļāļāļēāđāļāļāđāļĢāļāļāļāļāļāļāļāļ§āļēāļĄ āđāļāļāļāļĩāđāļāļēāļĢāļŠāļāļāļ·āļāļĢāļŦāļąāļŠāļāļāļāļāļąāļ§āļāļąāļāļĐāļĢāļāļąāļ§āđāļĢāļâĒ āļāļāļāļāļąāļ AscW āđāļāļŠāļāļāļēāđāļāļāļĢāļŦāļąāļŠ Unicode āļāļē Platform āđāļĄāļŠāļāļąāļāļŠāļāļļāļāļĢāļŦāļąāļŠ Unicode āļāļ°āđāļŠāļāļāļāļēāđāļāļ
āđāļāļĩāļĒāļ§āļāļąāļāļāļāļāļāļąāļ Asc
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Chr āļāļąāļ§āļāļĒāļēāļāļāļāļāļāļąāļ Asc āđāļāļĨāđāļĩāļĒāļāļāļąāļ§āļāļąāļāļĐāļĢāđāļāļāļĢāļŦāļąāļŠāļāļąāļ§āļāļąāļāļĐāļĢDim myAscmyAsc = Asc("A") ' āļŠāļāļāļāļāļāļē 65myAsc = Asc("a") ' āļŠāļāļāļāļāļāļē 97myAsc = Asc("Apple") ' āļŠāļāļāļāļāļāļē 65
Atn FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĨāļĨāļąāļāļāļāļāļ Arctangent āđāļāļāļĢāļĩāđāļāļāļĄāļīāļāļī āđāļāļĒāļāļĨāļĨāļąāļāļāļĄāļĩāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double
āđāļ§āļĒāļēāļāļĢāļAtn(number)āļāļēāļāļīāļ§āđāļĄāļāļ number āđāļāļāļāļēāļāļĩāđāļĄāļĩāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāļāļąāļ§āđāļĨāļ āļŦāļĢāļ·āļ Expression āļāļĩāđāđāļŦāļāļēāļāļąāļāļāļĨāļēāļ§
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļāļāļāļąāļ Atn āđāļāļāļāļēāļāļīāļāđāļ§āļīāļĢāļŠ āļāļāļ tan (1 / tan) āđāļĨāļ°āļĄāļĩāļāļĨāļĨāļąāļāļāđāļāļāļāļēāļĄāļļāļĄāđāļĢāđāļāļĩāļĒāļāļāļ§āļāļāļāļāļāļĨāļĨāļąāļāļāļāļĒāļđāļĢāļ°āļŦāļ§āļēāļ - Ï/2 āļāļķāļ Ï/2āļāļēāļĢāđāļāļĨāļāļāļēāļāļāļĻāļēāđāļŦāđāļāļāđāļĢāđāļāļĩāļĒāļ āļāļāļĻāļē āļāļđāļ Ï/180āļāļēāļĢāđāļāļĨāļāđāļĢāđāļāļĩāļĒāļāđāļŦāđāļāļāļāļāļĻāļē āđāļĢāđāļāļĩāļĒāļ āļāļđāļ 180/Ï
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Cos, āļāļāļāļāļąāļ Sin, āļāļāļāļāļąāļ Tan
āļāļąāļ§āļāļĒāļēāļDim myAtanmyAtan = 4 * Atn(1)
widebase.net âVBA References
6
Beep StatementāđāļŦāđāļŠāļĩāļĒāļāļāļēāļāļĨāđ āļēāđāļāļāļāļāļāđāļāļĢāļ·āđāļāļāļāļāļĄāļāļīāļ§āđāļāļāļĢ
āđāļ§āļĒāļēāļāļĢāļBeep
āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļ§āļēāļĄāļāļĩāđ āđāļĨāļ° duration āļāļāļ beep āļāļķāđāļāļāļąāļ āļŪāļēāļĢāļāđāļ§āļĢ, āļĢāļ°āļāļāļāļāļāļāđāļ§āļĢ āđāļĨāļ°āļŠāļ§āļāļāļĢāļ°āļāļāļāļāļēāļ āđ āļāļāļāđāļāļĢāļ·āđāļāļāļāļāļĄāļāļīāļ§āđāļāļāļĢ
āļāļąāļ§āļāļĒāļēāļDim iFor i = 1 To 3
BeepNext i
Call StatementāļĒāļēāļĒāļāļąāļ§ control āđāļāļāļĩāđ Sub procedure, Function procedure āļŦāļĢāļ·āļ Dynamic - link library (DLL) procedure
āđāļ§āļĒāļēāļāļĢāļ[Call] name [argumentlist]āđāļ§āļĒāļēāļāļĢāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Call āļĄāļĩāļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāļāļāļāļŠāļ§āļ āļāļąāļāļāļĩāđ
āļŠāļ§āļ āļāđ āļēāļāļāļīāļāļēāļĒCall āđāļĄāļāļąāļāļāļąāļ, āļāļĩāļĒāđāļ§āļīāļĢāļ āļāļēāļĢāļ°āļāļļ argumentlist āļāļāļāļāļĒāļđāđāļāļ§āļāđāļĨāđāļ āđāļāļ Call Myproc(0)name āļāļąāļāļāļąāļ, āļāļ·āđāļ Procedure āļāļĩāđāđāļĢāļĩāļĒāļargumentlist āđāļĄāļāļąāļāļāļąāļ, āđāļāļāļļāļĨāļ āļēāļ (,) āđāļāļāļāļąāļ§āđāļāļĢ, array āļŦāļĢāļ·āļ expression āđāļāļ·āđāļāļŠāļāđāļāļĒāļąāļ procedure
āļŠāļ§āļāļāļĢāļ°āļāļāļāļāļāļ argumentlist āļāļēāļāļāļ°āļĢāļ§āļĄāļāļķāļāļāļĩāļĒāđāļ§āļīāļĢāļ ByVal āļŦāļĢāļ·āļ ByRef āđāļāļ·āđāļāļāļāļīāļāļēāļĒāļĨāļąāļāļĐāļāļ°āļāļēāļĢāļŠāļāļāļēāļāļīāļ§āđāļĄāļāļāļāļēāļ procedure āļāļĩāđāđāļĢāļĩāļĒāļāļāļēāļĢāđāļ ByVal āđāļĨāļ° ByRefāļŠāļēāļĄāļēāļĢāļāđāļāļāļąāļ Call āđāļāđāļāļāļēāļ°āđāļĄāļ·āđāļāđāļĢāļĩāļĒāļ DLL procedure
āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļēāļĄāļāļāļāļīāđāļĄāļāđ āļēāđāļāļāđāļāļāļĩāļĒāđāļ§āļīāļĢāļ Call āđāļĄāļ·āđāļāđāļĢāļĩāļĒāļ procedure āļāļēāđāļāļāļĩāļĒāđāļ§āļīāļĢāļ Call āđāļāļ·āđāļāđāļĢāļĩāļĒāļ procedure āļāļĩāđāļāļāļāļāļēāļĢ āļāļēāļĢāļāđ āļēāļŦāļāļāļāļēāļāļīāļ§āđāļĄāļāļ argumentlist āļāļāļāļāļĒāļđāđāļāļ§āļāđāļĨāđāļ āļāļēāļĨāļ°āļāļĩāļĒāđāļ§āļīāļĢāļ Call āļāļāļāđāļĄāđāļāļ§āļāđāļĨāđāļāļāļąāļ argumentlistāļāļēāđāļāđāļ§āļĒāļēāļāļĢāļ Call āđāļāļāļēāļĢāđāļĢāļĩāļĒāļāļāļāļāļāļąāļ āļāļēāļāļĩāđāļŠāļāļāļāļāļāļāļāļāļāļāļāļąāļāļāļ°āļāļđāļāļĨāļāļāļīāđāļāļāļēāļĢāļŠāļāļāļēāļ array āđāļāļāļĩāđ procedure āđāļāļāļ·āđāļ array āļāļēāļĄāļāļ§āļĒāļ§āļāđāļĨāđāļāļ§āļēāļ
widebase.net âVBA References
7
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄDeclare Statement, Function Statement, Sub Statement
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļŠāļāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Call āļāļĩāđāđāļāļŠāļāļāļēāļāļāļąāļ§ control āđāļāļāļĩāđ Sub procedure, Function procedure āđāļĨāļ° DLL procedure
' Call sub procedureCall PrintToDebugWindow("Hello World")' āļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļāļāļēāļāļāļāļāđ āļēāđāļŦāļāļąāļ§ control āđāļāļĢāļāļąāļāļēāļĢāļŠāļāđāļāļāļĩāđ sub procedure āļāļāđāļāļāļĩāđSub PrintToDebugWindow(AnyString)
Debug.Print AnyString ' āļāļĄāļīāļāļāļāļ Debug windowEnd Sub' Call built-in function āļāļēāļŠāļāļāļāļāļāļāļāļāļāļāļāļąāļāļāļđāļāļĨāļCall Shell(AppName, 1) ' AppName āđāļāļāđāļāļēāļĢāļāđāļāļĨ execute
' Call Microsoft Word DLL procedure āļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Declare āļāļāļāđāļāļ' private āđāļ class module āđāļāđāļĄāđāļāđāļ āđāļĄāļāļđāļĨāļĄāļēāļāļĢāļāļēāļPrivate Declare Sub MessageBeep Lib "User" (ByVal N As Integer)Sub CallMyDLL()
Call MessageBeep(0) ' Call windows dll procedure MessageBeep 0 ' Call āđāļāļĒāđāļĄāđāļāļāļĩāļĒāđāļ§āļīāļĢāļ Call
End Sub
ChDir StatementāđāļāļĨāđāļĩāļĒāļāđāļāđāļĢāļāļāļāļĢāļĩ āļŦāļĢāļ·āļāđāļāļĨāđāļāļāļĢāļāļāļāļļāļāļąāļ
āđāļ§āļĒāļēāļāļĢāļChDir pathpath āđāļāļāļāļēāļāļīāļ§āđāļĄāļāļāļāļąāļāļāļąāļ, string expression āļāļĩāđāļĢāļ°āļāļļāđāļāđāļĢāļāļāļāļĢāļĩ āļŦāļĢāļ·āļāđāļāļĨāđāļāļāļĢ āļāļķāđāļāļāļ°āđāļāļāđāļāđāļĢāļāļāļāļĢāļĩ
āļŦāļĢāļ·āļāđāļāļĨāđāļāļāļĢāđāļĢāļīāđāļĄāļāļ path āļāļēāļāļāļ°āļĢāļ§āļĄāđāļāļĢāļ āļāļēāđāļĄāļĢāļ°āļāļļāđāļāļĢāļ ChDir āđāļāļĨāđāļĩāļĒāļāđāļāđāļĢāļāļāļāļĢāļĩ āļŦāļĢāļ·āļāđāļāļĨāđāļāļāļĢāļāļāđāļāļĢāļāļāļāļāļļāļāļąāļ
āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ ChDir āđāļāļĨāđāļĩāļĒāļāđāļāđāļĢāļāļāļāļĢāļĩāđāļĢāļīāđāļĄāļāļ āđāļāđāļĄāđāļāđāļāļĢāļāđāļĢāļīāđāļĄāļāļ āļāļąāļ§āļāļĒāļēāļ āļāļēāđāļāļĢāļāđāļĢāļīāđāļĄāļāļ āļāļ·āļ C āļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļāļāļāđāļāđāļāļĨāđāļĩāļĒāļāđāļāđāļĢāļāļāļāļĢāļĩāđāđāļĢāļīāđāļĄāļāļāļāļāđāļāļĢāļ D āđāļ C āļĒāļąāļāļāļāđāļāļ āđāļāļĢāļāđāļĢāļīāđāļĄāļāļChDir âD:\TMPâ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄChDrive Statement, CurDrive Statement, āļāļāļāļāļąāļ Dir, MkDir Statement, RmDir Statement
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ ChDir āđāļāļ·āđāļāđāļāļĨāđāļĩāļĒāļāđāļāđāļĢāļāļāļāļĢāļĩ āļŦāļĢāļ·āļāđāļāļĨāđāļāļāļĢāļāļāļāļļāļāļąāļ
widebase.net âVBA References
8
' āđāļāļĨāļĩāļĒāđāļāđāļāđāļĢāļāļāļāļĢāļĩāļŦāļĢāļ·āļāđāļāļĨāđāļāļāļĢāļāļāļāļļāļāļąāļāđāļāļāļĩāđ "MYDIR"ChDir "MyDir"
' āļāļēāļĢāđāļāļĨāļĩāļĒāđāļāđāļāđāļĢāļāļāļāļĢāļĩāļŦāļĢāļ·āļāđāļāļĨāđāļāļāļĢāđāļāļāļĩāđāđāļāđāļĢāļāļāļāļĢāļĩāļŦāļĢāļ·āļāđāļāļĨāđāļāļāļĢāļāļāđāļāļĢāļ D' āđāļāđāļāļĢāļāļāļāļāļļāļāļąāļāļĒāļąāļāļāļ āđāļāļ CChDir "D:\WINDOWS\SYSTEM"
ChDrive StatementāđāļāļĨāđāļĩāļĒāļāđāļāļĢāļāļāļāļāļļāļāļąāļ
āđāļ§āļĒāļēāļāļĢāļChDrive drivedrive āđāļāļāļāļēāļāļīāļ§āđāļĄāļāļāļāļąāļāļāļąāļāļāļĩāđāđāļāļ string expression āļŠāđ āļēāļŦāļĢāļąāļāļāļēāļĢāļĢāļ°āļāļļāđāļāļĢāļāļāļĩāđāļĄāļĩāļāļĒāļđ āļāļēāđāļŦāļāļēāđāļāļ zero-
length string (â â) āđāļāļĢāļāļāļāļāļļāļāļąāļāđāļĄāļĄāļĩāļāļēāļĢāđāļāļĨāļĩāđāļĒāļ āļāļēāļāļēāļāļīāļ§āđāļĄāļāļ drive āļĄāļĩāļŦāļĨāļēāļĒāļāļąāļ§āļāļąāļāļĐāļĢ ChDrive āđāļāđāļāļāļēāļ°āļāļąāļ§āļāļąāļāļĐāļĢāļāļąāļ§āđāļĢāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄChDir Statement, āļāļāļāļāļąāļ CurDir, MkDir Statement, RmDir Statement
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ ChDir āđāļāļāļēāļĢāđāļāļĨāļĩāđāļĒāļāđāļāļĢāļāļāļāļāļļāļāļąāļChDrive "D"
Choose FunctionāđāļāļŠāđ āļēāļŦāļĢāļąāļāļāļēāļĢāđāļĨāļ·āļāļāđāļĨāļ°āļŠāļāļāļāļāļāļēāļāļĩāđāđāļĨāļ·āļāļāļāļēāļāļĢāļēāļĒāļāļēāļĢāļāļēāļāļīāļ§āđāļĄāļāļ
āđāļ§āļĒāļēāļāļĢāļChoose(index,choice-1[,choice-2,âĶ[,choice-n]])āļāļāļāļāļąāļ Choose āļĄāļĩāđāļ§āļĒāļēāļāļĢāļāļāļāļāļŠāļ§āļ āļāļ·āļ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļindex āļāļąāļāļāļąāļ, āđāļāļ expression āļāļāļāļāļąāļ§āđāļĨāļāļŦāļĢāļ·āļāļāļĨāļāļāļĩāđāđāļāļāļāļĨāļĨāļąāļāļāđāļāļāļēāļĢāļ°āļŦāļ§āļēāļ 1 āļāļķāļ āļāđ āļēāļāļ§āļ
āļāļāļāļāļēāļāđāļĨāļ·āļāļ (choice) āļāļĩāđāļĄāļĩchoice āļāļąāļāļāļąāļ, āđāļāļ expression āļāļāļ Variant āļāļĩāđāđāļāđāļāļāļēāļāļāļāđāļāļĨāļ°āļāļēāļāđāļĨāļ·āļāļ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļāļāļāļąāļ Choose āļŠāļāļāļāļāļāļēāļāļēāļāļĢāļēāļĒāļāļēāļĢāļāļāļāļāļēāļāļīāļ§āđāļĄāļāļ choice āļāļēāļĄāļāļēāļāļāļāļāļēāļāļīāļ§āđāļĄāļāļ index āļāļēāļāļēāļāļēāļāļīāļ§āđāļĄāļāļ index āđāļāļ 1 āļāļāļāļāļąāļ Choose āļāļ°āđāļĨāļ·āļāļ choice āđāļĢāļ āļāļēāļāļēāļāļēāļāļīāļ§āđāļĄāļāļ index āđāļāļ 2 āļāļāļāļāļąāļ Choose āļāļ°āđāļĨāļ·āļāļ choice āļāļĩāđ 2 āļāļēāļĄāļĨāđ āļēāļāļąāļ
widebase.net âVBA References
9
āļāļāļāļāļąāļ Choose āļŠāļēāļĄāļēāļĢāļāđāļāđāļāļŦāļēāļāļēāđāļāļĢāļēāļĒāļāļēāļĢāļāļĩāđāđāļāļāđāļāđāļ āđāļāļ āļāļēāļāļēāļāļīāļ§āđāļĄāļāļ index āļŦāļēāļāļēāđāļāđāļāļ 3 āđāļĨāļ° āļāļēāļāļīāļ§āđāļĄāļāļ choice-1 = âoneâ, choice-2 = âtwoâ, āđāļĨāļ° choice-3 = âthreeâ āļāļāļāļāļąāļ Choose āļāļ°āļŠāļāļāļāļāļāļēāđāļāļ âthreeâ āļāļēāļĢāļāđ āļēāļāļēāļāđāļāļĨāļąāļāļĐāļāļ°āļāļĩāđāļŠāļēāļĄāļēāļĢāļāđāļāļāļĢāļ°āđāļĒāļāļāđāļāļāļĩāļāļēāļāļēāļāļīāļ§āđāļĄāļāļ index āđāļāļŦāļēāļāļēāđāļ Option groupāļāļāļāļāļąāļ Choose āļāļ°āļŦāļēāļāļē choice āļāļļāļāļāļēāļāđāļĨāļ·āļāļāđāļāļĢāļēāļĒāļāļēāļĢāđāļāļāļ°āļŠāļāļāļāļāļāļēāđāļāļāļāļēāđāļāļĩāļĒāļ§ āļŠāđ āļēāļŦāļĢāļąāļāđāļŦāļāļļāļāļĨ āļāđ āļēāđāļŦāļĄāļĩāļāļĨāļāļĢāļ°āļāļāļāļēāļāđāļāļĩāļĒāļ āđāļāļ āļāļēāļĢāđāļāļāļāļāļāļąāļ MsgBox āđāļāļāļŠāļ§āļāļāļāļ expression āđāļāļāļąāļ§āđāļĨāļ·āļāļāļāļąāđāļāļŦāļĄāļ MsgBox āļāļ°āđāļŠāļāļāļāļēāļŠāđ āļēāļŦāļĢāļąāļāđāļāļĨāļ°āļāļąāļ§āđāļĨāļ·āļāļāļāļĩāđāļŦāļēāļāļēāđāļ āđāļāļāļāļāļāļąāļ Choose āļāļ°āļŠāļāļāļāļāļāļēāđāļāļāļāļēāđāļāļĩāļĒāļ§āļāļāļāļāļąāļ Choose āļŠāļāļāļāļāļāļēāļ§āļēāļāļāļēāļāļēāļāļēāļāļīāļ§āđāļĄāļāļ index āļāļāļĒāļāļ§āļē 1 āļŦāļĢāļ·āļāļĄāļēāļāļāļ§āļēāļāđ āļēāļāļ§āļāļāļēāļāļīāļ§āđāļĄāļāļ choice āļāļĩāđāļĄāļĩāļāļēāļāļēāļāļāļāļāļēāļāļīāļ§āđāļĄāļāļ index āđāļĄāđāļāļāļāđ āļēāļāļ§āļāđāļāđāļĄ āļāļ°āđāļāļĢāļąāļāļāļēāļĢāļāļĢāļąāļāđāļŦāđāļāļāļāđ āļēāļāļ§āļāđāļāđāļĄāļāļāļāļāļēāļĢāļŦāļēāļāļē
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ IIf, Select Case Statement, āļāļāļāļāļąāļ Switch
āļ§āļīāļāļĩāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļ Accessāļāļāļāļāļąāļ Choose āļŠāļēāļĄāļēāļĢāļāđāļāđāļāļāļąāļ§ control āļāļāļāļāļĢāļĄāļŦāļĢāļ·āļāļĢāļēāļĒāļāļēāļāđāļ Microsoft Access āļāļąāļ§āļāļĒāļēāļāđāļāļ āļāļēāļĢāđāļāļāļāļāļāļąāļ Choose āļāđ āļēāļŦāļāļāļāļēāļāļāļāļāļąāļ§ control āđāļāļ·āđāļāđāļŠāļāļāļēāļāļēāļĄāļāļēāļāļāļāļāļĨāļāļāļ·āđāļ āđāļŦāļāļąāđāļāļāļēāļāļļāļāļŠāļĄāļāļąāļāļī ControlSourceāļāļāļāļāļąāļ§ control āļāļ§āļĒ expression āļāļāļāļāļāļāļāļąāļ Choose āļāļēāļĄāļāļąāļ§āļāļĒāļēāļāļāļāđāļāļāļĩāđ āđāļāđāļāļāļēāļĢāļāđ āļēāļŦāļāļ expression āđāļāļāļļāļāļŠāļĄāļāļąāļāļī ControlSource āļāļāļāļāļąāļ§ control āļāļēāļĄāļāļēāļāļĩāđāļŦāļēāđāļāļāļēāļāļāļĨāļ ShipVia āđāļ Table āļāļ·āđāļ Orders=Choose([ShipVia], "Speedy", "United", "Federal")
āļŠāđ āļēāļŦāļĢāļąāļāļāļąāļ§āļāļĒāļēāļāļāļēāļāļāļ āļāļē ShipVia āļĄāļĩāļāļēāđāļāļ 1 āļāļāļāļāļąāļ Choose āļāļ°āļŠāļāļāļāļāļāļēāđāļāļ âSpeedyâ āļāļē ShipVia āļĄāļĩāļāļēāđāļāļ 2 āļāļāļāļāļąāļ Choose āļāļ°āļŠāļāļāļāļāļāļēāđāļāļ âUnitedâ āđāļāļāļāļ āļāļē ShipVia āļĄāļĩāļāļēāđāļāļ 0 āļāļāļāļāļąāļ Choose āļāļ°āļŠāļāļāļāļāļāļēāđāļāļāļāļēāļ§āļēāļāļāļąāļ§āļāļĒāļēāļāļāļāđāļāđāļŠāļāļāļāļēāļĢāļāđ āļēāļŦāļāļ expression āļāļĩāđāļāđ āļēāđāļŦāļāļēāļĢāļŠāļāļāļāļāļ§āļēāļĄāđāļāļāļēāļĄāļĩāļāļĨāļāđāļāđāļāļāļē 0=Choose([ShipVia] + 1, "none", "Speedy", "United", "Federal")
āļŦāļĄāļēāļĒāđāļŦāļāļļ āđāļāđāļĄāļāļđāļĨ Visual Basic āļŠāļēāļĄāļēāļĢāļāđāļāļāđ āļēāļŠāđāļąāļ Select Case āđāļāđāļĄāļĢāļđāļāđāļāļāđāļāļāļēāļĢāļŠāļāļāļēāļāļāļāļāļēāļāļāļĨāļļāļĄāļāļāļāļāļąāļ§āđāļĨāļ·āļāļ (choice)
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ Choose āđāļāļāļēāļĢāđāļŠāļāļāļāļ·āđāļāļāļēāļĄāļāļēāļāļĩāđāļāļēāļāļīāļ§āđāļĄāļāļ index āļŠāļāļĄāļēāđāļāđāļ procedure āđāļāļāļēāļĢāļēāļĄāļīāđāļāļāļĢ Ind
Function GetChoice(Ind As Integer) GetChoice = Choose(Ind, "Speedy", "United", "Federal")End Function
widebase.net âVBA References
10
āļāļąāļ§āļāļĒāļēāļāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļ Accessāļāļāļāļāļąāļ Choose āļŠāļēāļĄāļēāļĢāļāđāļāđāļāļāļēāļĢāļŠāļĢāļēāļāļāļąāļ§ control āļāļĩāđāļāļēāļŦāļēāđāļāđāļāļĒāļāļēāļāļāļāļāļĨāļāđāļ Table āļāļāļāļāļēāļāļāļāļĄāļđāļĨ āđāļāļ āļŠāļĄāļĄāļāļīāđāļŦāļĄāļĩ Table āļāļ·āđāļ Shippers āļāļĩāđāļĄāļĩāļāļĨāļ ShipperID āļāļķāđāļāļŠāļēāļĄāļēāļĢāļāļŠāļĢāļēāļāļāļąāļ§ control āđāļāļāļāđ āļēāļāļ§āļāļāļāļāļāļĢāļĄāđāļāļāļēāļĢāđāļŠāļāļāļāļāļāļ§āļēāļĄāļāļāļāļāļ·āđāļāļāļđāļŠāļāļāļēāļĄāļāļēāļāļĩāđāļŦāļēāđāļāđāļāļāļĨāļ ShipperID=Choose([ShipperID], "Speedy", "United", "Federal")
Chr Function, Chr$ Functionāļāļāļāļāļąāļ Chr āļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (String) āļāļĩāđāđāļāļāļāļąāļ§āļāļąāļāļĐāļĢāļāļķāđāļāļāļĢāļāļāļąāļāļĢāļŦāļąāļŠāļāļąāļāļĐāļĢāļāļāļāļāļąāļ Chr$ āļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ String āļāļĩāđāđāļāļāļāļąāļ§āļāļąāļāļĐāļĢāļāļķāđāļāļāļĢāļāļāļąāļāļĢāļŦāļąāļŠāļāļąāļāļĐāļĢ
āđāļ§āļĒāļēāļāļĢāļChr(charcode)Chr$(charcode)āļāļēāļāļīāļ§āđāļĄāļāļ charcode āļāļāļāđāļāļāđāļĨāļāļāđ āļēāļāļ§āļāđāļāđāļĄāļāļāļīāļ Long āļāļĩāđāļŠāļēāļĄāļēāļĢāļāļĢāļ°āļāļļāļāļąāļ§āļāļąāļāļĐāļĢ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļąāļ§āđāļĨāļ 0 â 31 āđāļāļāļāļēāļĄāļēāļāļĢāļāļēāļ āļĢāļŦāļąāļŠāđāļāļ nonprintable ASCII code āđāļāļ Chr(10) āļŠāļāļāļēāļāļēāļĢāđāļĨāļ·āđāļāļāļāļĢāļĢāļāļąāļ āļāļ§āļāļāļāļāļīāļāļāļ charcode āļāļ·āļ 0 â 255 āđāļāļāļēāđāļāļāļĢāļ°āļāļ DBCS āļāļēāļāļāļāļāļ§āļāđāļāļ â32768 āļāļķāļ 32767
āļŦāļĄāļēāļĒāđāļŦāļāļļâĒ āļāļāļāļāļąāļ ChrB āđāļāļŠāļāļāļēāđāļāļāļāļāļĄāļđāļĨāļāļāļāļāļāļāļ§āļēāļĄ āđāļāļāļāļĩāđāļāļēāļĢāļŠāļāļāļāļāļāļąāļ§āļāļąāļāļĐāļĢ āļāļķāđāļāļāļēāļāļāļ°āđāļāļāļŦāļāļķāđāļāļŦāļĢāļ·āļāļŠāļāļ
āđāļāļâĒ āļāļāļāļāļąāļ ChrW āđāļāļŠāļāļāļēāđāļāļāļāļāļāļ§āļēāļĄāļāļēāļĄāļĢāļŦāļąāļŠ Unicode āļāļē Platform āđāļĄāļŠāļāļąāļāļŠāļāļļāļāļĢāļŦāļąāļŠ Unicode āļāļ°
āđāļŠāļāļāļāļēāđāļāļāđāļāļĩāļĒāļ§āļāļąāļāļāļāļāļāļąāļ Chr
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Asc, āļāļāļāļāļąāļ Str
āļāļąāļ§āļāļĒāļēāļāļāļāļāļāļąāļ Chr āđāļāļĨāđāļĩāļĒāļāļĢāļŦāļąāļŠāļāļąāļ§āđāļĨāļāđāļāļāļāļąāļ§āļāļąāļāļĐāļĢDim myChrmyChr = Chr("65") ' āļŠāļāļāļāļāļāļē AmyChr = Chr("97") ' āļŠāļāļāļāļāļāļē amyChr = Chr("62") ' āļŠāļāļāļāļāļāļē >myChr = Chr("37") ' āļŠāļāļāļāļāļāļē %
āļāļēāļĢāđāļ§āļāļāļĢāļĢāļāļąāļāđāļ MsgBox āđāļāļĒāđāļ Chr(13)msgText = "Caution" & Chr(13) & "When open this door"MsgBox msgText
widebase.net âVBA References
11
Close StatementāļĢāļ§āļĄāļāļķāļ input / output (I/O) āļāļĩāđāđāļāļāđāļāļĨāļāļ§āļĒāļāļēāļĢāđāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Open
āđāļ§āļĒāļēāļāļĢāļClose [filenumberlist]filenumberlist āđāļāļāļāļēāļāļīāļ§āđāļĄāļāļāđāļĄāļāļąāļāļāļąāļ, āļŠāļēāļĄāļēāļĢāļāđāļāļāļŦāļĨāļēāļĒāļŦāļĄāļēāļĒāđāļĨāļ āļāļēāļĄāđāļ§āļĒāļēāļāļĢāļāļāļĩāđ āđāļāļĒāļāļĩāđ
filenumber āđāļāļāļŦāļĄāļēāļĒāđāļĨāļāđāļāļĨāļāļĩāđāļĄāļĩāļāļĢāļīāļ[[#]filenumber] [,[#]filenumber]âĶ
āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļēāļĨāļ°āļāļēāļāļīāļ§āđāļĄāļāļ filenumberlist āđāļāļĨāļāļĩāđāđāļāļāļāļĩāļ āļāļķāđāļāđāļāļāđāļāļĒāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Open āļāļ°āđāļāļĢāļąāļāļāļēāļĢāļāļāļāļąāđāļāļŦāļĄāļāđāļĄāļ·āđāļāļāļāđāļāļĨāļāļĩāđāđāļāļāļŠāđ āļēāļŦāļĢāļąāļ Output āļŦāļĢāļ·āļ Append āļāļąāļāđāļāļāļĢāļŠāļļāļāļāļēāļĒāļāļāļāļāļĨāļĨāļąāļāļāļāļ°āđāļāļĢāļąāļāļāļēāļĢāđāļāļĩāļĒāļāđāļāļāļĩāđāļāļąāļāđāļāļāļĢāļāļāļāļĢāļ°āļāļāļāļāļīāļāļąāļāļīāļŠāđ āļēāļŦāļĢāļąāļāđāļāļĨ āļāļ·āđāļāļāļĩāđāļāļąāļāđāļāļāļĢāļāļąāđāļāļŦāļĄāļāļāļĩāđāđāļāļĩāđāļĒāļ§āļāļāļāļāļąāļāđāļāļĨāļāļĩāđāļāļāļāļ°āđāļāļĢāļąāļāļāļēāļĢāļāļĨāļāļĒāđāļĄāļ·āđāļāļāļĢāļ°āļĄāļ§āļĨāļāļĨāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Close āļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļāļĢāļ°āļŦāļ§āļēāļāđāļāļĨāļāļąāļāļŦāļĄāļēāļĒāđāļĨāļāđāļāļĨāļāļ°āļŠāđāļīāļāļŠāļļāļāļĨāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄEnd statement, Open statement, Reset statement, Stop statement
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Close āđāļāļ·āđāļāļāļāđāļāļĨ 3 āđāļāļĨāļāļĩāđāđāļāļāļŠāđ āļēāļŦāļĢāļąāļ Output
Dim i, FileNameFor i = 1 To 3
FileName = "TEST" & iOpen FileName For Output AS # iPrint # i, "This is a test"
Next iClose
Command FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļēāļāļīāļ§āđāļĄāļāļāļāļāļ Command line āđāļāđāļāļāļēāļĢāđāļĢāļīāđāļĄāđāļāļĢāđāļāļĢāļĄ Visual Basic āļŦāļĢāļ·āļāđāļāļĢāđāļāļĢāļĄāļāļĩāđāļāļąāļāļāļēāļāļ§āļĒ Visual Basic
āđāļ§āļĒāļēāļāļĢāļCommandāļāļēāļāļīāļ§āđāļĄāļāļ drive āđāļĄāļāļąāļāļāļąāļ āļāļķāđāļāļĄāļĩāļāļēāđāļāļ Expression āļāļāļāļāļāļāļ§āļēāļĄāļāļĩāđāļĢāļ°āļāļļ Drive āļāļĩāđāļĄāļĩāļāļĒāļđāļāļĢāļīāļ āļāļēāđāļĄāļĄāļĩāļāļēāļĢ
āļāđ āļēāļŦāļāļ drive āļŦāļĢāļ·āļ drive āđāļāļ zero-length string (ââ) āļāļāļāļāļąāļ CurDir āļāļ°āļŠāļāļāļēāļāļāļ Drive āļāļāļāļļāļāļąāļ
widebase.net âVBA References
12
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļĄāļ·āđāļāđāļāļ āļēāļĐāļē Visual Basic āļāļēāļ command line āđāļāļĒāļŠāļ§āļāļāļēāļāđāļāļāļ command line āļāļĩāđāļāļēāļĄāļāļ§āļĒ /cmd āđāļāļĢāļąāļāļāļēāļĢāļŠāļāđāļāļāļĩāđāđāļāļĢāđāļāļĢāļĄāđāļāļāļēāļāļ°āļāļēāļāļīāļ§āđāļĄāļāļāļāļāļ command line āđāļāļāļąāļ§āļāļĒāļēāļāļāļāđāļ cmdlineargs āđāļŠāļāļāļŠāļēāļĢāļŠāļāđāļāļĻāļāļāļāļāļēāļāļīāļ§āđāļĄāļāļāļāļĩāđāļŠāļāļāļāļāđāļāļĒāļāļāļāļāļąāļ CommandVB = /cmd cmdlineargs
āļŠāđ āļēāļŦāļĢāļąāļāļāļēāļĢāļāļąāļāļāļēāđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļāļāļ§āļĒ Visual Basic āđāļĨāļ°āļāļāļĄāđāļāļĨāđāļāļāđāļāļĨ .exe āļāļāļāļāļąāļ Command āļŠāļāļāļāļāļāļēāļāļīāļ§āđāļĄāļāļāļāļĩāđāļāļĢāļēāļāļāļ āļēāļĒāļŦāļĨāļąāļāļāļ·āđāļāļāļāļāđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļāļāļ command lineMyApp cmdlineargs
āđāļāļāļēāļĢāļāļāļŦāļēāļāļēāļāļīāļ§āđāļĄāļāļ command line āļŠāļēāļĄāļēāļĢāļāđāļāļĨāļĩāđāļĒāļāļāļēāļĢāļāļīāļāđāļāļāļĢāđāļāļāļāļąāļāļāļđāđāļāđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļ
āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļ AccessāļāļēāļĢāđāļāļĨāļĩāđāļĒāļāļāļēāļāļīāļ§āđāļĄāļāļ command line āļāļąāļāļāļēāļāļāļāļĄāļđāļĨāļāļĩāđāđāļāļāļāļĒāļđ āđāļŦāđāļāļāļĩāđāđāļĄāļāļđ Tools āđāļĨāļ·āļāļāļāđ āļēāļŠāđāļąāļ Options āļāļāđāļāđāļAdvanced āļāļāļāđāļāļāļ°āļĨāļāļāļāļāļāļ Options āļāļāļāļāļēāļāļīāļ§āđāļĄāļāļāđāļŦāļĄāđāļ Command-Line Arguments box āļāļāļāļāļąāļ Command āļāļ°āļŠāļāļāļāļāļāļēāļāļīāļ§āđāļĄāļāļāđāļŦāļĄāļāļĩāđāļāļāļāđāļāļēāđāļāđāļĄāļ·āđāļāļāļāļāļāļąāļ Command āđāļāļĢāļąāļāļāļēāļĢāđāļāļāļāļāļāļēāļāļāđ āļēāļŠāđāļąāļ Visual Basic āđāļāđāļĄāļāļđāļĨ āļāļāļāļĄāļĩāļāļēāļĢāđāļāļīāđāļĄāļ§āļāđāļĨāđāļāļŦāļĨāļąāļāļāļāļāļāļąāļ āđāļāļ āļāļēāļĢāđāļāļāļāļāļāļąāļ Command āđāļ text box āļāļāļāļāļĢāļĄ āļāļāļāļāļąāđāļāļāļēāļāļļāļāļŠāļĄāļāļąāļāļī ControlSource āļāļāļ text box āđāļāļexpression āļāļąāļāļāļĩāđ=Command()
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ Command āļāļķāļāļāļēāļāļīāļ§āđāļĄāļāļ command line āđāļāļāļāļāļāļąāļāļāļĩāđāļŠāļāļāļāļāđāļāļ array
' āđāļāļŠāļ§āļāļāļēāļĢāļāļĢāļ°āļāļēāļĻDim ArgArray() As Variant
Function GetCommandLine(Optional MaxArgs) ' āļāļĢāļ°āļāļēāļĻāļāļąāļ§āđāļāļĢ Dim C, CmdLine, CmdLnLine, InArg, I, NumArgs ' āļāļĢāļ§āļāļŠāļāļ MaxArgs If IsMissing(MaxArgs) Then MaxArgs = 10 ' āļāđ āļēāđāļŦ array āļĄāļāļĩāļāļēāļāļāļđāļāļāļāļ ReDim ArgArray(MaxArgs) Numarg = 0 InArg = False
' āļāļķāļāļāļēāļāļīāļ§āđāļĄāļāļ command line CmdLine = Command() CmdLnLine = Len(CmdLine)
' āđāļāļēāļŠāļđ command line āļāļĩāļĨāļ° 1 āļāļąāļ§āļāļąāļāļĐāļĢ For I = 1 To CmdLnLine C = Mid(CmdLine, I, 1)
' āļāļĢāļ§āļāļŠāļāļ āļāļāļāļ§āļēāļāļŦāļĢāļ·āļāđāļāđāļ If C <> "" And C <> vbTab Then ' āļāļĢāļ§āļāļŠāļāļāļāļēāļāļīāļ§āđāļĄāļāļ If Not InArg Then
widebase.net âVBA References
13
' āđāļĢāļīāļĄāđāļāļēāļāļ§āļīāđāļĄāļāļāđāļŦāļĄ āļāļāļŠāļāļāļāļēāļāļīāļ§āđāļĄāļāļāļĄāļēāļāđāļāļīāļāđāļ If NumArgs = MaxArgs Then Exit For NumArgs = NumArgs + 1 InArg = True End If ' āđāļāļīāļĄāđāļāļ§āļąāļāļąāļāļĐāļĢāđāļāļāļĩāđāļāļēāļāļīāļ§āđāļĄāļāļāļāļāļāļļāļāļąāļ ArgArray(NumArgs) = ArgArray(NumArgs) + C Else ' āļāļ āļāļāļāļ§āļēāļāļŦāļĢāļ·āļāđāļāđāļ āļāļąāđāļāļāļē InArg āđāļāļ False InArg = False End If Next I
' āļāļĢāļąāļāļāļāļēāļ array āđāļŦāđāļāļĒāļĩāļāļāļāļāļąāļāļāļēāļĢāđāļāđāļāļāļēāļāļīāļ§āđāļĄāļāļ ReDim Preserve ArgArray(NumArgs) ' āļŠāļāļāļāļ array āđāļāļāļ·āđāļāļāļāļāļāļąāļ GetCommandLine = ArgArray()
End Function
Cos FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĨāļĨāļąāļāļāļāļāļāļāļē Cosine āļāļāļāļĄāļļāļĄ āđāļāļĒāļĄāļĩāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double
āđāļ§āļĒāļēāļāļĢāļCos(number)āļāļēāļāļīāļ§āđāļĄāļāļ number āđāļāļāļāļēāļāļĩāđāļĄāļĩāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāļāļąāļ§āđāļĨāļ āļŦāļĢāļ·āļ Expression āļāļĩāđāđāļŦāļāļēāļāļąāļāļāļĨāļēāļ§ āļāļāļāđāļāļāļāļāļ
āļĄāļļāļĄāļāļĩāđāđāļāļāđāļĢāđāļāļĩāļĒāļ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļāļāļāļąāļ Cos āđāļāļāļŠāļąāļāļŠāļ§āļāļāļāļāļāļ§āļēāļĄāļĒāļēāļ§āļāļēāļāļāļĢāļ°āļāļīāļāļĄāļļāļĄāļŦāļēāļĢāļāļ§āļĒāļāļ§āļēāļĄāļĒāļēāļ§āļāļēāļāļāļĢāļāļāļēāļĄāļĄāļļāļĄāļāļēāļāļāļēāļāļāļ Cos āļāļĒāļđāļĢāļ°āļŦāļ§āļēāļ â1 āļāļķāļ 1āļāļēāļĢāđāļāļĨāļāļāļēāļāļāļĻāļēāđāļŦāđāļāļāđāļĢāđāļāļĩāļĒāļ āļāļāļĻāļē āļāļđāļ Ï/180āļāļēāļĢāđāļāļĨāļāđāļĢāđāļāļĩāļĒāļāđāļŦāđāļāļāļāļāļĻāļē āđāļĢāđāļāļĩāļĒāļ āļāļđāļ 180/Ï
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Atn, āļāļāļāļāļąāļ Sin, āļāļāļāļāļąāļ Tan
āļāļąāļ§āļāļĒāļēāļDim myAngle, mySecantmyAngle = 1.5 ' āļāđ āļēāļŦāļāļāļāļāļĻāļēāđāļāļ āđāļĢāđāļāļĩāļĒāļmySecant = 1/ Cos(myAngle) ' āļ āđāļēāļāļ§āļāļāļē Secant
widebase.net âVBA References
14
CreateObject FunctionāđāļāđāļāļāļēāļĢāļŠāļĢāļēāļāļāļāļāđāļāļ āđāļĨāļ°āļŠāļāļāļāļāļāļēāđāļāļāļāļēāļĢāļāļēāļāļāļīāļāļāļāļāđāļāļ ActiveX
āđāļ§āļĒāļēāļāļĢāļCreateObject(class)āļāļēāļāļīāļ§āđāļĄāļāļ class āđāļāđāļ§āļĒāļēāļāļĢāļ appname.objectivetype āļĄāļĩāļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāļāļāļāļŠāļ§āļ āļāļ·āļ
āļāļēāļāļīāļ§āđāļĄāļāļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļappname āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (String), āđāļāļāļāļ·āđāļāđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļāļāļĩāđāđāļŦāļāļāļāđāļāļobjectivetype āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (String), āđāļāļāļāļĢāļ°āđāļ āļāļŦāļĢāļ·āļ class āļāļāļāļāļāļāđāļāļāļāļĩāđ
āļāļāļāļāļēāļĢāļŠāļĢāļēāļ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļāļāļĩāđāļŠāļāļąāļāļŠāļāļļāļāļĢāļ°āļāļāļāļąāļāđāļāļĄāļąāļāļīāļāļāļāđāļŦāļāļāļāđāļāļāļāļĒāļēāļāļāļāļĒ 1 āļāļĢāļ°āđāļ āļ āđāļāļ āđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĄāļ§āļĨāļāļĨāļāđ āļēāļāļ°āđāļŦāļāļāļāđāļāļ Application, āļāļāļāđāļāļ Document āđāļĨāļ°āļāļāļāđāļāļ Toolbar āļāļēāļĢāļŠāļĢāļēāļāļāļāļāđāļāļ ActiveX āđāļāļāļāļēāļĢāļāđ āļēāļŦāļāļāļāļāļāđāļāļāļāļĩāđāļāļāļāļŠāļāļāļēāļāļāļ āđāļāļĒāļāļāļāļāļąāļ CreateObject āđāļŦāđāļāļāļāļąāļ§āđāļāļĢāļāļāļāđāļāļ
' āļāļĢāļ°āļāļēāļĻāļāļąāļ§āđāļāļĢāļāļāļāđāļāļāđāļāđāļāļāļēāļāļēāļĢāļāļēāļāļāļīāļāļāļāļāđāļāļDim ExcelSheet As ObjectSet ExcelSheet = CreateObject("Excel.Sheet")
āđāļāļāļļāļāļāđ āļēāļŠāđāļąāļāļāļēāļāļāļāđāļĢāļīāđāļĄāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļ§āļĒāļŠāļĢāļēāļāļāļāļāđāļāļ āđāļāļāļĢāļāļĩāļāļĩāđ āļāļ·āļ Microsoft Excel āđāļĄāļ·āđāļāļĄāļĩāļāļēāļĢāļŠāļĢāļēāļāļāļāļāđāļāļāļāļēāļĢāļāļēāļāļāļīāļāļāļķāļāļāļāļāđāļāļāđāļāļāļāļēāļĢāļāļēāļāļāļ§āļĒāļāļąāļ§āđāļāļĢāļāļāļāđāļāļāļāļĩāđāļāđ āļēāļŦāļāļāļāļķāđāļ āđāļāļŠāļ§āļāļāļąāļ§āļāļĒāļēāļāļāļāđāļāđāļāļāļāļēāļĢāđāļāļēāļāļķāļāļāļļāļāļŠāļĄāļāļąāļāļī āđāļĨāļ°āđāļĄāļāļāļāļāļāļāļāļēāļĢāļŠāļĢāļēāļāļāļāļāđāļāļāđāļŦāļĄāļāļ§āļĒāļāļąāļ§āđāļāļĢāļāļāļāđāļāļ (ExcelSheet) āđāļĨāļ°āļāļāļāđāļāļ Microsoft ExcelāļĢāļ§āļĄāļāļķāļāļāļāļāđāļāļ Application āđāļĨāļ° Cells Collection
' āļāđ āļēāđāļŦāļĄāļāļāđāļŦāđāļāļāļąāļ§āđāļāļĢ Excel āļāļĨāļāļāļāļāļāļķāļāļāļāļāđāļāļ ApplicationExcelSheet.Application.Visible = True' āđāļāļīāļĄāđāļāļāļāļ§āļēāļĄāđāļāđāļāļĨāļĨāđāļĢāļāļāļāļāđāļ§āļīāļĢāļāļāļĩāļExcelSheet.Application.Cells(1, 1).Value = "This is column A, row 1"' āļāļāļąāļāļāļķāđāļ§āļīāļĢāļāļāļĩāļāđāļ§āļāđāļĩ C:\test.xls directory.ExcelSheet.SaveAs "C:\TEST.XLS"' āļāļ Excel āļāļ§āļĒāđāļĄāļāļāļ Quit āļāļāļāļāļāļāđāļāļ ApplicationExcelSheet.Application.Quit' āļāļĨāļāļĒāļāļąāļ§āđāļāļĢāļāļāļāđāļāļSet ExcelSheet = Nothing
āļāļĢāļ°āļāļēāļĻāļāļąāļ§āđāļāļĢāļāļāļāđāļāļāļāļ§āļĒ As Object āđāļāļĢāļēāļ°āđāļāļāļāļēāļĢāļŠāļĢāļēāļāļāļąāļ§āđāļāļĢāļāļĩāđāļŠāļēāļĄāļēāļĢāļāđāļāđāļāļāļēāļĢāļāļēāļāļāļīāļāđāļāļāļāļāļāđāļāļāļāļĢāļ°āđāļ āļāļāļēāļāđ āđāļāļāļēāļĢāđāļāļēāļāļķāļāļāļāļāđāļāļāļāļĨāļāļāļāļāļāļķāļāļāļąāļ§āđāļāļĢāđāļāļāļāļāļāđāļāļāļĄāļē āđāļāļ·āđāļāļāļāļēāļāļĄāļĩāļāļ§āļēāļĄāđāļāļĩāđāļĒāļ§āļāļąāļāđāļĄāļ·āđāļāđāļĢāļĩāļĒāļāđāļāđāļāļĢāđāļāļĢāļĄ āđāļāļāļēāļĢāļŠāļĢāļēāļāļāļąāļ§āđāļāļĢāļāļāļāđāļāļāļāļĩāđāđāļāļīāļāļāļēāļāļāļĨāļĨāļąāļāļāļāļāļāđāļāļāļ§āļēāļĄāđāļāļĩāđāļĒāļ§āļāļąāļāļāļĩāđāđāļāļīāļāļāļāļ āđāļĄāļ·āđāļāđāļāļĢāđāļāļĢāļĄāđāļāļĢāļąāļāļāļēāļĢāļāļāļĄāđāļāļĨ āļāļēāļĢāļāļĢāļ°āļāļēāļĻāļāļąāļ§āđāļāļĢāļāļāļāđāļāļāļāļĩāđāļāđ āļēāđāļāđāļāļĒāļāļēāļĢāļĢāļ°āļāļļ class ID āđāļŦāļāļđāļāļēāļāļāļąāļ§āļāļĒāļēāļāđāļŠāļāļāļāļēāļĢāļāļēāļāļāļīāļ
Dim xlApp As Excel.ApplicationDim xlBook As Excel.Workbook
widebase.net âVBA References
15
Dim xlSheet As Excel.WorkSheetSet xlApp = CreateObject("Excel.Application")Set xlBook = xlApp.Workbooks.AddSet xlSheet = xlBook.Worksheets(1)
āļāļēāļĢāļāļēāļāļāļīāļāļāļąāļ§āđāļāļĢāđāļāļ Early-bound āļŠāļēāļĄāļēāļĢāļāđāļŦāļāļĨāļāļēāļĢāļāđ āļēāļāļēāļāļāļĩāđāļāļĩāļāļ§āļē āđāļāļāļ°āļāđ āļēāđāļāđāļāļĩāļĒāļāđāļāđāļāļāļēāļĢāļāļēāļāļāļīāļāļāļķāļāļāļēāļĢāļĢāļ°āļāļļ class āđāļāļāļēāļĢāļāļĢāļ°āļāļēāļĻāļāļēāļĢāļŠāļāļāļēāļāļāļāļāđāļāļāļāļāļāđāļāļĒāļāļāļāļāļąāļ CreateObject āđāļāļāļĩāđāļāļāļāļāļąāļāļāļĩāđāļāļēāļāļ§āļēāđāļāļāļāļāļāđāļāļāļāļĩāđāđāļāļāļāļēāļāļīāļ§āđāļĄāļāļ āđāļāļ āļāļēāļĄāļāđ āļēāļŠāđāļąāļāļāļĩāđāļŠāļĢāļēāļāđāļĨāļ°āļŠāļāļāļēāļāļāļēāļĢāļāļēāļāļāļīāļāđāļāļāļĩāđāļāļāļāđāļāļ Excel.ApplicationCall MySub (CreateObject("Excel.Application"))
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ GetObject, Set Statement
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ CreateObject āđāļāļ·āđāļāļāđ āļēāļŦāļāļāļāļēāļāļēāļĢāļāļēāļāļāļīāļ (xlApp)āđāļŦ Microsoft Excel āļāļķāđāļāđāļāļāļāļēāļĢāđāļāļāļēāļĢāļāļēāļāļāļīāļāđāļāļāļēāļĢāđāļāļēāļāļķāļāļāļļāļāļŠāļĄāļāļąāļāļī Visible āļāļāļ Microsoft Excel āđāļĨāļ§āđāļāđāļĄāļāļāļ Quit āđāļāļāļēāļĢāļāļ
Dim xlApp As Object ' āļāļĢāļ°āļāļēāļĻāļāļąāļ§āđāļāļĢāđāļāđāļāļāļēāļĢāļāļēāļāļāļīāļSet xlApp = CreateObject("excel.application")xlApp.Visible = True ' āļāļąāļāđāļāļēāļāļļāļāļŠāļĄāļāļąāļāļī Visible property āđāļāļ True ' āđāļ xlApp āđāļāļāļēāļĢāđāļāļēāļāļķāļ Microsoft Excel āđāļĨāļ°āļāļāļāđāļāļāļāļ·āđāļāđxlApp.Quit ' āđāļĄāļ·āļāđāđāļŠāļĢāđāļāđāļāđāļĄāļāļāļ Quit āđāļāļāļēāļĢāļāļSet xlApp = Nothing ' āļāļĨāļāļĒāđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļ
CurDir Function, CurDir$ Functionāļāļāļāļāļąāļ CurDir āļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (String) āđāļāļ·āđāļāđāļŠāļāļāļāļēāļĢāļāļāļāļāļāļāļāļļāļāļąāļāļāļāļāļāļąāļ CurDir$ āļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ String āđāļāļ·āđāļāđāļŠāļāļāļāļēāļĢāļāļāļāļāļāļāļāļļāļāļąāļ
āđāļ§āļĒāļēāļāļĢāļCurDir[(drive)]CurDir$[(drive)]āļāļēāļāļīāļ§āđāļĄāļāļ drive āđāļĄāļāļąāļāļāļąāļ āļāļķāđāļāļĄāļĩāļāļēāđāļāļ Expression āļāļāļāļāļāļāļ§āļēāļĄāļāļĩāđāļĢāļ°āļāļļ Drive āļāļĩāđāļĄāļĩāļāļĒāļđāļāļĢāļīāļ āļāļēāđāļĄāļĄāļĩāļāļēāļĢ
āļāđ āļēāļŦāļāļ drive āļŦāļĢāļ·āļ drive āđāļāļ zero-length string (ââ) āļāļāļāļāļąāļ CurDir āļāļ°āļŠāļāļāļēāļāļāļ Drive āļāļāļāļļāļāļąāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄCurDir Statement, ChDrive Statement, MkDir Statement, RmDir Statement,
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ CurDir āđāļāļ·āđāļāļŠāļāļāļēāļāļēāļĢāļāļāļāļāļļāļāļąāļ
' āļŠāļĄāļĄāļāļāļīāļēāļĢāļāļāļāļāļļāļāļąāļāļāļāļ drive C āđāļāļ "C:\WINDOWS\SYSTEM" (āļŠāđ āļēāļŦāļĢāļąāļ Microsoft Windows)
widebase.net âVBA References
16
' āļŠāļĄāļĄāļāļāļīāļēāļĢāļāļāļāļāļļāļāļąāļāļāļāļ drive D āđāļāļ "D:\EXCEL".' āļŠāļĄāļĄāļāļī drive C āđāļāļ drive āļāļāļāļļāļāļąāļDim MyPath
MyPath = CurDir ' āļāļēāļāļĩāđāļŠāļāļāļāļ "C:\WINDOWS\SYSTEM"MyPath = CurDir("C") ' āļāļēāļāļĩāđāļŠāļāļāļāļ "C:\WINDOWS\SYSTEM"MyPath = CurDir("D") ' āļāļēāļāļĩāđāļŠāļāļāļāļ "D:\EXCEL"
CVErr FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant āļāļĢāļ°āđāļ āļāļĒāļāļĒāđāļāļ Error āļāļĩāđāđāļāđāļāļŦāļĄāļēāļĒāđāļĨāļāļāļāļāļāļēāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļāļāļĩāđāļāđ āļēāļŦāļāļāđāļāļĒāļāļđāđāļ
āđāļ§āļĒāļēāļāļĢāļCVErr(errornumber)āļāļēāļāļīāļ§āđāļĄāļāļ errornumber āļāļāļāđāļāļāļŦāļĄāļēāļĒāđāļĨāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļāļāļĩāđāļĄāļĩāļāļĒāļđāļāļĢāļīāļ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļāļāļāļąāļ CVErr āđāļāđāļāļāļēāļĢāļŠāļĢāļēāļāļāļēāļĢāđāļŠāļāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļāļāļĩāđāļāļđāđāļāļāđ āļēāļŦāļāļāđāļ procedure āđāļāļ āļāļēāļŠāļĢāļēāļāļāļāļāļāļąāļāļāļĩāđāļĒāļāļĄāļĢāļąāļāļŦāļĨāļēāļĒāļāļēāļāļīāļ§āđāļĄāļāļāđāļĨāļ°āļŠāļāļāļāļāļāļēāđāļāļāļāļāļāļ§āļēāļĄ āļāļķāđāļāļŠāļēāļĄāļēāļĢāļāļāđ āļēāļŦāļāļāļāļāļāļāļąāļāđāļāļāļēāļĢāļāļĢāļ§āļāļŠāļāļāļāļēāļāđ āļēāđāļāļēāđāļāļ·āđāļāļāđ āļēāđāļŦāļĄāđāļąāļāđāļāļ§āļēāļāļēāļāļĩāđāļāđ āļēāđāļāļēāļāļĒāļđāđāļāļāļ§āļāļāļĩāđāļĒāļāļĄāļĢāļąāļ āļāļēāđāļĄāļāļĢāļ§āļāļŠāļāļāļāļāļāļāļąāļāļāļĩāđāļāđ āļēāļŦāļāļāļāļēāļāļāļ°āđāļĄāļŠāļēāļĄāļēāļĢāļāļŠāļāļāļēāļāļēāļĄāļāļĩāđāļāļēāļāđāļ āđāļāđāļŦāļāļļāļāļēāļĢāļāļāļĩāđ āļāļāļāļāļąāļ CVErr āļĒāļīāļāļĒāļāļĄāđāļŦāļŠāļāļāļāļāļŦāļĄāļēāļĒāđāļĨāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļāđāļāļ·āđāļāđāļāļāļāļķāļāļāļēāļĢāļāđ āļēāļāļēāļāļāļāļāļāļąāļ CVErr āđāļĄāļĒāļīāļāļĒāļāļĄāđāļŦāđāļāļĨāļāļāļēāđāļāļāđāļāļĒāļāļąāļĒāļāļāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļāļāļĩāđāļāļĢāļēāļāļ āđāļāļ āđāļĄāļŠāļēāļĄāļēāļĢāļāļāđ āļēāļŦāļāļāļāļēāđāļŦāļāļąāļ§āđāļāļĢāļāļĩāđāđāļĄāđāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant āđāļāļāļēāļĢāļŠāļāļāļāļāļāļēāļāļāļāļāļāļāļāļąāļ CVErr āđāļāļĒāļāļĢāļ āđāļāļŠāļēāļĄāļēāļĢāļāļāđ āļēāđāļāđāļāļĒāļāļēāļĢāđāļāļĨāļāđāļāļāļāļąāļāđāļāļ (āđāļāļĒāđāļāļāļāļāļāļąāļ Cint, CDbl āđāļāļāļāļ) āļāļāļāļāļēāļāļĩāđāļŠāļāļāļāļāđāļāļĒāļāļāļāļāļąāļ CVErr āđāļĨāļ°āļāđ āļēāļŦāļāļāđāļŦāļāļąāļāļāļąāļ§āđāļāļĢāļāļĩāđāļĄāļĩāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāļāļĩāđāđāļŦāļĄāļēāļ°āļŠāļĄ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄData Type Summary, āļāļāļāļāļąāļ IsError
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ CVErr āđāļāļāļēāļĢāļŠāļāļāļēāđāļāļ Variant āđāļĨāļ° VarType āđāļāļ vbError (10) āđāļāļĒ Function CalculateDouble āđāļāļāļāļāļāļāļąāļāļāļđāđāļāļāđ āļēāļŦāļāļāđāļāļāđāļŦāļŠāļāļāļāļāļāļēāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļ āļāļēāļāļēāļāļīāļ§āđāļĄāļāļāļāļĩāđāļŠāļāđāļāļēāđāļāđāļĄāđāļāļāļąāļ§āđāļĨāļ āļāļķāđāļāļŠāļēāļĄāļēāļĢāļāđāļāļāļāļāļāļąāļ CVErr āđāļāļāļēāļĢāļŠāļāļāļāļāļāļēāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļāļāļĩāđāļāđ āļēāļŦāļāļāđāļāļāļāļēāļ Procedure āļāļĩāđāļŠāļĢāļēāļāļāļķāđāļāļŦāļĢāļ·āļāļāļ§āļāļāļļāļĄāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļ run-time error āđāļāļāļāļāļāļąāļ IsError āđāļāļāļēāļĢāļāļāļŠāļāļāļāļē
' āđāļĢāļĒāļĩāļ CalculateDouble āļāđāļĩāļĄāļĩāļāļēāļāļīāļ§āđāļĄāļāļāļŠāļĢāļēāļāļāļēāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļSub Test() Debug.Print CalculateDouble("345.45robert")End Sub
' āļāđ āļēāļŦāļāļāļāļāļāļāļąāļ CalculateDouble FunctionFunction CalculateDouble(Number)
widebase.net âVBA References
17
If IsNumeric(Number) Then CalculateDouble = Number * 2 ' āļŠāļāļāļāļāļāļēāļāļĨāļĨāļąāļāļ Else CalculateDouble = CVErr(2001) ' āļŠāļāļāļāļāļāļēāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļāļāļĩāđāļāļđāđāļāļāđ āļēāļŦāļāļāđāļāļ End If ' āļāļ§āļąāđāļĨāļEnd Function
Date Function, Date$ FunctionDate Function āļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (Date) āđāļāļĒāđāļāļāļāļēāļ§āļąāļāļāļĩāđāļāļēāļĄāļāļēāļŽāļīāļāļēāļāļāļāļĢāļ°āļāļDate$ Function āļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ String āđāļāļĒāđāļāļāļāļēāļ§āļąāļāļāļĩāđāļāļēāļĄāļāļēāļŽāļīāļāļēāļāļāļāļĢāļ°āļāļ
āđāļ§āļĒāļēāļāļĢāļDateDate$
.āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļāļāļąāđāļāļāļēāļ§āļąāļāļāļĩāđāļāļēāļĄāļāļēāļŽāļīāļāļēāļāļāļāļĢāļ°āļāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Format, āļāļāļāļāļąāļ Now, āļāļāļāļāļąāļ Time, āļāļāļāļāļąāļ Time$
āļ§āļīāļāļĩāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļ AccessāļāļēāļĢāđāļāļĢāļāļāļāļāļāļąāļ Date āđāļāļ·āđāļāđāļŠāļāļāļāļēāļ§āļąāļāļāļĩāđāļāļāļāļļāļāļąāļāļāļēāļāļāļēāļŽāļīāļāļēāļāļāļāđāļāļĢāļ·āđāļāļāđāļāļāļāļĢāļĄāđāļĨāļ°āļĢāļēāļĒāļāļēāļāļŠāļēāļĄāļēāļĢāļāļāđ āļēāđāļāđāļāļĒāļāļĨāļīāļāļāļĩāđāļāđ āļēāļŠāđāļąāļ Date and Time āļāļāđāļĄāļāļđ Insert āļāļķāđāļāļāđ āļēāļŠāđāļąāļāļāļĩāđāļāļ°āļŠāļĢāļēāļ Text box āļāļāļāļāļĢāļĄāļŦāļĢāļ·āļāļĢāļēāļĒāļāļēāļ āđāļāļĒāļāļąāđāļāļāļēāļāļļāļāļŠāļĄāļāļąāļāļī ControlSource āđāļāļāļāļāļāļāļąāļ DateāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļąāļāļāļīāļ§āļĢāļĩāđ āļŦāļĢāļ·āļāļĄāļēāđāļāļĢāđāļŦāđāļāļīāđāļĄāļ§āļāđāļĨāđāļāļāļāļāļēāļāļāļāļāļāļąāļ āđāļāļ Date() āļāļąāļ§āļāļĒāļēāļDim myDatemyDate = Date ' āļāđ āļēāļŦāļāļāļāļēāļ§āļąāļāļāđāļĩāļāļāļāļļāļāļąāļāļāļēāļāļāļēāļŽāļīāļāļēāļāļāļāđāļāļĢāļ·āđāļāļ
āļāļąāļ§āļāļĒāļēāļāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļ AccessāļāļēāļĢāļāđ āļēāļŦāļāļāļāļāļāļāļąāļ Date āļāļĩāđāļāļļāļāļŠāļĄāļāļąāļāļī ControlSource āđāļŦāļāđ āļēāļŦāļāļāđāļāļĢāļđāļāđāļāļāđāļāļ=Date()
āļāļēāļĢāļāđ āļēāđāļāđāļāđāļāļāļēāļĢāļāđ āļēāļāļ§āļāđāļ Criteria āļāļāļāļāļīāļ§āļĢāļĩāđ āđāļāļ āļāļēāļĢāļāļąāļāđāļĨāļ·āļāļāđāļĢāļāļāļāļĢāļāļāļĩāđāļĄāļĩāļāļĒāļđāđāļāļāļ§āļāļĒāļāļāļŦāļĨāļąāļāđāļĄāđāļāļīāļ 90 āļ§āļąāļāđāļŦāļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļāđāļāļBetween Date() and Date()-90
widebase.net âVBA References
18
Date Statementāļāļąāđāļāļāļēāļ§āļąāļāļāļĩāđāļāļāļāļļāļāļąāļ
āđāļ§āļĒāļēāļāļĢāļDate = dateāļŠāđ āļēāļŦāļĢāļąāļāļĢāļ°āļāļāļāļāļīāļāļąāļāļīāļāļēāļĢ Microsoft Windows 95 āļāļāļāļāļēāļĢāļāļāļāđ āļēāļŦāļāļ date āđāļāļāļ§āļąāļāļāļĩāđāļāļēāļ 1 āļĄāļāļĢāļēāļāļĄ
1980 āļāļķāļ 31 āļāļąāļāļ§āļēāļāļĄ 2099 āļŠāđ āļēāļŦāļĢāļąāļāļĢāļ°āļāļāļāļāļīāļāļąāļāļīāļāļēāļĢ Microsoft Windows NT āļāļāļāđ āļēāļŦāļāļ date āļāļāļāđāļāļāļ§āļąāļāļāļĩāđāļāļēāļ 1 āļĄāļāļĢāļēāļāļĄ 1980 āļāļķāļ 31 āļāļąāļāļ§āļēāļāļĄ 2079
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Date, āļāļāļāļāļąāļ Time, Time Statement
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Date āđāļāļ·āđāļāļāļąāđāļāļāļēāļ§āļąāļāļāļĩāđāļāļāļāđāļāļĢāļ·āđāļāļāļāļāļĄāļāļīāļ§āđāļāļāļĢ
Dim MyDateMyDate = #Febuary 12, 1985# ' āļāđ āļēāļŦāļāļāļ§āļąāļāļāđāļĩDate = MyDate ' āđāļāļĨāļĩāļĒāđāļāļ§āļąāļāļāđāļĩ āļāļāļāļĢāļ°āļāļ
DateAdd FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (Date) āđāļĨāļ°āđāļāļāļ§āļąāļāļāļĩāđāļ āļēāļĒāđāļāļāļ§āļāļāļĩāđāļĢāļ°āļāļļ
āđāļ§āļĒāļēāļāļĢāļDateAdd(interval, number, date)āļāļēāļāļīāļ§āđāļĄāļāļāļāļāļāļāļāļāļāļąāļ DateAdd āļĄāļĩāļāļ§āļēāļĄāļŦāļĄāļēāļĒ āļāļ·āļ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļinterval āļāļąāļāļāļąāļ, āđāļāļ Expression āđāļāļ String āđāļāļ·āđāļāļĢāļ°āļāļļāļĨāļąāļāļĐāļāļ°āļāļ§āļāđāļ§āļĨāļēāļāļĩāđāļāļāļāļāļēāļĢnumber āļāļąāļāļāļąāļ, āđāļāļ Expression āđāļāļ·āđāļāļĢāļ°āļāļļāļāļēāļāļāļāļāļ§āļāđāļ§āļĨāļēāļāļĩāđāļāļāļāļŠāļēāļĄāļēāļĢāļāđāļāļāļāļēāļāļ§āļ (āļŠāđ āļēāļŦāļĢāļąāļ
āđāļŠāļāļāļāļ§āļāđāļ§āļĨāļēāđāļāļāļāļēāļāļ) āđāļĨāļ°āļĨāļ (āļŠāđ āļēāļŦāļĢāļąāļāđāļŠāļāļāļāļ§āļāđāļ§āļĨāļēāđāļāļāļāļĩāļ)date āļāļąāļāļāļąāļ,āđāļāļāļ§āļąāļāļāļĩāđ āļāļĩāđāđāļāđāļŠāļāļāļāļļāļāđāļĢāļīāđāļĄāļāļāđāļāļāļēāļĢāļŦāļēāļāļēāļāļ§āļāđāļ§āļĨāļē
āļāļēāļĢāļāļąāđāļāļāļēāļāļēāļāļēāļāļīāļ§āđāļĄāļāļ Interval āļāđ āļēāļŦāļāļāļāļēāđāļāđāļāļ
āļāļēāļĢāļāđ āļēāļŦāļāļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļyyyy āļ
widebase.net âVBA References
19
āļāļēāļĢāļāđ āļēāļŦāļāļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļq āđāļāļĢāļĄāļēāļŠm āđāļāļ·āļāļy āļ§āļąāļāļāļāļāļd āļ§āļąāļw āļ§āļąāļāļāļāļāļŠāļąāļāļāļēāļŦww āļŠāļąāļāļāļēāļŦh āļāļąāđāļ§āđāļĄāļn āļāļēāļāļĩs āļ§āļīāļāļēāļāļĩ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļāļāļāļąāļ DateAdd āļŠāļēāļĄāļēāļĢāļāļŦāļēāļ§āļąāļāļāļĩāđāļāļ§āļĒāļāļēāļĢāđāļāļīāđāļĄāļŦāļĢāļ·āļāļĨāļāļāļēāļāļ§āļąāļāļāļĩāđāļĢāļ°āļāļļ āđāļāļ āļāļēāļĢāļāđ āļēāļāļ§āļāļŦāļēāļāļēāļ§āļąāļāļāļĩāđāđāļ 45 āļ§āļąāļāļāļēāļāļŦāļāļēāļāļēāļĢāļāđ āļēāļāļ§āļāļŦāļēāļāļēāļ§āļąāļāļāļĩāđāļāļ°āđāļĄāļŠāļāļāļēāļ§āļąāļāļāļĩāđāļāļĩāđāđāļĄāļĄāļĩāļāļĢāļīāļ āđāļāļ āļāļēāļĢāļŦāļēāļ§āļąāļāļāļĩāđāļāļāļ 1 āđāļāļ·āļāļāļāļąāļāļāļēāļ 31 āļĄāļāļĢāļēāļāļĄ 1999DateAdd(âmâ, 1, â31-Jan-1999)
āļāļĨāļĨāļąāļāļāļāļ·āļāļ§āļąāļāļāļĩāđ 28 āļāļļāļĄāļ āļēāļāļąāļāļ 1999 āđāļāļāļēāđāļāļ 31 āļĄāļāļĢāļēāļāļĄ 2000 āļāļ°āđāļāļāļĨāļĨāļąāļāļāđāļāļ 29 āļāļļāļĄāļ āļēāļāļąāļāļ 2000āļāļē number āđāļĄāđāļāļāļēāļāđ āļēāļāļ§āļāđāļāđāļĄ (Integer) āļāļ°āđāļāļĢāļąāļāļāļĢāļąāļāļāļēāļāļēāļĄāļāļēāļāļĩāđāđāļāļĨāđāļāļĩāļĒāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ DateDiff, āļāļāļāļāļąāļ DatePart, āļāļāļāļāļąāļ Day, āļāļāļāļāļąāļ Format, āļāļāļāļāļąāļ Now, āļāļāļāļāļąāļ WeekDay,āļāļāļāļāļąāļ Year
āļāļąāļ§āļāļĒāļēāļ
Dim FirstDate As DateDim IntervalType As StringDim Number As IntegerDim Msg
IntervalType = "m"FirstDate = InputBox("Enter a date")Number = InputBox("Enter number of month to add")Msg = "New date: " & DateAdd(IntervalType, Number, FirstDate)MsgBox = Msg
āļāļąāļ§āļāļĒāļēāļāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļ AccessāļāļēāļĢāļāđ āļēāļŦāļāļāļāļāļāļāļąāļ DateAdd āđāļāļāļąāļ§ Control āđāļāļ Text box āđāļŦāļāđ āļēāļŦāļāļāļāļĩāđāļāļļāļāļŠāļĄāļāļąāļāļī ControlSource āđāļāļĢāļđāļāđāļāļ=DateAdd("d", 30, [OrderDate] )
widebase.net âVBA References
20
DateDiff FunctionāļāļēāļāļĩāđāļŠāļāļāļāļāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (Long) āđāļĨāļ°āđāļāļāļāļēāļāļąāļ§āđāļĨāļāļāļāļāļ āļēāļĒāđāļāļāļ§āļāļāļĩāđāļĢāļ°āļāļļ
āđāļ§āļĒāļēāļāļĢāļDateDiff(interval, date1, date2[,firstdayofweek[,firstweekofyear]])āļāļēāļāļīāļ§āđāļĄāļāļāļāļāļāļāļāļāļāļąāļ DateDiff āļĄāļĩāļāļ§āļēāļĄāļŦāļĄāļēāļĒ āļāļ·āļ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļinterval āļāļąāļāļāļąāļ, āđāļāļ Expression āđāļāļ String āđāļāļ·āđāļāļĢāļ°āļāļļāļĨāļąāļāļĐāļāļ°āļāļ§āļāđāļ§āļĨāļēāļāļĩāđāļāļāļāļāļēāļĢāđāļāļāļēāļĢ
āļāđ āļēāļāļ§āļāļāļēāļāļ§āļēāļĄāđāļāļāļāļēāļāļĢāļ°āļŦāļ§āļēāļ date1 āđāļĨāļ° date2date1, date2 āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāļ§āļąāļāļāļĩāđ āļŠāđ āļēāļŦāļĢāļąāļāđāļāđāļāļāļēāļĢāļāđ āļēāļāļ§āļfirstdayofweek āđāļĄāļāļąāļāļāļąāļ,āđāļāļāļāļēāļāļāļāļĩāđāđāļāļ·āđāļāļĢāļ°āļāļļāļ§āļąāļāđāļĢāļāļāļāļāļŠāļąāļāļāļēāļŦ āļāļēāđāļĄāļāđ āļēāļŦāļāļ āļāļ°āđāļāļ§āļąāļāļāļēāļāļīāļāļĒāđāļāļāļ§āļąāļ
āđāļĢāļāļāļāļāļŠāļąāļāļāļēāļŦfirstweekofyear āđāļĄāļāļąāļāļāļąāļ, āđāļāļāļāļēāļāļāļāļĩāđāđāļāļ·āđāļāļĢāļ°āļāļļāļŠāļąāļāļāļēāļŦāđāļĢāļāļāļāļāļ āļāļēāđāļĄāļāđ āļēāļŦāļāļ āļāļ°āļāļąāļāļŠāļąāļāļāļēāļŦāļāļĩāđāļĄāļĩāļ§āļąāļāļāļĩāđ 1
āļĄāļāļĢāļēāļāļĄāđāļāļāļŠāļąāļāļāļēāļŦāđāļĢāļ
āļāļēāļĢāļāļąāđāļāļāļēāļāļēāļāļēāļāļīāļ§āđāļĄāļāļ Interval āļāđ āļēāļŦāļāļāļāļēāđāļāđāļāļ
āļāļēāļĢāļāđ āļēāļŦāļāļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļyyyy āļq āđāļāļĢāļĄāļēāļŠm āđāļāļ·āļāļy āļ§āļąāļāļāļāļāļd āļ§āļąāļw āļ§āļąāļāļāļāļāļŠāļąāļāļāļēāļŦww āļŠāļąāļāļāļēāļŦh āļāļąāđāļ§āđāļĄāļn āļāļēāļāļĩs āļ§āļīāļāļēāļāļĩ
āļāļēāļāļēāļāļīāļ§āđāļĄāļāļ firstdayofweek āļāđ āļēāļŦāļāļāļāļēāđāļāđāļāļ
āļāļēāļāļāļāļĩāđ āļāļē āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļvbUseSystem 0 āļāļąāđāļāļāļēāļāļēāļĄ NLS API
widebase.net âVBA References
21
āļāļēāļāļāļāļĩāđ āļāļē āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļvbSunday 1 āļ§āļąāļāļāļēāļāļīāļāļĒ (āļāļēāđāļĢāļīāđāļĄāļāļ)vbMonday 2 āļ§āļąāļāļāļąāļāļāļĢvbTuesday 3 āļ§āļąāļāļāļąāļāļāļēāļĢvbWednesday 4 āļ§āļąāļāļāļļāļvbThursday 5 āļ§āļąāļāļāļĪāļŦāļąāļŠāļāļāļĩvbFriday 6 āļ§āļąāļāļĻāļļāļāļĢvbSaturday 7 āļ§āļąāļāđāļŠāļēāļĢ
āļāļēāļāļēāļāļīāļ§āđāļĄāļāļ firstweekofyear āļāđ āļēāļŦāļāļāļāļēāđāļāđāļāļ
āļāļēāļāļāļāļĩāđ āļāļē āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļvbUseSystem 0 āļāļąāđāļāļāļēāļāļēāļĄ NLS APIvbFirstJan1 1 āđāļĢāļīāđāļĄāļāļąāļāļāļēāļāļŠāļąāļāļāļēāļŦāļāļĩāđāļĄāļĩ āļ§āļąāļāļāļĩāđ 1 āļĄāļāļĢāļēāļāļĄ (āļāļēāđāļĢāļīāđāļĄāļāļ)vbFirstFourdays 2 āđāļĢāļīāđāļĄāļāļąāļāļāļēāļāļŠāļąāļāļāļēāļŦāđāļĢāļāļāļāļāļāļāļĩāđāļĄāļĩāļ§āļąāļāļāļĒāļēāļāļāļāļĒ 4 āļ§āļąāļvbFirstFullWeek 3 āđāļĢāļīāđāļĄāļāļąāļāļāļēāļāļŠāļąāļāļāļēāļŦāđāļĢāļāļāļāļāļāļāļĩāđāļĄāļĩāļ§āļąāļāļāļĢāļ 7 āļ§āļąāļ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļāļāļāļąāļ DateDiff āđāļāļāļŦāļēāļāļēāļāļ§āļāđāļ§āļĨāļēāļāļĩāđāļāļāļāļāļēāļĢāļĢāļ°āļŦāļ§āļēāļāļ§āļąāļāļāļĩāđāļĢāļ°āļāļļ 2 āļ§āļąāļ āđāļāļ āļāļēāļĢāļŦāļēāļāđ āļēāļāļ§āļāļ§āļąāļāļĢāļ°āļŦāļ§āļēāļāļ§āļąāļāļāļĩāđ 15 āļĄāļāļĢāļēāļāļĄ 2000 āļāļąāļ āļ§āļąāļāļāļĩāđ 20 āļāļĢāļāļāļēāļāļĄ 2000 āđāļāļāļēāļĢāļāđ āļēāļāļ§āļāļāđ āļēāļāļ§āļāļ§āļąāļāļĢāļ°āļŦāļ§āļēāļ date1 āđāļĨāļ° date2 āļŠāļēāļĄāļēāļĢāļāđāļāļāļē interval āđāļāļ âdâ āļŦāļĢāļ·āļ âyâ āļŠāļ§āļāļāļēāļĢāļŦāļēāļāđ āļēāļāļ§āļāđāļāļ·āļāļāđāļāļāļē interval āđāļāļ âmâ āļŦāļĢāļ·āļāđāļāļ·āđāļāļāđāļāļāļ·āđāļāļāļēāļĄāļāļĩāđāļāļāļāļāļēāļĢ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ DateAdd, āļāļāļāļāļąāļ DatePart, āļāļāļāļāļąāļ Day, āļāļāļāļāļąāļ Format, āļāļāļāļāļąāļ Now, āļāļāļāļāļąāļ WeekDay,āļāļāļāļāļąāļ Year
āļāļąāļ§āļāļĒāļēāļDim TheDate As DateDim MsgThedate = InputBox("Enter a date")Msg = "Days from today: " & DateDiff("d" , Now, TheDate )MsgBox Msg
āļāļąāļ§āļāļĒāļēāļāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļ AccessāļāļēāļĢāļāđ āļēāđāļāļāļĢāļ°āļĒāļļāļāļāđāļāļāļāļĨāļāļāđ āļēāļāļ§āļāđāļāļāļīāļ§āļĢāļĩāđāļāđ āļēāđāļāđāļāļĒāļāļēāļĢāļāđ āļēāļŦāļāļāļāļāļāļāļąāļ DateDiff āđāļāļāļĨāļāđāļŦāļĄDaysInProcess: DateDiff(âyâ, [OrderDate], [Shippeddate])
widebase.net âVBA References
22
āļāļēāļāļāļāļāļēāļĢāđāļāļĩāļĒāļāļāļąāļāļ§āļąāļāļāļĩāđāļāļĩāđāļĢāļ°āļāļļ āđāļāļ 1 Feb 2000 āļāļ°āļāļāļāļĄāļĩāļŠāļąāļāļĨāļąāļāļĐāļ # āļāļąāđāļāļāļēāļāļŦāļāļēāđāļĨāļ°āļāļēāļāļŦāļĨāļąāļāļāļāļāļ§āļąāļāļāļĩāđāđāļāļ·āđāļāđāļŦ Visual Basic āļāļĢāļēāļāļ§āļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāļ§āļąāļāļāļĩāđDaysDiff: DateDiff("m", [OrderDate], #1 Feb 2000#)
DatePart FunctionāļāļēāļāļĩāđāļŠāļāļāļāļāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (Integer) āđāļĨāļ°āđāļāļāļāļēāļāļąāļ§āđāļĨāļāļāļāļāļŠāļ§āļāļāļĩāđāļĢāļ°āļāļļ
āđāļ§āļĒāļēāļāļĢāļDatePart(interval, date[,firstdayofweek[,firstweekofyear]])āļāļēāļāļīāļ§āđāļĄāļāļāļāļāļāļāļāļāļāļąāļ DatePart āļĄāļĩāļāļ§āļēāļĄāļŦāļĄāļēāļĒ āļāļ·āļ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļinterval āļāļąāļāļāļąāļ, āđāļāļ Expression āđāļāļ String āđāļāļ·āđāļāļĢāļ°āļāļļāļĨāļąāļāļĐāļāļ°āļāļ§āļāđāļ§āļĨāļēāļāļĩāđāļāļāļāļāļēāļĢāđāļāļāļēāļĢ
āļāđ āļēāļāļ§āļāļāļēāļāļ§āļēāļĄāđāļāļāļāļēāļāļĢāļ°āļŦāļ§āļēāļ date1 āđāļĨāļ° date2date āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāļ§āļąāļāļāļĩāđ āļŠāđ āļēāļŦāļĢāļąāļāđāļāđāļāļāļēāļĢāļāđ āļēāļāļ§āļfirstdayofweek āđāļĄāļāļąāļāļāļąāļ,āđāļāļāļāļēāļāļāļāļĩāđāđāļāļ·āđāļāļĢāļ°āļāļļāļ§āļąāļāđāļĢāļāļāļāļāļŠāļąāļāļāļēāļŦ āļāļēāđāļĄāļāđ āļēāļŦāļāļ āļāļ°āđāļāļ§āļąāļāļāļēāļāļīāļāļĒāđāļāļāļ§āļąāļ
āđāļĢāļāļāļāļāļŠāļąāļāļāļēāļŦfirstdayofyear āđāļĄāļāļąāļāļāļąāļ, āđāļāļāļāļēāļāļāļāļĩāđāđāļāļ·āđāļāļĢāļ°āļāļļāļŠāļąāļāļāļēāļŦāđāļĢāļāļāļāļāļ āļāļēāđāļĄāļāđ āļēāļŦāļāļ āļāļ°āļāļąāļāļŠāļąāļāļāļēāļŦāļāļĩāđāļĄāļĩāļ§āļąāļāļāļĩāđ 1
āļĄāļāļĢāļēāļāļĄāđāļāļāļŠāļąāļāļāļēāļŦāđāļĢāļ
āļāļēāļĢāļāļąāđāļāļāļēāļāļēāļāļēāļāļīāļ§āđāļĄāļāļ Interval āļāđ āļēāļŦāļāļāļāļēāđāļāđāļāļ
āļāļēāļĢāļāđ āļēāļŦāļāļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļyyyy āļq āđāļāļĢāļĄāļēāļŠm āđāļāļ·āļāļy āļ§āļąāļāļāļāļāļd āļ§āļąāļw āļ§āļąāļāļāļāļāļŠāļąāļāļāļēāļŦww āļŠāļąāļāļāļēāļŦh āļāļąāđāļ§āđāļĄāļn āļāļēāļāļĩs āļ§āļīāļāļēāļāļĩ
āļāļēāļāļēāļāļīāļ§āđāļĄāļāļ firstdayofweek āļāđ āļēāļŦāļāļāļāļēāđāļāđāļāļ
widebase.net âVBA References
23
āļāļēāļāļāļāļĩāđ āļāļē āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļvbUseSystem 0 āļāļąāđāļāļāļēāļāļēāļĄ NLS APIvbSunday 1 āļ§āļąāļāļāļēāļāļīāļāļĒ (āļāļēāđāļĢāļīāđāļĄāļāļ)vbMonday 2 āļ§āļąāļāļāļąāļāļāļĢvbTuesday 3 āļ§āļąāļāļāļąāļāļāļēāļĢvbWednesday 4 āļ§āļąāļāļāļļāļvbThursday 5 āļ§āļąāļāļāļĪāļŦāļąāļŠāļāļāļĩvbFriday 6 āļ§āļąāļāļĻāļļāļāļĢvbSaturday 7 āļ§āļąāļāđāļŠāļēāļĢ
āļāļēāļāļēāļāļīāļ§āđāļĄāļāļ firstweekofyear āļāđ āļēāļŦāļāļāļāļēāđāļāđāļāļ
āļāļēāļāļāļāļĩāđ āļāļē āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļvbUseSystem 0 āļāļąāđāļāļāļēāļāļēāļĄ NLS APIvbFirstJan1 1 āđāļĢāļīāđāļĄāļāļąāļāļāļēāļāļŠāļąāļāļāļēāļŦāļāļĩāđāļĄāļĩ āļ§āļąāļāļāļĩāđ 1 āļĄāļāļĢāļēāļāļĄ (āļāļēāđāļĢāļīāđāļĄāļāļ)vbFirstFourdays 2 āđāļĢāļīāđāļĄāļāļąāļāļāļēāļāļŠāļąāļāļāļēāļŦāđāļĢāļāļāļāļāļāļāļĩāđāļĄāļĩāļ§āļąāļāļāļĒāļēāļāļāļāļĒ 4 āļ§āļąāļvbFirstFullWeek 3 āđāļĢāļīāđāļĄāļāļąāļāļāļēāļāļŠāļąāļāļāļēāļŦāđāļĢāļāļāļāļāļāļāļĩāđāļĄāļĩāļ§āļąāļāļāļĢāļ 7 āļ§āļąāļ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļēāļĢāđāļāļāļāļāļāļąāļ DatePart āđāļāļ·āđāļāđāļŠāļāļāļāļēāļāļāļāļŠāļ§āļāđāļāļŠāļ§āļāļŦāļāļķāđāļāļāļāļāļ§āļąāļāļāļĩāđ āđāļāļ āļ§āļąāļ āđāļāļ·āļāļ āļŦāļĢāļ·āļāļ āļāļąāļ§āļāļĒāļēāļāđāļāļ DatePart (âmâ, 15 Aug 2000) āļāļēāđāļāļēāļāļąāļ 8 āđāļāļĒāļāļēāļāļĩāđāļŠāļāļāļāļāļĄāļēāđāļāļāļāļąāļ§āđāļĨāļāļāļķāđāļāļŠāļēāļĄāļēāļĢāļāļāđ āļēāđāļāđāļāđāļāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļĩāđāļāļāļāļāļēāļĢāļāļēāļāļĩāđāđāļāļāļāļąāļ§āđāļĨāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ DateAdd, āļāļāļāļāļąāļ DateDiff, āļāļāļāļāļąāļ Day, āļāļāļāļāļąāļ Format, āļāļāļāļāļąāļ Now, āļāļāļāļāļąāļ WeekDay,āļāļāļāļāļąāļ Year
āļāļąāļ§āļāļĒāļēāļDim TheDate As DateDim MsgThedate = InputBox("Enter a date")Msg = "Quarter: " & DateDiff("q" , TheDate )MsgBox Msg
āļāļąāļ§āļāļĒāļēāļāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļ AccessāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļāļāļāļąāļ DatePart āļŠāļēāļĄāļēāļĢāļāļāđ āļēāđāļāđāļāđāļ Criteria āļāļāļāļāļīāļ§āļĢāļĩāđ āđāļāļ(DatePart("q", [OrderDate]) = 1 ) And (DatePart("yyyy", [OrderDate]) = 2000 )
widebase.net âVBA References
24
DateSerial FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (Date) āļāļēāļāļāļēāļĢāļāđ āļēāļŦāļāļ āļ, āđāļāļ·āļāļ āđāļĨāļ°āļ§āļąāļ
āđāļ§āļĒāļēāļāļĢāļDateSerial(year, month, date)āļāļēāļāļīāļ§āđāļĄāļāļāļāļāļāļāļāļāļāļąāļ DateSerial āļĄāļĩāļāļāļāđ āļēāļŦāļāļ āļāļ·āļ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļyear āļāļąāļāļāļąāļ, āđāļāļāļāļēāļāđ āļēāļāļ§āļāđāļāđāļĄ (Integer) āļāļķāđāļāļāļ°āļāļāļāļĄāļĩāļāļēāļĢāļ°āļŦāļ§āļēāļ 100 āļāļķāļ 9999 āļĢāļ§āļĄāļāļķāļ
Expression āļāļĩāđāđāļŦāļāļēāļāļąāļāļāļĨāļēāļ§month āļāļąāļāļāļąāļ, āđāļāļāļāļēāļāđ āļēāļāļ§āļāđāļāđāļĄ (Integer)day āļāļąāļāļāļąāļ, āđāļāļāļāļēāļāđ āļēāļāļ§āļāđāļāđāļĄ (Integer)
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļāļāļāļąāļ DateSerial āđāļāđāļāļāļēāļĢāđāļāļēāļ°āļāļāļ§āļąāļāļāļĩāđ āđāļāļĒāļāļēāļāļāļāļāļēāļāļīāļ§āđāļĄāļāļāļāļ°āļĒāļāļĄāļĢāļąāļāļāļ§āļāļāļāļāļāļēāļĄāļŠāļ§āļ āđāļāļ month āļĒāļāļĄāļĢāļąāļāļāļē 1 â 12 āđāļĨāļ° date āļĒāļāļĄāļĢāļąāļāļāļē 1 â 31 āļāļķāđāļāļāļēāļĢāđāļŠāļāļāļāļēāļāļāļāļāļēāļāļīāļ§āđāļĄāļāļāļŠāļēāļĄāļēāļĢāļāđāļ Expression āļāļĩāđāđāļŦāļāļĨāļĨāļąāļāļāđāļāļāļāļāļĄāļđāļĨāļāļąāļ§āđāļĨāļ āđāļāļ āļāļēāļĢāļŦāļēāļ§āļąāļāļāļāļāļ§āļąāļāļāļĩāđ 1 (1 â 1), āļāļēāļĢāđāļāļ·āļāļāļāļāļāđāļāļ·āļāļāļŠāļīāļāļŦāļēāļāļĄ 2 āđāļāļ·āļāļ (8 â 2), 10 āļāļāļāļāļ 2000 (2000 â 10) āļāļ°āđāļāļāļĨāļĨāļąāļāļāđāļāļāļ§āļąāļāļāļĩāđ 31 āļāļĪāļĐāļ āļēāļāļĄ 2000DateSerial(2000 â 10, 8 â 2, 1 â 1)
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Date, āļāļāļāļāļąāļ DateValue, āļāļāļāļāļąāļ Day, āļāļāļāļāļąāļ Month, āļāļāļāļāļąāļ Now, āļāļāļāļāļąāļ TimeSerial, āļāļāļāļāļąāļTimeValue, āļāļāļāļāļąāļ Weekday, āļāļāļāļāļąāļ Year
āļāļąāļ§āļāļĒāļēāļDim myDatemyDate = DateSerial(1998, 3, 20) ' āļāļĨāļĨāļąāļāļāļāļ·āļ myDate = 20 March 1998
DateValue FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (Date)
āđāļ§āļĒāļēāļāļĢāļDateValue(date)āļāļēāļāļīāļ§āđāļĄāļāļ date āļāļēāļĄāļāļāļāļīāļĄāļąāļāļāļ°āđāļāļ Expression āļāļĩāđāđāļāļāļāļąāļ§āļāļąāļāļĐāļĢ āđāļāļĒāđāļĢāļīāđāļĄ 1 āļĄāļāļĢāļēāļāļĄ āļ.āļĻ. 100 āļāļķāļ
31 āļāļąāļāļ§āļēāļāļĄ āļ.āļĻ. 9999
widebase.net âVBA References
25
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļē date āđāļāļāļāļāļāļ§āļēāļĄāļāļĩāđāļĄāļĩāļāļēāļĢāđāļāļāļāļļāļĨāļ āļēāļāđāļāļāđ āļēāđāļŦāļāļāļāļĩāđāļāļđāļāļāļāļ āļāļāļāļāļąāļ DateValue āļāļ°āļŠāļēāļĄāļēāļĢāļāļāļĢāļēāļāļāļēāļāļĢāļīāļāļāļķāļāđāļĄāļ§āļēāļāļ°āļāđ āļēāļŦāļāļāđāļāļāđāļāļ ShortDate āđāļāļ 12/30/1997 āđāļĨāļ° 12/30/97 āļāļāļāļāļąāļ DateValue āļāļ°āļāļĢāļēāļāļ§āļēāđāļāļāļ§āļąāļāļāļĩāđ 30 āļāļąāļāļ§āļēāļāļĄ 1997
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Date, āļāļāļāļāļąāļ DateSerial, āļāļāļāļāļąāļ Day, āļāļāļāļāļąāļ Month, āļāļāļāļāļąāļ Now, āļāļāļāļāļąāļ TimeSerial, āļāļāļāļāļąāļTimeValue, āļāļāļāļāļąāļ Weekday, āļāļāļāļāļąāļ Year
āļāļąāļ§āļāļĒāļēāļāļāļāļāļāļąāļ DateValue āļāđ āļēāļĄāļēāđāļāđāļāļāļēāļĢāđāļāļĨāļāļāļāļāļ§āļēāļĄāļāļĩāđāļāļĒāļđāđāļāļĢāļđāļāđāļāļāļ§āļąāļāļāļĩāđ āđāļŦāđāļāļāļāļēāļ§āļąāļDim myDatemyDate = DateValue("June 12, 1968") ' āļāļĨāļĨāļāļąāļāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāļ§āļąāļāļāđāļĩ
Day FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (Integer) āđāļāļāļ§āļ 1 āļāļķāļ 31 āļāļēāļāļŠāļ§āļāļ§āļąāļāļāļāļāļ§āļąāļāļāļĩāđ
āđāļ§āļĒāļēāļāļĢāļDay(date)āļāļēāļāļīāļ§āđāļĄāļāļ date āļŠāļēāļĄāļēāļĢāļāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāļāļāļāļ§āļēāļĄ (String) āļāļąāļ§āđāļĨāļ āļŦāļĢāļ·āļ Expression āļāļĩāđāđāļŠāļāļāđāļāļĢāļđāļ
āđāļāļāļāļāļāļ§āļąāļāļāļĩāđ āļāļē date āđāļāļāļāļēāļ§āļēāļ (Null) āļāļĨāļĨāļąāļāļāļāļ°āđāļāļāļāļēāļ§āļēāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Date, āļāļāļāļāļąāļ Hour, āļāļāļāļāļąāļ Minute, āļāļāļāļāļąāļ Month, āļāļāļāļāļąāļ Now, āļāļāļāļāļąāļ Second, āļāļāļāļāļąāļWeekday, āļāļāļāļāļąāļ Year
āļāļąāļ§āļāļĒāļēāļāļāļāļāļāļąāļ Day āļāđ āļēāļĄāļēāđāļāđāļāļāļēāļĢāđāļāļĨāļāļāļāļāļ§āļēāļĄāđāļāļĢāļđāļāđāļāļāļ§āļąāļāļāļĩāđ āđāļŦāđāļāļāļāļēāļāļāļāļ§āļąāļDim myDate, myDaymyDate = #June 12, 1968#myDay = Day(myDate) ' āļāļĨāļĨāļąāļāļ myDay =12
DDB FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double āļāļāļāļāļēāđāļŠāļ·āđāļāļĄāļĢāļēāļāļēāđāļāļāļĢāļąāļāļĒāļŠāļīāļāđāļĨāļ°āļāļ§āļāđāļ§āļĨāļēāļāļĩāđāļĢāļ°āļāļļ āđāļāļĒāđāļāļāļēāļĢāļāđ āļēāļāļ§āļāļāļēāđāļŠāđāļ·āļāļĄāļĢāļēāļāļēāđāļāļ double-declining balance āļŦāļĢāļ·āļāļ§āļīāļāļĩāļāļ·āđāļāļāļēāļĄāļāļĩāđāļāđ āļēāļŦāļāļ
āđāļ§āļĒāļēāļāļĢāļDDB(cost, salvage, life, period [,factor])
widebase.net âVBA References
26
āļāļēāļāļīāļ§āđāļĄāļāļāļāļāļāļāļāļāļāļąāļ DDB āļĄāļĩāļāļ§āļēāļĄāļŦāļĄāļēāļĒ āļāļ·āļ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļcost āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double, āļĢāļ°āļāļļāļāļāļāļļāļāđāļĢāļīāđāļĄāļāļsalvage āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double, āļĢāļ°āļāļļāļĢāļēāļāļēāļāļēāļāđāļĄāļ·āđāļāļŠāđāļīāļāļŠāļļāļāļāļēāļĒāļļāđāļāļāļēāļlife āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double, āļāļēāļĒāļļāļāļēāļĢāđāļāļāļēāļāđāļāļāļēāļĢāļāđ āļēāļāļ§āļPeriod āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double, āļĢāļ°āļāļļāļāđ āļēāļāļ§āļāļāļ§āļāđāļāļāļēāļĢāļāđ āļēāļāļ§āļāļāļēāđāļŠāļ·āđāļāļĄāļĢāļēāļāļēFactor āđāļĄāļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant, āļĢāļ°āļāļļāļāļąāļāļĢāļēāļāļēāļĢāļĨāļāļĨāļ āļāļēāđāļĄāļāđ āļēāļŦāļāļ āđāļāļāļē 2
(double declining balance)
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļ§āļīāļāļĩāļāļēāļĢ double-declining balance āļāđ āļēāļāļ§āļāļāļēāđāļŠāļ·āđāļāļĄāļāļ§āļĒāļāļąāļāļĢāļēāđāļĢāļ āđāļāļĒāļāļēāđāļŠāļ·āđāļāļĄāļĢāļēāļāļēāļāļ°āļĨāļāļĨāļāļĄāļēāļāļāļĩāđāļŠāļļāļāđāļāļāļ§āļāđāļĢāļāđāļĨāļ°āļāļāļĒāļĨāļāđāļāļāļ§āļāļāļāđāđāļāļāļēāļāļīāļ§āđāļĄāļāļ life āđāļĨāļ° period āļāļāļāđāļāļŦāļāļ§āļĒāđāļāļĩāļĒāļ§āļāļąāļ āđāļāļ āļāļē life āļāđ āļēāļŦāļāļāđāļāļāđāļāļ·āļāļ period āļāļāļāđāļāļŦāļāļ§āļĒāđāļāļāđāļāļ·āļāļāļāļ§āļĒ āļāļēāļāļīāļ§āđāļĄāļāļāļāļąāđāļāļŦāļĄāļāļāļāļāđāļāļāļāļēāļāļ§āļāļāļāļāļāļąāļ DDB āđāļāļŠāļđāļāļĢāđāļāļāļēāļĢāļāđ āļēāļāļ§āļāļāļēāđāļŠāļ·āđāļāļĄāļĢāļēāļāļē
( )( )life
factorsalvagetperiod
onDepreciati *cos â=
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ FV, āļāļāļāļāļąāļ IPmt, āļāļāļāļāļąāļ IRR, āļāļāļāļāļąāļ MIRR, āļāļāļāļāļąāļ NPer, āļāļāļāļāļąāļ NPV, āļāļāļāļāļąāļ Pmt, āļāļāļāļāļąāļPPmt, āļāļāļāļāļąāļ PV, āļāļāļāļāļąāļ Rate, āļāļāļāļāļąāļ SLN, āļāļāļāļāļąāļ SYD
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ DDB āđāļāļ·āđāļāļŠāļāļāļāļāļāļēāđāļŠāļ·āđāļāļĄāļĢāļēāļāļēāļāļāļāļŠāļīāļāļāļĢāļąāļāļĒāđāļāļāļ§āļāļāļĩāđāļĢāļ°āļāļļ āđāļāļĒāđāļŦāļāļēāļāļāļāļļāļāđāļĢāļīāđāļĄāļāļ (InitCost) āļĢāļēāļāļēāļāļēāļāļāļĩāđāļāļ§āļāļŠāļļāļāļāļēāļĒ (SalvageVal) āļāļēāļĒāļļāļāļēāļĢāđāļāļāļēāļāļāļāļāļāļĢāļąāļāļĒāļŠāļīāļāđāļāļāļ (LifeTime) āđāļĨāļ°āļāļ§āļāļāļĩāđāļāļāļāļāļēāļĢāļāļĢāļēāļāļāļēāđāļŠāļ·āđāļāļĄāļĢāļēāļāļē (Depr)
Dim Fmt, InitCost, SalvageVal, MonthLife, LifeTime, DepYear, DeprConst YRMOS = 12 ' āļ āđāļēāļāļ§āļāđāļāļ·āļāļāđāļ 1 āļFmt = "###,##0.00"InitCost = InputBox("What's the initial cost of the asset?")SalvageVal = InputBox("Enter the asset's value at end of its life.")MonthLife = InputBox("What's the asset's useful life in months?")Do While MonthLife < YRMOS ' Ensure period is >= 1 year. MsgBox "Asset life must be a year or more." MonthLife = InputBox("What's the asset's useful life in months?")LoopLifeTime = MonthLife / YRMOS ' āđāļāļĨāļāđāļāļ·āļāļāđāļāļāļIf LifeTime <> Int(MonthLife / YRMOS) Then LifeTime = Int(LifeTime + 1) ' āļāļĢāļāļąāļāļēāđāļāļāļāļāđāļĩāđāļāļĨāļāđāļĩāļŠāļļāļEnd IfDepYear = CInt(InputBox("Enter year for depreciation calculation."))
widebase.net âVBA References
27
Do While DepYear < 1 Or DepYear > LifeTime MsgBox "You must enter at least 1 but not more than " & LifeTime DepYear = InputBox("Enter year for depreciation calculation.")LoopDepr = DDB(InitCost, SalvageVal, LifeTime, DepYear)MsgBox "The depreciation for year " & DepYear & " is " & _Format(Depr, Fmt) & "."
DeleteSetting StatementāđāļāđāļāļāļēāļĢāļĨāļ section āļŦāļĢāļ·āļ key settings āļāļēāļ application entry āđāļ Registry āļāļāļ Windows
āđāļ§āļĒāļēāļāļĢāļDeleteSetting appname, section [,key]āļāļāļāļāļąāļ DeleteSetting āļĄāļĩāđāļ§āļĒāļēāļāļĢāļāļāļāļāļāļēāļāļīāļ§āđāļĄāļāļ āļāļ·āļ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļappname āļāļąāļāļāļąāļ, āđāļāļ expression āļāļāļāļāļāļāļ§āļēāļĄāļāļĩāđāđāļāđāļāļāđāļ·āļāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļ āļŦāļĢāļ·āļāđāļāļĢāļāļāļēāļĢāļāļĩāđ section
āļŦāļĢāļ·āļ key setting āļāļāļāļāļēāļĢsection āļāļąāļāļāļąāļ, āđāļāļ expression āļāļāļāļāļāļāļ§āļēāļĄāļāļĩāđāđāļāđāļāļāđāļ·āļ section āļāļķāđāļ key setting āļāļđāļāļĨāļ āļāļē
āļāđ āļēāļŦāļāļāđāļāļāļēāļ° appname āđāļĨāļ° section āļāļ°āļĒāļāđāļĨāļīāļ section āļāļĩāđāļĢāļ°āļāļļāļĢāļ§āļĄāļāļķāļ key settingāļāļĩāđāđāļāļĩāđāļĒāļ§āļāļāļ
key āđāļĄāļāļąāļāļāļąāļ, āđāļāļ expression āļāļāļāļāļāļāļ§āļēāļĄāļāļĩāđāđāļāđāļāļāđāļ·āļ key setting āļāļĩāđāļāļđāļāļĨāļ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļēāļāļēāļāļīāļ§āđāļĄāļāļāđāļāļĢāļąāļāļāļēāļĢāļāđ āļēāļŦāļāļāļāļĢāļ key setting āļāļĩāđāļĢāļ°āļāļļāļāļ°āļāļđāļāļĨāļ āđāļāļāļāļāļāļąāļ DeleteSetting āļāļ°āđāļĄāļāđ āļēāļāļ°āđāļĢ āļāļēāļāļē section āļŦāļĢāļ·āļ key setting āđāļĄāļĄāļĩāļāļĢāļīāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ GetAllSettings, āļāļāļāļāļąāļ GetSetting, SaveSetting Statement
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāđ āļēāļŠāđāļąāļ DeleteSetting āļāļķāđāļāđāļĢāļīāđāļĄāļāļēāļāļāļēāļĢāđāļāļāđ āļēāļŠāđāļąāļ SaveSetting āļāđ āļēāļāļēāļĢ Registry āđāļ Windows (āļŦāļĢāļ·āļāđāļāļĨ .ini āđāļ 16-bit Windows) āļŠāđ āļēāļŦāļĢāļąāļāđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļ âMyAppâ āđāļĨāļ§āđāļāļāđ āļēāļŠāđāļąāļ DeleteSetting āļĨāļāļāļēāļāļąāđāļāļŦāļĄāļ
' āļāđāļĩāđāļāļāđāļāļēāļāļēāļāļŠāļ§āļāļāļāļ settings āđāļ registrySaveSetting "MyApp","Startup", "Top", 75SaveSetting "MyApp","Startup", "Left", 50
' āļĒāļāđāļĨāļīāļ section āđāļĨāļ°āļāļē settings āļāđāļąāļāļŦāļĄāļāļāļēāļ RegistryDeleteSetting "MyApp", "Startup"
widebase.net âVBA References
28
Dir Function, Dir$ Functionāļāļāļāļāļąāļ Dir āļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (String) āđāļāļ·āđāļāđāļŠāļāļāļāļ·āđāļāđāļāļĨ āđāļāđāļĢāļāļāļāļĢāļĩ āļŦāļĢāļ·āļāđāļāļĨāđāļāļāļĢ āļāļĩāđāļāļĢāļāļāļąāļāđāļāļāđāļāļ, āļāļļāļāļĨāļąāļāļĐāļāļ°āļāļāļāđāļāļĨ āļŦāļĢāļ·āļāļāļ·āđāļāđāļāļĢāļāļāļāļāļāļąāļ Dir$ āļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ String āđāļāļ·āđāļāđāļŠāļāļāļāļ·āđāļāđāļāļĨ āđāļāđāļĢāļāļāļāļĢāļĩ āļŦāļĢāļ·āļāđāļāļĨāđāļāļāļĢ āļāļĩāđāļāļĢāļāļāļąāļāđāļāļāđāļāļ, āļāļļāļāļĨāļąāļāļĐāļāļ°āļāļāļāđāļāļĨ āļŦāļĢāļ·āļāļāļ·āđāļāđāļāļĢāļ
āđāļ§āļĒāļēāļāļĢāļDir[(pathname [,attributes])]Dir$[(pathname [,attributes])]āļāļāļāļāļąāļ Dir āđāļĨāļ° āļāļāļāļāļąāļ Dir$ āļĄāļĩāđāļ§āļĒāļēāļāļĢāļāļāļāļāļŠāļ§āļ āļāļ·āļ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļpathname āđāļĄāļāļąāļāļāļąāļ, āđāļāļ expression āļāļāļāļāļāļāļ§āļēāļĄāļāļĩāđāļĢāļ°āļāļļāļāļ·āđāļāđāļāļĨ āļāļēāļāļāļ°āļĢāļ§āļĄāļāļķāļāđāļāđāļĢāļāļāļāļĢāļĩāđ āļŦāļĢāļ·āļ
āđāļāļĨāđāļāļāļĢ āđāļĨāļ° drive āļāļēāđāļĄāļāļ pathname āļāļ°āļŠāļāļāļāļāļāļēāđāļāļ zero-length stringattributes āđāļĄāļāļąāļāļāļąāļ, āđāļāļ expression āļāļāļāļāļąāļ§āđāļĨāļāļŦāļĢāļ·āļāļāļēāļāļāļāļĩāđ āļāļķāđāļāđāļŠāļāļāļāļēāļĢāļŠāļĢāļļāļāļāļĢāļ°āđāļ āļāđāļāļĨ āļāļēāđāļĄ
āļāđ āļēāļŦāļāļāđāļāļĨāļāļąāđāļāļŦāļĄāļāļāļĩāđāļāļĢāļāļāļąāļ pathname āļāļ°āđāļāļĢāļąāļāļāļēāļĢāļŠāļāļāļāļāļāļē
āļāļēāļĢāļāļąāđāļāļāļēāļāļēāļāļīāļ§āđāļĄāļāļ attributes āļĄāļĩāļāļēāļĢāļāļąāđāļāļāļē āļāļ·āļ
āļāļēāļāļāļāļĩāđ āļāļē āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļvbNormal 0 āļāļāļāļīvbHidden 1 āļāļāļvbSystem 4 āđāļāļĨ systemvbVolumn 8 Volume label, āļāļēāļĢāļ°āļāļļ āđāļāļĨāļāļĢāļ°āđāļ āļāļāļ·āđāļāļāļ°āđāļĄāļāļīāļāļēāļĢāļāļēvbDirectory 16 āđāļāđāļĢāļāļāļāļĢāļĩ āļŦāļĢāļ·āļāđāļāļĨāđāļāļāļĢ
āļŦāļĄāļēāļĒāđāļŦāļāļļâĒ āļāļēāļāļāļāļĩāđāđāļŦāļĨāļēāļāļĩāđāđāļāļāļĢāļ°āļāļļāđāļāļĒ Visual Basic for Application āļāļ·āđāļāđāļŦāļĨāļēāļāļĩāđāļŠāļēāļĄāļēāļĢāļāđāļāđāļāļāđ āļēāļŠāđāļąāļāđāļāļāļēāļĢāļŦāļēāļāļē
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļāļāļāļąāļ Dir āļŠāļāļąāļāļŠāļāļļāļāļāļēāļĢāļĢāļ°āļāļļāļāļ§āļĒāļāļąāļāļĐāļĢāļāļīāđāļĻāļĐ āļāļĢāļāļĩāļŦāļĨāļēāļĒāļāļąāļ§āļāļąāļāļĐāļĢ ( * ) āđāļĨāļ°āļāļąāļāļĐāļĢāđāļāļĩāđāļĒāļ§ ( ? )āđāļĄāļ·āđāļāļĄāļĩāļāļēāļĢāđāļāļāļāļāļāļąāļ Dir āđāļāļāļāļĢāļąāđāļāđāļĢāļ āļāļāļāļĢāļ°āļāļļ pathname āļŦāļĢāļ·āļāļĄāļĩāļāļāļāļīāļāļāļĨāļēāļāđāļāļīāļāļāļķāđāļ āļāļēāļĄāļĩāļāļēāļĢāļĢāļ°āļāļļ attributesāļāļāļāļĄāļĩāļāļēāļĢāļāđ āļēāļŦāļāļ pathnameāļāļāļāļāļąāļ Dir āļāļ°āļāļāļāļāđāļ·āļāđāļāļĨāđāļĢāļāļāļĩāđāļāļĢāļāļāļąāļ pathname āļāļķāđāļāļāļēāļĢāļāļķāļāļāļ·āđāļāđāļāļĨāļāļĩāđāļāļĢāļāļāļąāļ pathname āđāļāļīāđāļĄ āđāļŦāđāļĢāļĩāļĒāļāļāļāļāļāļąāļ Dir āļāļĩāļāļāļĢāļąāđāļāđāļāļĒāđāļĄāļāļāļāļĄāļĩāļāļēāļāļīāļ§āđāļĄāļāļ āļāļēāđāļĄāļĄāļĩāļāļ·āđāļāđāļāļĨāļāļĩāļāđāļĨāļ§ āļāļāļāļāļąāļ Dir āļāļ°āļŠāļāļāļāļāļāļēāđāļāļ zero-length string
widebase.net âVBA References
29
āđāļĄāļ·āđāļāļŠāļāļāļēāļāļ§āļĒ zero-length string āļāļēāļĢāđāļĢāļĩāļĒāļāđāļāļāļāļāļāļąāļāļāļāđāļ āļāļāļāļĢāļ°āļāļļ pathname āļŦāļĢāļ·āļāļāļĢāļēāļāļāļāļēāļāļīāļāļāļĨāļēāļ āļāļēāļĢāđāļāļĨāđāļĩāļĒāļ pathname āđāļŦāļĄāđāļāļĒāđāļĄāļāļāļāļāļķāļāļāļ·āđāļāđāļāļĨāļāļąāđāļāļŦāļĄāļāđāļ pathname āļāļāļāļļāļāļąāļ āļāļāļāļāļēāļāļāļĩāđ āļāļāļāļāļąāļ Dir āđāļĄāļŠāļēāļĄāļēāļĢāļāđāļĢāļĩāļĒāļāđāļāđāļāļ recursive āļāļēāļĢāđāļ vbDirectory āđāļāļ attributes āđāļĄāļŠāļēāļĄāļēāļĢāļāļŠāļāļāļēāđāļāļāļāļāđāļāļ·āđāļāļāļāļāļāđāļāđāļĢāļāļāļāļĢāļĩāđāļĒāļāļĒ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄCurDir Statement, āļāļāļāļāļąāļ CurDir
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ Dir āđāļāļāļĢāļ§āļāļŠāļāļāđāļāļĨāļāļĩāđāđāļāđāļāđāļ§āđāļāđāļāđāļĢāļāļāļāļĢāļĩāđ (āļŠāđ āļēāļŦāļĢāļąāļ Macintosh, âHD:â āđāļāļāļāļ·āđāļāđāļĢāļīāđāļĄāļāļāļāļāļ drive āđāļĨāļ°āđāļĒāļ partname āļāļ§āļĒāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒ(:))
Dim MyFile, MyPath, MyName' āļŠāļāļāļē "WIN.INI" (āļŠāđ āļēāļŦāļĢāļąāļ Microsoft Windows) āļāļēāļĄāļĩāļāļĒāļđāļāļĢāļīāļMyFile = Dir("C:\WINDOWS\WIN.INI")' āļŠāļāļāļ·āļāđāđāļāļĨāļāđāļĩāļĄāļĩāļāļēāļĢāļĢāļ°āļāļļāļāļēāļĄāļŠāļāļļāļĨ (extension) āļāļēāļĄāļēāļāļāļ§āļēāļŦāļāļķāđāļāđāļ *.ini' āđāļāļĨāļāđāļĩāļĄāļāļĩāļĒāļđāļāļĢāļīāļāđāļāļĨāđāļĢāļāļāļĩāđāļāļāļāļ°āđāļāļĢāļąāļāļāļēāļĢāļŠāļāļāļēāļāļāļMyFile = Dir("C:\WINDOWS\*.INI")' āđāļĢāļĒāļĩāļāļāļāļāļāļāļą Dir āļāđāļĩāđāļĄāļĄāļĩ argument āļāļĩāļāļāļĢāļąāđāļāđāļāļ·āđāļāļŠāļāļāļēāđāļāļĨāļāļāđāļāļāļāļ *.INI āđāļāđāļāđāļĢāļāļāļāļĢāļĩāđāđāļāļĩāļĒāļ§āļāļąāļMyFile = DirMyFile = Dir("*.TXT", vbHidden) ' āļŠāļāļāļēāđāļāļĨāđāļĢāļāļāļāļ *.TXT āļāđāļĩāļāđ āļēāļŦāļāļ attribute āđāļāļ hiddenMyPath = "c:\" ' Set the path. ' āđāļŠāļāļāļāļ·āđāļāđāļāļĨāđāļ in C:\ that represent directoriesMyName = Dir(MyPath, vbDirectory) ' āļāļķāļāļāļ·āđāļāđāļĢāļDo While MyName <> "" ' āđāļĢāļīāđāļĄāļāļ loop ' āđāļĄāļāļāļīāļēāļĢāļāļēāđāļāđāļĢāļāļāļāļĢāļĩāđāļāļāļāļļāļāļąāļāđāļĨāļ°āđāļāđāļĢāļāļāļāļĢāļĩāđāļāđāļĩāļŦāļāļĄāļĨāļāļĄ If MyName <> "." And MyName <> ".." Then ' āđāļ bitwise āđāļāļĢāļĒāļĩāļāđāļāļĒāļĩāļāđāļāļ·āļāđāļāđ āļēāđāļŦāļĄāļąāđāļāđāļāļ§āļē MyName āđāļāļāđāļāđāļĢāļāļāļāļĢāļĩāđ If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then Debug.Print MyName ' āđāļŠāļāļāļāļ·āđāļāļāļēāđāļāļāđāļāđāļĢāļāļāļāļĢāļĩāđ End If End If MyName = Dir ' āļāļāļķāļāļēāđāļāļēāļĄāļēāđāļŦāļĄLoop
DoEvents FunctionāļŠāđ āļēāļŦāļĢāļąāļāļāļēāļĢāļāļĢāļ°āļĄāļ§āļĨāļāļĨāđāļāļ·āđāļāļāđ āļēāđāļŦāļĢāļ°āļāļāļāļāļīāļāļąāļāļīāļāļēāļĢāļŠāļēāļĄāļēāļĢāļāļāļĢāļ°āļĄāļ§āļĨāļāļĨ Event āļāļ·āđāļāđ
āđāļ§āļĒāļēāļāļĢāļDoEvents()
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļāļāļāļąāļ DoEvents āļŠāļāļāļāļāļāļēāļāļąāļ§āđāļĨāļāļāđ āļēāļāļ§āļāđāļāđāļĄāļāļĩāđāđāļŠāļāļāļŦāļĄāļēāļĒāđāļĨāļāļāļāļāļāļāļĢāļĄāđāļāļ āļēāļĐāļē Visual Basic āđāļ§āļāļĢāļāļąāļ Stand-aloneāļāļāļāļāļąāļ DoEvents āļŠāļāļāļēāđāļāļ 0 āļŠāđ āļēāļŦāļĢāļąāļāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļ·āđāļāđāļāļąāđāļāļŦāļĄāļāļāļāļāļāļąāļ DoEvents āļŠāļāļāļēāļāļāļąāļ§ Control āđāļāļĒāļąāļāļĢāļ°āļāļāļāļāļīāļāļąāļāļīāļāļēāļĢ āļāļķāđāļāļāļēāļĢāļŠāļāļāļāļāļāļēāļāļąāļ§ Control āļāļ°āļŠāļāļ āļēāļĒāļŦāļĨāļąāļāļāļĩāđāļĢāļ°āļāļāļāļāļīāļāļąāļāļīāļāļēāļĢāļŠāļīāđāļāļŠāļļāļ Event āđāļāđāļāļ§āļāļāļĒ (queue) āđāļĨāļ° keys āļāļąāđāļāļŦāļĄāļāļāļĩāđāļāđ āļēāļŠāđāļąāļ SendKeys āđāļāļĢāļąāļāļāļēāļĢāļŠāļ
widebase.net âVBA References
30
āļāļāļāļāļąāļ DoEvents āđāļāļāļĢāļ°āđāļĒāļāļāđāļāļāļēāļāļāļ·āđāļāļāļēāļ āļāļēāļāļī āļāļēāļĢāļĒāļīāļāļĒāļāļĄāđāļŦāļāļđāđāļāđāļāļāļēāļĢāļĒāļāđāļĨāļīāļāļāļĢāļ°āļāļāļāļēāļĢāļŦāļĨāļąāļāđāļĢāļīāđāļĄāļāđ āļēāļāļēāļāđāļ āđāļāļ āļāļēāļĢāļāļāļŦāļēāđāļāļĨ āļŠāđ āļēāļŦāļĢāļąāļāļāļēāļĢāļāļĢāļ°āļĄāļ§āļĨāļāļĨāļāļĩāđāļāļāļāđāļāđāļ§āļĨāļēāļāļēāļ āļāļĨāļāļĩāđāđāļāļāļāļāļāļąāļ§āļāļĢāļ°āļĄāļ§āļĨāļāļĨ (processor) āļāļ°āļāđ āļēāļāļēāļāđāļāļāļĩāļāļ§āļē āļāļēāđāļāļāļāļāļāļąāļ Timer āļŦāļĢāļ·āļ āļŠāļ§āļ ActiveX EXE āđāļāļāļāļąāļ§āđāļāļāļāļāļ task āđāļāļāļĢāļāļĩāļŦāļĨāļąāļ task āļŠāļēāļĄāļēāļĢāļāļāļĢāļ°āļĄāļ§āļĨāļāļĨāļāļĒāļēāļāļāļāđāļāļ·āđāļāļāđāļāļĒāđāļāļāļāļīāļŠāļĢāļ°āļāļēāļāđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļ āđāļĨāļ°āļĢāļ°āļāļāļāļāļīāļāļąāļāļīāļāļēāļĢāļāđ āļēāļāļēāļāđāļāļ multi-taskingāđāļĨāļ°āđāļāļāļŠāļ§āļāđāļ§āļĨāļēāļāļāļāļ§āļĢāļĢāļ°āļ§āļąāļ āļāļēāļĢāđāļŦāļāļĨāļāļąāļāļāļąāļ§āļāļĢāļ°āļĄāļ§āļĨāļāļĨāļ āļēāļĒāđāļ Event procedure āļāļāļāļāļĢāļ§āļāļŠāļāļāđāļŦāđāļāđāļāļ§āļēāđāļĄāļĄāļĩāļāļēāļĢāļāļĢāļ°āļĄāļ§āļĨāļāđāđ āļēāļāļēāļāļŠāļ§āļāļāļ·āđāļāļāļāļāļāļļāļāļāđ āļēāļŠāđāļąāļāļāļāļāļāļĩāđāļāļēāļĢāđāļĢāļĩāļĒāļāđāļāļāļĢāļąāđāļāđāļĢāļāļāļ°āļŠāļīāđāļāļŠāļļāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄSendKeys Statement
āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļ Accessāđāļ Microsoft Access āļāļāļāļāļąāļ DoEvents āļāļ°āļāļđāļāļĨāļ°āđāļĨāļĒāļāļēāļĄāļĩāļāļēāļĢāđāļāđāļâĒ āļāļāļāļāļąāļāļŦāļĢāļ·āļ Procedure āļāļĩāđāļāļđāđāļāļāđ āļēāļŦāļāļāđāļāļāļāļĩāđāđāļāļāđ āļēāļāļ§āļāļāļĨāļāđāļāļāļīāļ§āļĢāļĩāđ, āļāļāļĢāļĄ āļŦāļĢāļ·āļāļĢāļēāļĒāļāļēāļâĒ āļāļāļāļāļąāļāļāļĩāđāļāļđāđāļāļāđ āļēāļŦāļāļāđāļāļāļāļĩāđāļŠāļĢāļēāļāļāļēāļĢāđāļāļīāđāļĄāļĢāļēāļĒāļāļēāļĢāđāļŦāļāļąāļ Combo box, List box āļŦāļĢāļ·āļāļāļāļāđāļāļāđāļāļ OLE āļāļēāļĄāļĩāļāļēāļĢāļāđ āļēāļŦāļāļāļāļāļāļāļąāļ DoEvents āđāļāļēāđāļāđāļāļāļāļāļāļąāļāļŦāļĢāļ·āļ Procedure āļāļĩāđāļāļĨāļēāļ§āļĄāļē Microsoft Access āļāļ°āđāļĄāļŠāļēāļĄāļēāļĢāļāļŠāļāļāļąāļ§ Control āđāļāļāļĩāđāļĢāļ°āļāļāļāļāļīāļāļąāļāļīāļāļēāļĢ
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļĩāđāđāļāļāļāļāļāļąāļ DoEvents āđāļŦāļāļĨāļāļąāļāļĢāļ°āļāļāļāļāļīāļāļąāļāļīāļāļēāļĢāļāļļāļāđ 1000 āļĢāļāļ āđāļāļĒ DoEvents āļŠāļāļāļāļāļāļēāļŦāļĄāļēāļĒāđāļĨāļāļāļāļāļāļāļĢāļĄ Visual Basic āļāļĩāđāđāļāļ āļāļķāđāļāđāļāļāļēāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļŦāļĨāļąāļāđāļ Visual Basic
' āļŠāļĢāļēāļāļāļ§āļąāđāļāļĢāđāļāđāļāļāļēāļŦāļĄāļēāļĒāđāļĨāļāļāļāļāļāļāļĢāļĄ Visual Basic āļāđāļĩāđāļĢāļĩāļĒāļāļĄāļēāđāļĨāļ°āļĄāļāļāđāļŦāđāļDim I, OpenFormsFor I = 1 To 150000 ' āđāļĢāļīāļĄāđāļāļāļĢāļāļ If I Mod 1000 = 0 Then ' āļāļēāļāļĢāļ 1000 āļĢāļāļ OpenForms = DoEvents ' āļŠāļāļāļĨāđāļŦāļĢāļ°āļāļāļāļāļīāļāļąāļāļīāļāļēāļĢ End IfNext I ' āđāļāļīāļĄāđ counter āļāļāļāļĢāļāļ
āļāļąāļ§āļāļĒāļēāļāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļ Accessāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ DoEvents āđāļāļ·āđāļāļŠāļāļāļāļāļāļēāļāļąāļ§ Control āđāļāļāļĩāđāļĢāļ°āļāļāļāļāļīāļāļąāļāļīāļāļēāļĢāđāļĄāļ·āđāļ Loop āļĄāļĩāļāļēāļĢāļāļĢāļ°āļĄāļ§āļĨāļāļĨ āļāļāļāļāļąāļ DoEvents āļŠāļāļāļēāđāļāļ 0 āđāļŠāļĄāļ
Sub LongLoop() Dim intI As Integer For intI = 1 To 1500 ' āđāļĢāļīāļĄāđāļāļ Loop If intI Mod 100 = 0 Then ' āļāļēāļāļĢāļ 1000 āļĢāļāļ DoEvents ' āļŠāļāļāļĨāđāļŦāļĢāļ°āļāļāļāļāļīāļāļąāļāļīāļāļēāļĢ Debug.Print intI End If Next intI ' āđāļāļīāļĄāđ counter āļāļāļ LoopEnd Sub
widebase.net âVBA References
31
Environ FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ String āļāļĩāđāļŠāļāļāļāļĨāļāļāļāļąāļāļāļąāļ§āđāļāļĢāļŠāļ āļēāļāđāļ§āļāļĨāļāļĄāļāļāļāļĢāļ°āļāļāļāļāļīāļāļąāļāļīāļāļēāļĢ
āđāļ§āļĒāļēāļāļĢāļEnviron({envstring | number)āļāļāļāļāļąāļ Environ āļĄāļĩāđāļ§āļĒāļēāļāļĢāļāļāļāļāļāļēāļāļīāļ§āđāļĄāļāļ āļāļ·āļ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļenvstring āđāļĄāļāļąāļāļāļąāļ, āđāļāļ expression āļāļāļāļāļāļāļ§āļēāļĄāļāļĩāđāđāļāđāļāļāđāļ·āļāļāļąāļ§āđāļāļĢāļāļāļāļŠāļ āļēāļāđāļ§āļāļĨāļāļĄāļāļāļāļĢāļ°āļāļ
āļāļāļīāļāļąāļāļīnumber āđāļĄāļāļąāļāļāļąāļ, āđāļāļ expression āļāļāļāļāļąāļ§āđāļĨāļāļāļĩāđāļāļĢāļāļāļąāļāļĨāđ āļēāļāļąāļāļāļąāļ§āđāļĨāļāļāļāļāļ§āļēāļĄāļŠāļ āļēāļāđāļ§āļāļĨāļāļĄāđāļ
āļāļēāļĢāļēāļ environment-string āļāļķāđāļāļāļēāļāļīāļ§āđāļĄāļāļ number āļŠāļēāļĄāļēāļĢāļāđāļāļ expression āļāļąāļ§āđāļĨāļāđāļāđ āđāļāļāļ°āļāļĢāļąāļāļāļēāđāļāļāļāđ āļēāļāļ§āļāđāļāđāļĄāļāļāļāļāļĢāļ°āļĄāļ§āļĨāļāļĨ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļē envstring āđāļĄāļāļāđāļāļāļēāļĢāļēāļ environment-string āļāļēāļāļĩāđāļŠāļāļāļāļāđāļāļ zero-length string(ââ) āļāļāļāļāļąāļ EnvironāļŠāļāļāļēāđāļāļāļāļāļāļ§āļēāļĄāļāļĩāđāļāđ āļēāļŦāļāļāđāļŦāđāļāļ envstring āļāļķāđāļāļāļāļāļ§āļēāļĄāļāļ°āļāļĒāļđāļāļēāļĄāļŦāļĨāļąāļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāđāļāļēāļāļąāļ (=) āđāļāļāļēāļĢāļēāļ environment-string āļŠāđ āļēāļŦāļĢāļąāļāļāļąāļ§āđāļāļĢ environmentāļāļēāļĢāļ°āļāļļ number āđāļĨāļ§āļĄāļĩāļāļāļāļ§āļēāļĄāđāļāļāđ āļēāđāļāļāļāļĩāđāļāļĢāļāļāļąāļāļāļąāļ§āđāļĨāļāļāļāļ environment-string āļāļāļāļ§āļēāļĄāļāļąāđāļāļāļ°āļāļđāļāļŠāļāļāļāļāļĄāļē āļāļāļāļāļąāļ Environ āļāļ°āļāļāļāļ§āļēāļĄāļāļąāđāļāļŦāļĄāļāļĢāļ§āļĄāļāļķāļ envstring āļāļēāđāļĄāļĄāļĩāļāļāļāļ§āļēāļĄāļāļēāļĄāļāđ āļēāđāļŦāļāļāļāļąāļ§āđāļĨāļāļāļĩāđāļĢāļ°āļāļļ āļāļāļāļāļąāļ Environ āļŠāļāļāļēāđāļāļ zero-length string
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ Environ āđāļāļāļēāļĢāļŠāļāļāļēāđāļŦāļāļąāļ number āđāļĨāļ°āļāļ§āļēāļĄāļĒāļēāļ§āļāļāļāļāđ āļēāļŠāđāļąāļ PATH āļāļēāļāļāļēāļĢāļēāļ environment-string āđāļĄāļĄāļĩāđāļŦāļāļąāļ Macintosh
Dim EnvString, Indx, Msg, PathLen ' āļāļĢāļ°āļāļēāļĻāļāļąāļ§āđāļāļĢIndx = 1 ' āļāđ āļēāļŦāļāļāļāļē index āđāļāļ 1Do EnvString = Environ(Indx) ' āļāļāļķāļāļ§āļąāđāļāļĢāļŠāļ āļēāļāđāļ§āļāļĨāļāļĄ If Left(EnvString, 5) = "PATH=" Then ' āļāļĢāļ§āļāļāļēāļĢāļ PathLen = Len(Environ("PATH")) ' āļāļāļķāļāļēāļāļ§āļēāļĄāļĒāļēāļ§ Msg = "PATH entry = " & Indx & " and length = " & PathLen Exit Do Else Indx = Indx + 1 ' āđāļĄāļĄāļāļĩāļēāļĢāļāđāļŦāđāļāļīāđāļĄāļāļē index End IfLoop Until EnvString = ""
If PathLen > 0 Then MsgBox Msg ' āđāļŠāļāļāļāļāļāļ§āļēāļĄElse MsgBox "No PATH environment variable exists."End If
widebase.net âVBA References
32
EOF FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Integer āļāļĩāđāđāļāđāļāļāļēāļāļēāļāļāļĢāļĢāļāļ°āđāļāļ True āđāļĄāļ·āđāļāļŠāđāļīāļāļŠāļļāļāđāļāļĨāļāļĩāđāđāļāļ āļŠāđ āļēāļŦāļĢāļąāļ Random āļŦāļĢāļ·āļ Input āđāļāļāļāļāđāļāļ·āđāļāļāļĄāļēāļāļķāļ
āđāļ§āļĒāļēāļāļĢāļEOF(filenumber)āļāļēāļāļīāļ§āđāļĄāļāļ filenumber āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāđāļĨāļāļāđ āļēāļāļ§āļāđāļāđāļĄāđāļāđ āļāļāļāļŦāļĄāļēāļĒāđāļĨāļāđāļāļĨāļāļĩāđāļĄāļĩāļāļĢāļīāļ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļēāļĢāđāļāļāļāļāļāļąāļ EOF āđāļāļ·āđāļāļŦāļĨāļĩāļāđāļĨāļĩāđāļĒāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļāļāļĩāđāđāļāļīāļāļāļēāļāļāļ§āļēāļĄāļāļĒāļēāļĒāļēāļĄ Input āđāļĨāļĒāļāļļāļāļŠāđāļīāļāļŠāļļāļāđāļāļĨāļāļāļāļāļąāļ EOF āļāļ°āļŠāļāļāļēāđāļāļ False āđāļĄāļ·āđāļāđāļāļāļķāļāļāļļāļāļŠāđāļīāļāļŠāļļāļāđāļāļĨ āļŠāļ§āļāđāļāļĨāļāļĩāđāđāļāļāļŠāđ āļēāļŦāļĢāļąāļāļāļēāļĢāđāļāļēāļāļķāļāđāļāļ Random āļŦāļĢāļ·āļ Binary āļāļāļāļāļąāļ EOF āļāļ°āļŠāļāļāļēāđāļāļ False āļāļāļāļĢāļ°āļāļąāđāļāļāđ āļēāļŠāđāļąāļ Get āđāļĄāļŠāļēāļĄāļēāļĢāļāļāļēāļāđāļĢāļāļāļāļĢāļāļāļĩāđāļĄāļĩāļāļĒāļđāđāļāđāļāļāļēāļĢāđāļāļāļŠāđ āļēāļŦāļĢāļąāļāļāļēāļĢāđāļāļēāļāļķāļāđāļāļ Binary āļāļēāļāļēāļāđāļāļĨāļāļ§āļĒāļāļāļāļāļąāļ Input āļāļāļāļĢāļ°āļāļąāđāļāļāļāļāļāļąāļ EOF āļŠāļāļāļēāđāļāļ True āļāļ°āļāđ āļēāđāļŦāđāļāļīāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļ āđāļŦāđāļāļāļāļāļāļąāļ LOF āđāļĨāļ° LOC āđāļāļāļāļĩāđ EOF āđāļāļāļēāļĢāļāļēāļāđāļāļĨ Binary āļāļ§āļĒāļāļāļāļāļąāļ Input āļŦāļĢāļ·āļ Get āļāļąāļāļāļāļāļāļąāļ EOF āđāļāļŠāļ§āļāđāļāļĨāļāļĩāđāđāļāļāļŠāđ āļēāļŦāļĢāļąāļ Output āļāļāļāļāļąāļ EOF āļāļ°āļŠāļāļāļēāđāļāļāļāļĢāļīāļāđāļŠāļĄāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄGet Statement, āļāļāļāļāļąāļ Loc, āļāļāļāļāļąāļ LOF, Open Statement
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ EOF āđāļāļ·āđāļāļāļĢāļ§āļāļŠāļāļāļāļēāļĢāļŠāļīāđāļāļŠāļļāļāđāļāļĨ āļŠāļĄāļĄāļāļīāđāļŦ MYFILE āđāļāļ text file āļāļĩāđāļĄāļĩāļāļāļĄāļđāļĨāļāļąāļ§āļāļĒāļēāļāļāđ āļēāļāļ§āļāļŦāļāļķāđāļ
Dim InputDataOpen "MYFILE" For Input As #1 ' āđāļāļāđāļāļĨāļŠāđ āļēāļŦāļĢāļąāļ InputDo While Not EOF(1) ' āļāļĢāļ§āļāļāļēāļĢāļŠāļīāđāļāļŠāļļāļāđāļāļĨ Line Input #1, InputData ' āļāļēāļāļāļĢāļĢāļāļąāļāļāļāļāļāļāļĄāļđāļĨ Debug.Print InputData ' āļāļĄāļīāļāļāļāļāđāļ Immediate windowLoopClose #1 ' āļāļāđāļāļĨ
Erase Statementinitial āļāļēāđāļŦāļĄāđāļŦ element āļāļāļ static array āđāļĨāļ°āļāļĨāļāļĒāļāļēāļĢāđāļāđāļāļāļēāļāļāļ dynamic array
āđāļ§āļĒāļēāļāļĢāļErase arraylistarraylist āđāļāļāļāļēāļāļīāļ§āđāļĄāļāļāļāļąāļāļāļąāļ, āļāļķāđāļāđāļāļāļāļąāļ§āđāļāļĢ array āļāļ§āļĒāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļļāļĨāļ āļēāļ (,) āļāļĩāđāļāļāļāļāļēāļĢāļĨāļāļāļē
widebase.net âVBA References
33
āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļErase āļĄāļĩāļāļ§āļēāļĄāđāļāļāļāļēāļāļāļąāļāļāļķāđāļāļāļąāļ array āļāļĩāđāđāļāļ static array āļŦāļĢāļ·āļ dynamic array āđāļāļĒ Erase āđāļĄāđāļĢāļĩāļĒāļāļāļ·āļāļŦāļāļ§āļĒāļāļ§āļēāļĄāļāđ āļēāļŠāđ āļēāļŦāļĢāļąāļ static array āđāļāđāļāļāļēāļĢāļāļąāđāļāļāļē element āļāļąāļāļāļĩāđ
āļāļĢāļ°āđāļ āļ array āļāļĨāļāļāļ Erase āļāļąāļ element āļāļāļ static arrayNumeric array āļāļąāđāļāļāļēāđāļāļĨāļ° element āđāļāļ āļĻāļđāļāļĒString array (variable length) āļāļąāđāļāļāļēāđāļāļĨāļ° element āđāļāļ zero - length string (â â)String array (fixed length) āļāļąāđāļāļāļēāđāļāļĨāļ° element āđāļāļ āļĻāļđāļāļĒVariant array āļāļąāđāļāļāļēāđāļāļĨāļ° element āđāļāļ Emptyarray āļāļāļ user - defined type āļāļąāđāļāļāļēāđāļāļĨāļ° element āđāļāļāļēāļāļ°āļāļąāļ§āđāļāļĢāļāļĩāđāđāļĒāļāļāļąāļarray āļāļāļāļāļāļāđāļāļ āļāļąāđāļāļāļēāđāļāļĨāļ° element āđāļāļāļāļēāđāļāļāļēāļ° Nothing
Erase āļāļĨāļāļĒāļŦāļāļ§āļĒāļāđ āļēāļāļĩāđāđāļāđāļāļĒ dynamic array āļāļāļāđāļāļĢāđāļāļĢāļĄāļŠāļēāļĄāļēāļĢāļāļāļēāļāļāļķāļ dynamic array āļāļĩāļāļāļĢāļąāđāļ āļāļāļāļĄāļĩāļāļēāļĢāļāļĢāļ°āļāļēāļĻāļāļąāļ§āđāļāļĢ array āđāļŦāļĄ āļāļ§āļĒāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ ReDim
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Array, Dim Statement, Private Statement, Public Statement, ReDim Statement, StaticStatement
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Erase āđāļāļ·āđāļ initial āļāļēāđāļŦāļĄāđāļŦ element āļāļāļ static array āđāļĨāļ°āļāļąāļāļāļēāļĢāļāļ·āđāļāļāļĩāđāļŦāļāļ§āļĒāļāļ§āļēāļĄāļāđ āļēāļāļāļ dynamic array
' āļāļĢāļ°āļāļēāļĻāļāļąāļ§āđāļāļĢ arrayDim NumArray(10) As Integer ' integer arrayDim StrArray(10) As String ' string arrayDim StrFixArray(10) As String * 10 ' fixed-string arrayDim VarArray(10) As String ' varaint arrayDim DynamicArray() As Integer ' dynamic arrayReDim DynamicArray(10) ' āļāļāļąāļŠāļĢāļĢāļāļ·āđāļāļāđāļĩāđāļāđāļāļāļēErase NumArray ' āđāļāļĨāļ° element āļāļąāđāļāļāļēāđāļāļāļĻāļđāļāļĒErase StrArray ' āđāļāļĨāļ° element āļāļąāđāļāļāļēāđāļāļ zero-length string ("")Erase StrFixArray ' āđāļāļĨāļ° element āļāļąāđāļāļāļēāđāļāļāļĻāļđāļāļĒErase VarArray ' āđāļāļĨāļ° element āļāļąāđāļāļāļēāđāļāļāļāļēāļ§āļēāļErase DynamicArray ' āļĨāļāļāļēāļāļŦāļāļ§āļĒāļāļ§āļēāļĄāļāđ āļē
Error Objectāļāļāļāđāļāļ VBA, āļāļĩāđāđāļāđāļāļŠāļēāļĢāļŠāļāđāļāļĻāđāļāļĩāđāļĒāļ§āļāļąāļ run-time error
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļļāļāļŠāļĄāļāļąāļāļīāļāļāļāļāļāļāđāļāļ Err āļāđ āļēāļŦāļāļāđāļāļĒāļāļąāļ§āļŠāļĢāļēāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļ āđāļ Visual Basic, āļāļāļāđāļāļ āļŦāļĢāļ·āļāđāļāļĢāđāļāļĢāļĄāđāļĄāļāļĢ
widebase.net âVBA References
34
āļāļēāđāļĢāļīāđāļĄāļāļāļāļļāļāļŠāļĄāļāļąāļāļīāļāļāļāļāļāļāđāļāļ Err āđāļāļāļāļąāļ§āđāļĨāļ āđāļāļĢāļēāļ°āļāļēāđāļĢāļīāđāļĄāļāļāļāļļāļāļŠāļĄāļāļąāļāļī āļŠāļēāļĄāļēāļĢāļāđāļŠāļāļāļāļ§āļĒāļāļ·āđāļāļāļāļāđāļāļ ErrāđāļĄāļ·āđāļāļāļĢāļēāļāļ run-time error āļāļļāļāļŠāļĄāļāļąāļāļīāļāļāļāļāļāļāđāļāļ Err āļŠāļēāļĄāļēāļĢāļāđāļāļīāđāļĄāļāļ§āļĒāļŠāļēāļĢāļŠāļāđāļāļĻāļāļĩāđāđāļāļāđāļāļāļĨāļąāļāļĐāļāđāļāļ·āđāļāļĢāļ°āļāļļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļāđāļĨāļ°āļŠāļēāļĢāļŠāļāđāļāļĻāļāļĩāđāļŠāļēāļĄāļēāļĢāļāļāđ āļēāļĄāļēāđāļāđāļāļāļēāļĢāļāļ§āļāļāļļāļĄ āđāļāļāļēāļĢāļŠāļĢāļēāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļ run-time error āđāļāđāļĄāļāļāļ RaiseāļāļļāļāļŠāļĄāļāļąāļāļīāļāļāļāļāļāļāđāļāļ Err āļāļąāđāļāļāļēāđāļŦāļĄāđāļāļ 0 āļŦāļĢāļ·āļ zero-length string āđāļāļŦāļĨāļąāļāļāļēāļāļāđ āļēāļŠāđāļąāļ Resume āļŦāļĢāļ·āļ On ErrorāđāļĨāļ°āļŦāļĨāļąāļāļāļēāļāļāđ āļēāļŠāđāļąāļ Exit Sub, Exit Function āļŦāļĢāļ·āļ Exit Property āļ āļēāļĒāđāļ routine āļāļĩāđāđāļāļāļ§āļāļāļļāļĄāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļāđāļĄāļāļāļ Clear āļŠāļēāļĄāļēāļĢāļāđāļāđāļāļāļēāļĢāļāļąāđāļāļāļēāđāļŦāļĄāļāļāļ Errāļāļ§āļĢāđāļāđāļĄāļāļāļ Raise āļĄāļēāļāļāļ§āļēāļāđ āļēāļŠāđāļąāļ Error statement āđāļāļ·āđāļāļŠāļĢāļēāļ run-time error āļŠāđ āļēāļŦāļĢāļąāļāđāļĄāļāļđāļĨāđāļāļ class āļāļēāļĢāđāļāđāļĄāļāļāļ Raise āđāļāļāļļāļāļāđ āļēāļŠāđāļąāļāļāļ·āđāļāđāļāļķāđāļāļāļąāļāļāđ āļēāļāļ§āļāļŠāļēāļĢāļŠāļāđāļāļĻāļāļĩāđāļĄāļĩāļāļĒāļđāđāļāļāļēāļĢāļŠāļāļāļēāļāļāļ āđāļāļāļļāļāļāđ āļēāļŠāđāļąāļāļāļĩāđāđāļāļāđ āļēāļŠāđāļąāļ ErrorāđāļāļāļāļĩāđāđāļĄāļāļāļ Raise āđāļāļāļēāļĢāļŠāļĢāļēāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļ āļāļļāļāļŠāļĄāļāļąāļāļīāļāļāļāļāļāļāđāļāļ Err āđāļŦāļāđ āļēāļŦāļāļāļāļ§āļĒāļāļēāđāļĢāļīāđāļĄāļāļāđāļĄāļ·āđāļāļāļĢāļ°āļĄāļ§āļĨāļāļĨ Error
āļāļļāļāļŠāļĄāļāļąāļāļī āļāļēNumber āļāļēāļāļĩāđāļĢāļ°āļāļļāđāļāļāļāļēāļāļīāļ§āđāļĄāļāļāļāļāļāļāđ āļēāļŠāđāļąāļ Error āļŠāļēāļĄāļēāļĢāļāđāļāļāļāļēāđāļāđāļāļāļāļāļēāļāļīāļāļāļĨāļēāļāļāļĩāđāļĄāļĩāļāļĢāļīāļSource āļāļ·āđāļāļāļāļāđāļāļĢāļāļāļēāļĢ Visual Basic āļāļāļāļļāļāļąāļDescription āļāļāļāļ§āļēāļĄāļāļĩāđāļāļĢāļāļāļąāļāļāļēāļŠāļāļāļāļāļāļāļāļāļāļāļāļąāļ Error āļāļāļ Number āļāļĩāđāļĢāļ°āļāļļ āļāļēāļĄāļĩāļāļāļāļ§āļēāļĄāļāļĒāļđ āđāļāļāļēāđāļĄ
āļĄāļĩāļāļāļāļ§āļēāļĄ Description āđāļāđāļāļāļē âApplication-defined or object-defined errorâHelpFile āļĢāļ°āļāļļāļāļ·āđāļ drive, āļāļēāļĢāļ āđāļĨāļ°āļāļ·āđāļāđāļāļĨāļāļāļ Visual Basic HelpHelpContext Context ID āļāļāļ Visual Basic Help āļŠāđ āļēāļŦāļĢāļąāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļāļāļĩāđāļāļĢāļāļāļąāļāļāļļāļāļŠāļĄāļāļąāļāļī NumberLastDLLError āļĄāļĩāđāļāļāļēāļ°āļĢāļ°āļāļāļāļāļīāļāļąāļāļīāļāļēāļĢ Windows 32-bit āđāļāļĒāđāļāđāļāļāļēāļĢāļŦāļąāļŠ system error āļāļāļāļāļēāļĢāđāļĢāļĩāļĒāļ
dynamic link library (DLL) āļāļĢāļąāđāļāļŠāļļāļāļāļēāļĒ āļāļļāļāļŠāļĄāļāļąāļāļī LastDLLError āđāļāļāļāļāļīāļāļāļēāļāļāļĒāļēāļāđāļāļĩāļĒāļ§
āļĢāļŦāļąāļŠāļāļĩāđāđāļāđāļāļāļāļāđāļāļ Err āđāļĨāļ°āļāđ āļēāļŠāđāļąāļ Error āđāļĄāļāđ āļēāđāļāļāļāļāļāđāļāļĨāļĩāđāļĒāļ āđāļāļāļēāļāļēāļĢāđāļāļāļāļāđāļāļ Err āđāļĨāļ°āļāđ āļēāļŠāđāļąāļ Error āđāļĄāļŠāļēāļĄāļēāļĢāļāđāļŦāļāļĨāļāļĢāļāļāļąāļāļāļ§āļēāļĄāļĄāļļāļāļŦāļĄāļēāļĒ āđāļāļ āļāļēāđāļāļīāđāļĄāļāļļāļāļŠāļĄāļāļąāļāļīāļāļāļāļāļāļāđāļāļ Err āļāļķāđāļāļāļąāđāļāļāļēāđāļŦāļĄāļāļĩāđāļāļķāļāļāļēāļĢāļēāļāļāļāļāļŦāļāļēāļāļĩāđāļĢāļ§āļĄāļāļķāļāļāđ āļēāļŠāđāļąāļ Err āđāļāļĢāļąāļāļāļēāļĢāļāļĢāļ°āļĄāļ§āļĨāļāļĨ āļāļķāļāđāļĄāļ§āļēāļāđ āļēāļŠāđāļąāļ Err āļĒāļąāļāļāļāļŠāļēāļĄāļēāļĢāļāļŠāļĢāļēāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļ run-time errorāļāļāļ Visual Basic āđāļāđāļāļāļāļēāļĢāļĢāļąāļāļĐāļēāđāļāļāļāļāļēāļĄāļĢāļŦāļąāļŠāļāļĩāđāļĄāļĩāļāļĒāļđ āļāļēāļĢāđāļāļāļāļāđāļāļ Err, āđāļĄāļāļāļ Raise, āđāļĨāļ°āđāļĄāļāļāļ Clear āļŠāđ āļēāļŦāļĢāļąāļ system error āđāļĨāļ°āđāļāļĢāļŦāļąāļŠāđāļŦāļĄ āđāļāļĒāđāļāļāļēāļ°āļāļĒāļēāļāļĒāļīāđāļāļŠāđ āļēāļŦāļĢāļąāļāđāļĄāļāļđāļĨāđāļāļ classāļāļāļāđāļāļ err āđāļāļāļāļāļāđāļāļāđāļ global scope āļāļķāļāđāļĄāļĄāļĩāļāļ§āļēāļĄāļāđ āļēāđāļāļāđāļāļāļēāļĢāļāđ āļēāļŦāļāļ instance āđāļāļāđ āļēāļŠāđāļąāļāļāļĩāđāđāļāļĩāļĒāļāļāļķāđāļProperties āļāļļāļāļŠāļĄāļāļąāļāļī Description, āļāļļāļāļŠāļĄāļāļąāļāļī HelpContext, āļāļļāļāļŠāļĄāļāļąāļāļī HelpContextID, āļāļļāļāļŠāļĄāļāļąāļāļīHelpFile, āļāļļāļāļŠāļĄāļāļąāļāļī LastDLLError, āļāļļāļāļŠāļĄāļāļąāļāļī Number, āļāļļāļāļŠāļĄāļāļąāļāļī SourceMethods āđāļĄāļāļāļ Clear, āđāļĄāļāļāļ Raise
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Err, āļāļāļāđāļāļ Error (âDAO Language Referenceâ), Error Statement, On Error Statement,Resume Statement
widebase.net âVBA References
35
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļļāļāļŠāļĄāļāļąāļāļīāļāļāļāļāļāļāđāļāļ Err āđāļāļāļēāļĢāļŠāļĢāļēāļ dialog box āļāļāļāļāļēāļ§āļŠāļēāļĢāđāļāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļ āļŦāļĄāļēāļĒāđāļŦāļāļļ āļāļēāđāļāđāļĄāļāļāļ Clear āđāļāļāļāļąāđāļāļāļāļāđāļĢāļ āđāļĄāļ·āđāļāļĄāļĩāļāļēāļĢāļŠāļĢāļēāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļāļāļāļ Visual Basic āļāļ§āļĒāđāļĄāļāļāļ Raise āļāļēāđāļĢāļīāđāļĄāļāļ Visual Basic āļāļ°āđāļāļāļāļļāļāļŠāļĄāļāļąāļāļīāļāļāļāļāļāļāđāļāļ Err
Dim Msg' āļāļēāđāļāļāļīāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļ āļŠāļĢāļēāļāļāļēāļ§āļŠāļēāļĢāđāļāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļOn Error Resume Next ' āļāļ§āļāļāļĄāļļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļErr.ClearErr.Raise 6 ' āļŠāļĢāļēāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļ "Overflow"' āļāļĢāļ§āļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļ āđāļĨāļ§āđāļŠāļāļāļāļēāļ§āļŠāļēāļĢIf Err.Number <> 0 Then Msg = "Error # " & Str(Err.Number) & " was generated by " _ & Err.Source & Chr(13) & Err.Description MsgBox Msg, , "Error", Err.Helpfile, Err.HelpContextEnd If
Error FunctionāļŠāļāļāļāļāļāļēāļ§āļŠāļēāļĢāđāļāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļāļāļĩāđāļāļĢāļāļāļēāļĄāļŦāļĄāļēāļĒāđāļĨāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļāļāļĩāđāļāđ āļēāļŦāļāļāđāļŦ
āđāļ§āļĒāļēāļāļĢāļError[errornumber]āļāļēāļāļīāļ§āđāļĄāļāļāļāļąāļ§āđāļĨāļ·āļāļ errornumber āļŠāļēāļĄāļēāļĢāļāđāļāļāļŦāļĄāļēāļĒāđāļĨāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļāļāļĩāđāļĄāļĩāļāļĒāļđāļāļĢāļīāļ āļāļē errornumber
āđāļāļāļŦāļĄāļēāļĒāđāļĨāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļāļāļĩāđāļĄāļĩāļāļĢāļīāļ āđāļāđāļĄāļāđ āļēāļŦāļāļāļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļ āļāļāļāļāļąāļ Error āļŠāļāļāļāļāļāļāļāļ§āļēāļĄ âApplication-defined or object-defined errorâ āļāļēāđāļĄāļāđ āļēāļŦāļāļ errornumber āļāļēāļ§āļŠāļēāļĢāļāļ°āļāļĢāļāļāļąāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļāđāļŦāļĄāļāļĩāđāļŠāļļāļāļāļāļ run-time error āļāļ°āđāļāļĢāļąāļāļāļēāļĢāļŠāļāļāļāļāļĄāļē āļāļēāđāļĄāļĄāļĩāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļ run-time error āđāļāļīāļāļāļķāđāļ āļŦāļĢāļ·āļ errornumber āđāļāļ 0 āļāļāļāļāļąāļ Error āļŠāļāļāļēāļāļāļāđāļāļ zero-length string (ââ)
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļŦāļāļĢāļ§āļāļŠāļāļāļāļēāļĢāļāļąāđāļāļāļēāļāļļāļāļŠāļĄāļāļąāļāļīāļāļāļāļāļāļāđāļāļ Err āđāļāļāļēāļĢāļĢāļ°āļāļļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļāđāļŦāļĄāļāļĩāđāļŠāļļāļāļāļāļ run-time error āļāļēāļāļĩāđāļŠāļāļāļāļāļĄāļēāļāļāļāļāļāļāļāļąāļ Error āļāļĢāļāļāļēāļĄāļāļļāļāļŠāļĄāļāļąāļāļī Description āļāļāļāļāļāļāđāļāļ Err
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāđāļāļ Err
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ Error āđāļāļāļēāļĢāļāļīāļĄāļāļāļēāļ§āļŠāļēāļĢāđāļāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļāļāļĩāđāļāļĢāļāļāļēāļĄāļŦāļĄāļēāļĒāđāļĨāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļāļāļĩāđāļĢāļ°āļāļļ
Dim ErrorNumberFor ErrorNumber = 61 To 64 ' Loop āļāļāļāļāļē 61 - 64 Debug.Print Error(ErrorNumber) ' āļāļĄāļīāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļāļāļĩāđ Immediate windowNext ErrorNumber
widebase.net âVBA References
36
Exp FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĨāļĨāļąāļāļāļāļāļāļāļē e āļĒāļāļāđ āļēāļĨāļąāļ āđāļāļĒāļĄāļĩāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double
āđāļ§āļĒāļēāļāļĢāļExp(number)āļāļēāļāļīāļ§āđāļĄāļāļ number āđāļāļāļāļēāļāļĩāđāļĄāļĩāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāļāļąāļ§āđāļĨāļ āļŦāļĢāļ·āļ Expression āļāļĩāđāđāļŦāļāļēāļāļąāļāļāļĨāļēāļ§ āđāļĨāļ°āļĄāļĩāļāļēāđāļĄ
āđāļāļīāļ 709.782712893
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļēāļāļāļ number āļāļ°āļāļāļāđāļĄāđāļāļīāļ 709.782712893 āļĄāļīāļāļ°āļāļąāđāļāļāļ°āđāļāļīāļāļāļāļāļīāļāļāļĨāļēāļāļāļēāļāļāļēāļāļĩāđāļāđ āļēāļāļ§āļāđāļŦāļāđāļāļīāļāļāļ§āļē Access āļāļ°āļāđ āļēāļŦāļāļāđāļ§āļāļāļāļāļąāļ Exp āđāļāļāđ āļēāļāļēāļāļāļĢāļ°āļāļāļāļāļąāļāļāļāļāļāļąāļ Log āđāļāļāļēāļāļ°āļāļĩāđāđāļāļ antilogarithm
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Log
āļāļąāļ§āļāļĒāļēāļDim myVar, myOutputmyVar = 2.5myOutput = Exp(myVar + 1.75)
FileAttr FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Integer āļāļĩāđāđāļŠāļāļāđāļŦāļĄāļāļāļāļāđāļāļĨāļŠāđ āļēāļŦāļĢāļąāļāđāļāļĨāļāļĩāđāđāļāļāļāļ§āļĒāļāđ āļēāļŠāđāļąāļ Open
āđāļ§āļĒāļēāļāļĢāļFileAttr(filenumber, returntype)āļāļāļāļāļąāļ FileAttr āļĄāļĩāđāļ§āļĒāļēāļāļĢāļāļāļāļāļŠāļ§āļ āļāļ·āļ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļfilenumber āļāļąāļāļāļąāļ, āļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Integer, āļāļāļāļŦāļĄāļēāļĒāđāļĨāļāđāļāļĨreturntype āļāļąāļāļāļąāļ, āļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Integer, āđāļāļāļāļąāļ§āđāļĨāļāļāļĩāđāļāļĢāļ°āđāļ āļāļāļāļāļŠāļēāļĢāļŠāļāđāļāļĻāļāļĩāđāļŠāļāļāļāļ āļāđ āļēāļŦāļāļ
āđāļāļ 1 āđāļŦāļŠāļāļāļāļāļāļēāđāļŦāļĄāļāļāļāļāđāļāļĨ āđāļāļāļēāļ°āļĢāļ°āļāļ 16-āļāļīāļāļāđ āļēāļŦāļāļāđāļāļ 2 āđāļāļ·āđāļāļāļķāļāđāļāļĨhandle āļāļāļāļĢāļ°āļāļāļāļāļīāļāļąāļāļīāļāļēāļĢ āļāļķāđāļ returntype āđāļāļ 2 āđāļĄāļŠāļāļąāļāļŠāļāļļāļāļĢāļ°āļāļ 32-āļāļīāļ āđāļĨāļ°āđāļāļāđāļŦāļāļļāđāļŦāđāļāļīāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļ
āļāļēāļŠāļāļāļāļāļāļēāļāļīāļ§āđāļĄāļāļ returntype āļāļąāđāļāļāļēāđāļāļ 1 āļāļ°āļŠāļāļāļāļāļāļēāļāļēāļĄāļĢāļēāļĒāļāļēāļĢāđāļāļ·āđāļāļāđāļĩāļāļķāļāđāļŦāļĄāļāļāļēāļĢāđāļāļēāļāļķāļāļāļāļāđāļāļĨ
widebase.net âVBA References
37
āļāļēāļāļāļāļĩāđ āļāļēInput 1Output 2Random 4Append 8Binary 32
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ GetAttr, Open Statement, SetAttr Statement
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ FileAttr āđāļāļ·āđāļāļŠāļāļāļāļāļāļēāđāļŦāļĄāļāđāļĨāļ°āđāļāļĨ handle āļāļāļāđāļāļĨāļāļĩāđāđāļāļ āđāļāļĨ handle āļāļ°āļŠāļāļāļāļāđāļāđāļāļāļēāļ°āļĢāļ°āļāļ 16-āļāļīāļ āļŠāļ§āļāļĢāļ°āļāļ 32-āļāļīāļ āļāļ°āļāđ āļēāđāļŦāđāļāļīāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļ
Dim FileNum, Mode, HandleFileNum = 1 ' āļāđ āļēāļŦāļāļāļŦāļĄāļēāļĒāđāļĨāļOpen "TESTFILE" For Append As FileNum ' āđāļāļāđāļāļĨMode = FileAttr(FileNum, 1) ' āļŠāļāļāļāļāļāļē 8 (āđāļŦāļĄāļ Append file)Handle = FileAttr(FileNum, 2) ' āļŠāļāļāļāļ āđāļāļĨ handleClose FileNum ' āļāļāđāļāļĨ
FileCopy StatementāļāļąāļāļĨāļāļāđāļāļĨ
āđāļ§āļĒāļēāļāļĢāļFileCopy source, destinationāđāļ§āļĒāļēāļāļĢāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ FileCopy āļĄāļĩāļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāļāļēāļāļīāļ§āđāļĄāļāļāļāļąāļāļāļĩāđ
āļŠāļ§āļ āļāđ āļēāļāļāļīāļāļēāļĒsource āļāļąāļāļāļąāļ, āđāļāļ string expression āļāļĩāđāļĢāļ°āļāļļāļāļ·āđāļāļāļāļāđāļāļĨāļāļĩāđāđāļāļĢāļąāļāļāļēāļĢāļāļąāļāļĨāļāļ source āļāļēāļāļāļ°
āļĢāļ§āļĄāļāļķāļ āđāļāđāļĢāļāļāļāļĢāļĩ āļŦāļĢāļ·āļāđāļāļĨāđāļāļāļĢ āđāļĨāļ°āđāļāļĢāļdestination āļāļąāļāļāļąāļ, āđāļāļ string expression āļāļĩāđāļĢāļ°āļāļļāļāļ·āđāļāļāļāļāđāļāļĨāđāļāļēāļŦāļĄāļēāļĒ destination āļāļēāļāļāļ°āļĢāļ§āļĄ
āļāļķāļāđāļāđāļĢāļāļāļāļĢāļĩ āļŦāļĢāļ·āļāđāļāļĨāđāļāļāļĢ āđāļĨāļ°āđāļāļĢāļ
āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļēāļāļĒāļēāļĒāļēāļĄāđāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ FileCopy āļāļąāļāđāļāļĨāļāļāļāļļāļāļąāļāļāļĩāđāļāđ āļēāļĨāļąāļāđāļāļ āļāļ°āđāļāļīāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄKill Statement, Name Statement
widebase.net âVBA References
38
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ FileCopy āđāļāļ·āđāļāļāļąāļāļĨāļāļāđāļāļĨ
Dim sourceFile, DestinationFileSourceFile = "SRCFILE"DestinationFile = "DESTFILE"FileCopy SourceFile, DestinationFile
FileDateTime FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (Date) āļāļĩāđāđāļŠāļāļāļ§āļąāļāđāļĨāļ°āđāļ§āļĨāļēāļāļēāļĢāļŠāļĢāļēāļāđāļāļĨāļŦāļĢāļ·āļāđāļāđāļāļāļĢāļąāđāļāļŠāļļāļāļāļēāļĒ
āđāļ§āļĒāļēāļāļĢāļFileDateTime(pathname)āļāļēāļāļīāļ§āđāļĄāļāļ pathname āļāļāļ Expression āļāļāļāļāļāļāļ§āļēāļĄāļāļĩāđāļĢāļ°āļāļļāļāļ·āđāļāđāļāļĨ āđāļāļĒ pathname āļāļāļāļĢāļ°āļāļļāđāļāđāļĢāļ
āļāļāļĢāļĩ āļŦāļĢāļ·āļāđāļāļĨāđāļāļāļĢ āđāļĨāļ°āđāļāļĢāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ FileLen, āļāļāļāļāļąāļ GetAttr, āļāļāļāļāļąāļ VarType
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ FileDateTime āđāļāļ·āđāļāļŦāļēāļ§āļąāļāđāļĨāļ°āđāļ§āļĨāļēāļāļēāļĢāļŠāļĢāļēāļāđāļĨāļ°āđāļāđāļāļāļĢāļąāđāļāļŠāļļāļāļāļēāļĒ āļāļķāđāļāļĢāļđāļāđāļāļāļ§āļąāļāđāļĨāļ°āđāļ§āļĨāļēāļāļķāđāļāļāļąāļāļāļēāļĢāļāđ āļēāļŦāļāļāļāļāļāļĢāļ°āļāļ' āļŠāļĄāļĄāļāđāļīāļŦ TESTFILE āļĄāļĩāļāļēāļĢāđāļāđāļāļāļĢāļąāđāļāļŠāļļāļāļāļēāļĒāļ§āļąāļāļāđāļĩ 2 āļāļļāļĄāļ āļēāļāļąāļāļ 1993 āđāļ§āļĨāļē 4:35:47 PM' āļŠāļĄāļĄāļāļīāđāļŦāđāļāļāļąāđāļāļāļēāđāļāļ English / U.S.Dim MyStampMyStamp = FileDateTime("TESTFILE") ' āļŠāļāļāļāļāļāļē "2/12/93 4:35:47 PM"
FileLen FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Long āļāļĩāđāđāļŠāļāļāļāļāļēāļāļāļāļāđāļāļĨāđāļāļāđāļāļ
āđāļ§āļĒāļēāļāļĢāļFileLen(pathname)āļāļēāļāļīāļ§āđāļĄāļāļ pathname āļāļāļ Expression āļāļāļāļāļāļāļ§āļēāļĄāļāļĩāđāļĢāļ°āļāļļāļāļ·āđāļāđāļāļĨ āđāļāļĒ pathname āļāļāļāļĢāļ°āļāļļāđāļāđāļĢāļ
āļāļāļĢāļĩāđāļŦāļĢāļ·āļāđāļāļĨāđāļāļāļĢ āđāļĨāļ° drive
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļāļĨāļāļĩāđāļĢāļ°āļāļļāđāļāļāļēāļāļīāļ§āđāļĄāļāļ pathname āļāđ āļēāļĨāļąāļāđāļāļāļāļĒāļđāđāļĄāļ·āđāļāđāļāļāļāļāļāļąāļ FileLen āļāļēāļāļĩāđāļŠāļāļāļāļāļĄāļēāļāļ°āđāļāļāļāļāļēāļāđāļāļĨāļāļāļāļāļĩāđāļāļ°āđāļāļāļŦāļĄāļēāļĒāđāļŦāļāļļâĒ āļāļēāļĢāļŦāļēāļāļāļēāļāļāļāļāđāļāļĨāļāļĩāđāđāļāļāļāļĒāļđāđāļŦāļāļāļāļāļąāļ LOF
widebase.net âVBA References
39
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ FileDateTime, āļāļāļāļāļąāļ GetAttr, āļāļāļāļāļąāļ LOF
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ FileLen āđāļŦāļŠāļāļāļāļāļāļēāļāļ§āļēāļĄāļĒāļēāļ§āļāļāļāđāļāļĨāđāļāļāđāļāļDim MySizeMySize = FileLen("TESTFILE") ' āļŠāļāļāļāļāļāļēāļāļ§āļēāļĄāļĒāļēāļ§āļāļāļāđāļāļĨāđāļāļāđāļāļ
Fix Function, Int FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĨāļĨāļąāļāļāļāļāļāđāļĨāļāļāđ āļēāļāļ§āļāđāļāđāļĄ
āđāļ§āļĒāļēāļāļĢāļFix(number)Int(number)āļāļēāļāļīāļ§āđāļĄāļāļ number āđāļāļāļāļēāļāļĩāđāļĄāļĩāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāļāļąāļ§āđāļĨāļ āļŦāļĢāļ·āļ Expression āļāļĩāđāđāļŦāļāļēāļāļąāļāļāļĨāļēāļ§ āļāļēāļāļēāļāļĩāđāļŠāļāđāļāļē
āđāļāļāļāļē Null (āļāļēāļ§āļēāļ) āļāļ°āđāļāļāļĨāļĨāļąāļāļāđāļāļāļāļēāļ§āļēāļ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļēāļĢāđāļāļĨāļāđāļĨāļāļāļēāļāļāđ āļēāļāļ§āļāļāļĻāļāļīāļĒāļĄāđāļŦāđāļāļāļāļēāļāđ āļēāļāļ§āļāđāļāđāļĄāļāļāļ āļāļāļāļāļąāļ Int āđāļĨāļ° āļāļāļāļāļąāļ Fix āļāļ°āļāđ āļēāļāļēāļĢāļāļąāļāļāļēāļāļĻāļāļīāļĒāļĄāļāļāļ āđāļāļĄāļĩāļāļ§āļēāļĄāđāļāļāļāļēāļāļāļąāļāđāļāļāļĢāļāļĩāļāļēāļĨāļ āđāļāļĒāļāļāļāļāļąāļ Int āļāļ°āļāļąāļāļāļēāļāļĻāļāļīāļĒāļĄāđāļĨāļ°āđāļāļāļāļēāļĨāļāļāļĩāđāļāļāļĒāļāļ§āļē āđāļāļ â8.4 āļāļ°āđāļāļĨāļāđāļāļ 9 āļŠāļ§āļāļāļāļāļāļąāļ Fix āļāļ°āļāļąāļāļāļēāļāļĻāļāļīāļĒāļĄāđāļĨāļ°āđāļāļāļāļēāļĨāļāļāļĩāđāđāļŦāļāļāļ§āļē āđāļāļ â8.4 āļāļ°āđāļāļĨāļāđāļāļ 8
āļāļąāļ§āļāļĒāļēāļDim myNumbermyNumber = int(87.7) ' āļāļĨāļĨāļąāļāļ 87myNumber = Fix(87.3) ' āļāļĨāļĨāļąāļāļ 87myNumber = int(-87.7) ' āļāļĨāļĨāļąāļāļ â88myNumber = Fix(-87.7) ' āļāļĨāļĨāļąāļāļ â87myNumber = int(-87.3) ' āļāļĨāļĨāļąāļāļ â88myNumber = Fix(-87.3) ' āļāļĨāļĨāļąāļāļ -87
Format Function, Format$ Functionāļāļāļāļāļąāļ Format āļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (String) āļāļ§āļĒāļĢāļđāļāđāļāļāļāļĩāđāļāđ āļēāļŦāļāļāļāļēāļĄ expressionāļāļāļāļāļąāļ Format$ āļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ String āļāļ§āļĒāļĢāļđāļāđāļāļāļāļĩāđāļāđ āļēāļŦāļāļāļāļēāļĄ expression
āđāļ§āļĒāļēāļāļĢāļFormat(expression [,format [,firstdayofweek [,firstweekofyear]]])Format$(expression [,format [,firstdayofweek [,firstweekofyear]]])āđāļ§āļĒāļēāļāļĢāļāđāļāļĨāļ°āļŠāļ§āļāļāļāļāļāļāļāļāļąāļ Format āđāļĨāļ°āļāļāļāļāļąāļ Format$ āļĄāļĩāļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļ āļāļ·āļ
widebase.net âVBA References
40
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļexpression āļāļąāļāļāļąāļ, āđāļāļ Expression āļāļĩāđāđāļāļāļāļĢāļīāļformat āđāļĄāļāļąāļāļāļąāļ, āđāļāļāļāļ·āđāļ Format āļŦāļĢāļ·āļ expression āļāļāļāļĢāļđāļāđāļāļāļāļĩāđāļāļđāđāļāļāđ āļēāļŦāļāļāđāļāļfirstdayofweek āđāļĄāļāļąāļāļāļąāļ, āđāļāļāļāļēāļāļāļāļĩāđāđāļāļ·āđāļāļĢāļ°āļāļļāļ§āļąāļāđāļĢāļāļāļāļāļŠāļąāļāļāļēāļŦfirstweekofyear āđāļĄāļāļąāļāļāļąāļ, āđāļāļāļāļēāļāļāļāļĩāđāđāļāļ·āđāļāļĢāļ°āļāļļāļŠāļąāļāļāļēāļŦāđāļĢāļāļāļāļāļ
āļāļēāļĢāļāļąāđāļāļāļēāļāļēāļāļēāļāļīāļ§āđāļĄāļāļ firstdayofweek āļāđ āļēāļŦāļāļāļāļēāđāļāđāļāļ
āļāļēāļāļāļāļĩāđ āļāļē āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļvbUseSystem 0 āļāļąāđāļāļāļēāļāļēāļĄ NLS APIvbSunday 1 āļ§āļąāļāļāļēāļāļīāļāļĒ (āļāļēāđāļĢāļīāđāļĄāļāļ)vbMonday 2 āļ§āļąāļāļāļąāļāļāļĢvbTuesday 3 āļ§āļąāļāļāļąāļāļāļēāļĢvbWednesday 4 āļ§āļąāļāļāļļāļvbThursday 5 āļ§āļąāļāļāļĪāļŦāļąāļŠāļāļāļĩvbFriday 6 āļ§āļąāļāļĻāļļāļāļĢvbSaturday 7 āļ§āļąāļāđāļŠāļēāļĢ
āļāļēāļāļēāļāļīāļ§āđāļĄāļāļ firstweekofyear āļāđ āļēāļŦāļāļāļāļēāđāļāđāļāļ
āļāļēāļāļāļāļĩāđ āļāļē āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļvbUseSystem 0 āļāļąāđāļāļāļēāļāļēāļĄ NLS APIvbFirstJan1 1 āđāļĢāļīāđāļĄāļāļąāļāļāļēāļāļŠāļąāļāļāļēāļŦāļāļĩāđāļĄāļĩ āļ§āļąāļāļāļĩāđ 1 āļĄāļāļĢāļēāļāļĄ (āļāļēāđāļĢāļīāđāļĄāļāļ)vbFirstFourdays 2 āđāļĢāļīāđāļĄāļāļąāļāļāļēāļāļŠāļąāļāļāļēāļŦāđāļĢāļāļāļāļāļāļāļĩāđāļĄāļĩāļ§āļąāļāļāļĒāļēāļāļāļāļĒ 4 āļ§āļąāļvbFirstFullWeek 3 āđāļĢāļīāđāļĄāļāļąāļāļāļēāļāļŠāļąāļāļāļēāļŦāđāļĢāļāļāļāļāļāļāļĩāđāļĄāļĩāļ§āļąāļāļāļĢāļ 7 āļ§āļąāļ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļ
āļāļēāļĢāļāļąāļāļĢāļđāļāđāļāļ āļāļąāđāļāļāļāļāļāļąāļ§āđāļĨāļ (Number) āđāļāļāļēāļĢāļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļāļāļąāļ§āđāļĨāļāļāļāļīāļ Predefine named āļŦāļĢāļ·āļ āļŠāļĢāļēāļāļĢāļđāļ
āđāļāļāļāļąāļ§āđāļĨāļ āđāļāļĒāļāļđāđāļāļāđ āļēāļŦāļāļāđāļāļāļ§āļąāļāļāļĩāđāđāļĨāļ°āđāļ§āļĨāļē (Date/time) āđāļāļāļēāļĢāļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļāļ§āļąāļāļāļĩāđāđāļĨāļ°āđāļ§āļĨāļēāļāļāļīāļ Predefine named āļŦāļĢāļ·āļ
āļŠāļĢāļēāļāļĢāļđāļāđāļāļāļ§āļąāļāļāļĩāđāđāļĨāļ°āđāļ§āļĨāļēāđāļāļĒāļāļđāđāļāļāđ āļēāļŦāļāļāđāļāļāļ§āļąāļāļāļĩāđāđāļĨāļ°āđāļ§āļĨāļē āđāļāļ Serial numbers āđāļāļāļēāļĢāļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļāļ§āļąāļāļāļĩāđāđāļĨāļ°āđāļ§āļĨāļē āļŦāļĢāļ·āļ āļĢāļđāļāđāļāļāļāļąāļ§āđāļĨāļ
widebase.net âVBA References
41
āļāļēāļĢāļāļąāļāļĢāļđāļāđāļāļ āļāļąāđāļāļāļāļāļāļāļāļ§āļēāļĄ (String) āļŠāļĢāļēāļāļĢāļđāļāđāļāļāļāļāļāļ§āļēāļĄ āđāļāļĒāļāļđāđāļāļāđ āļēāļŦāļāļāđāļāļ
āļāļēāļāļēāļĢāļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļāđāļĄāļĄāļĩāļāļēāļĢāļĢāļ°āļāļļāļāļēāļāļīāļ§āđāļĄāļāļ format āļāļāļāļāļąāļ Format āļāļ°āļĄāļĩāļāļēāļĢāļāđ āļēāļāļēāļāđāļŦāļĄāļ·āļāļāļāļąāļāļāļāļāļāļąāļ Str āļāļķāļāđāļĄāļāļ°āļĄāļĩāļāļāļāđ āļēāļŦāļāļāļāļēāļĄ international āļāļāļāļāļēāļāļāļĩāđ āļĢāļđāļāđāļāļāļāļąāļ§āđāļĨāļāļāļēāļāļ§āļāļāļĩāđāđāļāļāļāļāļāļ§āļēāļĄāđāļāļĒāđāļāļāļāļāļāļąāļ FormatāđāļĄāļāļāļāļĄāļĩāļāļēāļĢāđāļ§āļāļāļ·āđāļāļāļĩāđāļŠāđ āļēāļŦāļĢāļąāļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Format āļāļĩāđāļāđ āļēāļŦāļāļāļāļ§āļĒāļĢāļđāļāđāļāļāļāļēāļāđ, āļāļāļāļāļąāļ Str
āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļ Accessāđāļ Microsoft Access āđāļ§āļāļĢāļāļąāļ 1.x āđāļĨāļ° 2.0 āļāļĢāļāļĩāļāļēāļ§āļēāļ (Null) āļāļāļāļāļąāļ Format āļŠāļēāļĄāļēāļĢāļāļŠāļāļāļ·āļāļāļēāļāļĩāđāđāļāļ zero-length string āđāļĨāļ°āļāļēāļ§āļēāļāđāļ
Dim varX As Variant, varStrX As Variant' āļāđ āļēāļŦāļāļāļāļēāļāļēāļāļāļēāđāļŦ varStrX āđāļĨāļ°āļŠāļāļāļēāļāđāļŦāļāļāļāļāļąāļ FormatvarX = Format(varStrX, "@; ZLS; Null")
āđāļ Microsoft Access 97 āđāļāļāļāļāļĄāļē āļāļĢāļāļĩāļāļēāļ§āļēāļ (Null) āļāļāļāļĄāļĩāļāļēāļĢāđāļĒāļāļāļāļŠāļāļāđāļāļ·āđāļāđāļĨāļ·āļāļāđāļāļāļēāļ°āļāļēāļāļĩāđāļāļāļāļāļēāļĢ āđāļāļ āļāļēāļĢāđāļāļāļāļāļāļąāļ IIFvarX = IIf(IsNull(varStrX), "Null", Format(varStrX, "@; ZLS"))
āļāļąāļ§āļāļĒāļēāļāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļąāļāļĢāļđāļāđāļāļāļ§āļąāļāļāļĩāđāđāļĨāļ°āđāļ§āļĨāļē (Date/time) āđāļāļĒāļāđ āļēāļŦāļāļāļāļēāđāļĢāļīāđāļĄāļāļāđāļāļ Short date
Dim myTime, myDate, myStr
myTime = #16:04:35#myDate = #May 17, 1998#
' āļŠāļāļāļāļāļāļēāđāļ§āļĨāļē āļāļēāļĄāļĢāļāļđāđāļāļāļāļĩāđāļāļđāđāļāļāđ āļēāļŦāļāļāđāļāļāđāļāļāļąāļ§āļāļĒāļēāļāļāđ āļēāļŦāļāļāđāļāļ long time:myStr = Format( Time, "Long Time")
' āļŠāļāļāļāļāļāļēāļ§āļāļąāļāđāļĩ āļāļēāļĄāļĢāļāļđāđāļāļāļāļĩāđāļāļđāđāļāļāđ āļēāļŦāļāļāđāļāļāđāļāļāļąāļ§āļāļĒāļēāļāļāđ āļēāļŦāļāļāđāļāļ long date:myStr = Format(Time, "Long Date")myStr = Format(myTime, "h:m:s") ' āļŠāļāļāļāļāļāļē "16:4:35"myStr = Format(myTime, "hh:mm:ss AMPM") ' āļŠāļāļāļāļāļāļē "04:04:35 PM"myStr = Format(myDate, "dddd, mmm d, yyyy") ' āļŠāļāļāļāļāļāļē "Sunday, May 17 1998"
' āļāļēāļŠāļ§āļ format āđāļĄāļĄāļāļĩāļēāļĢāļāđ āļēāļŦāļāļ āļāļēāļāļĩāđāļŠāļāļāļ·āļāļāļāļāļĄāļēāđāļāļāļāļāļāļ§āļēāļĄ (String)myStr = Format(23) ' āļŠāļāļāļāļāļāļē "23"' āļāļēāļĢāļ āđāļēāļŦāļāļāļĢāļđāļāđāļāļāđāļāļĒāļāļđāđāļāļāđ āļēāļŦāļāļāđāļāļmyStr = Format(5459.4, "##,##0.00") ' āļŠāļāļāļāļāļāļē "5,459.40"myStr = Format(5459.4, "###0.00") ' āļŠāļāļāļāļāļāļē "5459.40"myStr = Format(5, "0.00%") ' āļŠāļāļāļāļāļāļē "500.00%"myStr = Format("HELLO", "<") ' āļŠāļāļāļāļāļāļē "hello"myStr = Format("welcome", ">") ' āļŠāļāļāļāļāļāļē "WELCOME"
widebase.net âVBA References
42
Format Function â āļĢāļđāļāđāļāļāļāļēāļāđāļŠāđ āļēāļŦāļĢāļąāļāļāļēāļāļĩāđāđāļāļāļāļąāļ§āđāļĨāļExpression āđāļāļāļēāļĢāļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļāļāļĩāđāļāļđāđāļāļāđ āļēāļŦāļāļāđāļāļāļŠāļēāļĄāļēāļĢāļāļāļąāļāļĢāļđāļāđāļāļāđāļāļāļąāđāļāđāļ 1 āļŠāļ§āļāļāļķāļ 4 āļŠāļ§āļāđāļāļĒāđāļĒāļāļāļąāļāļāļ§āļĒāđāļāļĢāļ·āđāļāļ (;)
āļāļēāļĢāļāđ āļēāļŦāļāļāļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāļāđ āļēāļŦāļāļ 1 āļŠāļ§āļ Expression āļāļāļāļĢāļđāļāđāļāļāļāļ°āđāļāļāļąāļāļāļļāļāļāļēāļāđ āļēāļŦāļāļ 2 āļŠāļ§āļ āļŠāļ§āļāļāļĩāđāļŦāļāļķāđāļāđāļāļāļąāļāļāļēāļāļ§āļāđāļĨāļ°āļĻāļđāļāļĒ āļŠāļ§āļāļāļĩāđāļŠāļāļāđāļāļāļąāļāļāļēāļĨāļāļāđ āļēāļŦāļāļ 3 āļŠāļ§āļ āļŠāļ§āļāļāļĩāđāļŦāļāļķāđāļāđāļāļāļąāļāļāļēāļāļ§āļ āļŠāļ§āļāļāļĩāđāļŠāļāļāđāļāļāļąāļāļāļēāļĨāļ āļŠāļ§āļāļāļĩāđāļŠāļēāļĄāđāļāļāļąāļāļĻāļđāļāļĒāļāđ āļēāļŦāļāļ 4 āļŠāļ§āļ āļŠāļ§āļāļāļĩāđāļŦāļāļķāđāļāđāļāļāļąāļāļāļēāļāļ§āļ āļŠāļ§āļāļāļĩāđāļŠāļāļāđāļāļāļąāļāļāļēāļĨāļ āļŠāļ§āļāļāļĩāđāļŠāļēāļĄāđāļāļāļąāļāļĻāļđāļāļĒ āđāļĨāļ°āļŠāļ§āļāļāļĩāđāļŠāđāļĩ
āđāļāļāļąāļāļāļēāļ§āļēāļ
āļāļēāļĄāļāļąāļ§āļāļĒāļēāļāđāļāļāļāļēāļĢāļāđ āļēāļŦāļāļāđāļāļ 2 āļŠāļ§āļ āļāļ·āļ āļŠāļ§āļāļāļĩāđāļŦāļāļķāđāļāđāļāļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļāļāļāļāļāļąāļ§āđāļĨāļāļāļĩāđāđāļāļāļāļēāļāļ§āļāđāļĨāļ°āļĻāļđāļāļĒ āļŠāļ§āļāļāļĩāđāļŠāļāļāđāļāļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļāļāļāļāļāļąāļ§āđāļĨāļāļāļĩāđāđāļāļāļāļēāļĨāļ$#,##0;($#,##0)āļāļēāđāļāļīāđāļĄāđāļāļĢāļ·āđāļāļ (;) āđāļāđāļĄāļĄāļĩāļāļēāļĢāļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļ āļāļēāļĢāļāđ āļēāļŦāļāļāļāļāļāļŠāļ§āļāļāļĩāđāļŦāļēāļĒāđāļāļāļ°āđāļāļĢāļđāļāđāļāļāđāļāļĩāļĒāļ§āļāļąāļāļāļēāļāļąāļ§āđāļĨāļāļāļĩāđāđāļāļāļāļ§āļ āļāļēāļĄāļāļąāļ§āļāļĒāļēāļāđāļĄāļĄāļĩāļāļēāļĢāļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļāđāļāļŠāļ§āļāļāļĩāđāļŠāļāļ āļāļķāđāļāļāļēāļāļĩāđāđāļāļāļĨāļāļāļ°āđāļāļĢāļđāļāđāļāļāđāļāļĩāļĒāļ§āļāļąāļāļāļēāļāļ§āļ āļāļēāļāļēāđāļāļāļĻāļđāļāļĒāļāļ°āđāļŠāļāļāļāļĨāđāļāļ âZeroâ$#,##0; ;\Z\e\r\o
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Format, āļāļāļāļāļąāļ Format â āļĢāļđāļāđāļāļāļāļēāļāđāļŠāđ āļēāļŦāļĢāļąāļāļāļēāļāļĩāđāđāļāļāļāļāļāļ§āļēāļĄ
Format Function â āļĢāļđāļāđāļāļāļāļēāļāđāļŠāđ āļēāļŦāļĢāļąāļāļāļēāļāļĩāđāđāļāļāļāļāļāļ§āļēāļĄExpression āđāļāļāļēāļĢāļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļāļŠāđ āļēāļŦāļĢāļąāļāļāļāļāļ§āļēāļĄ (String) āļŠāļēāļĄāļēāļĢāļāļāļąāļāļĢāļđāļāđāļāļāđāļāļāļąāđāļāđāļ 1 āļŠāļ§āļāļāļķāļ 4 āļŠāļ§āļāđāļāļĒāđāļĒāļāļāļąāļāļāļ§āļĒāđāļāļĢāļ·āđāļāļ (;)
āļāļēāļĢāļāđ āļēāļŦāļāļāļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāļāđ āļēāļŦāļāļ 1 āļŠāļ§āļ Expression āļāļāļāļĢāļđāļāđāļāļāļāļ°āđāļāļāļąāļāļāļļāļāļāļāļāļ§āļēāļĄāļāđ āļēāļŦāļāļ 2 āļŠāļ§āļ āļŠāļ§āļāļāļĩāđāļŦāļāļķāđāļāđāļāļāļąāļāļāļāļāļ§āļēāļĄ āđāļĨāļ°āļŠāļ§āļāļāļĩāđāļŠāļāļāđāļāļāļąāļāļāļēāļ§āļēāļāđāļĨāļ°āļāļēāļāļāļīāļ Zero-length
string
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Format, āļāļāļāļāļąāļ Format â āļĢāļđāļāđāļāļāļāļēāļāđāļŠāđ āļēāļŦāļĢāļąāļāļāļēāļāļĩāđāđāļāļāļāļąāļ§āđāļĨāļ
widebase.net âVBA References
43
Format Function â āļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļāļāļ§āļĒāļāļ·āđāļāļĢāļđāļāđāļāļ Date/TimeāļāļēāļĢāļēāļāļāļāđāļāļāļĩāđāđāļāļāļāļĨāļēāļ§āļāļķāļāļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāļāļāļāļāļ·āđāļāļĢāļđāļāđāļāļ Date/Time
āļāđāļ·āļāļĢāļđāļāđāļāļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļGeneral Date āđāļŠāļāļ āļ§āļąāļāļāļĩāđ āđāļĨāļ°/āļŦāļĢāļ·āļ āđāļ§āļĨāļē āļŠāđ āļēāļŦāļĢāļąāļāļāđ āļēāļāļ§āļāļāļĢāļīāļ āđāļŠāļāļ āļ§āļąāļāļāļĩāđāđāļĨāļ°āđāļ§āļĨāļē āđāļāļ 14/8/98 05:34 PM
āļāļēāđāļĄāļĄāļĩāļŠāļ§āļāđāļĻāļĐāļŠāļ§āļāļāļ°āđāļŠāļāļāđāļāļāļēāļ°āļ§āļąāļāļāļĩāđ āđāļāļ 14/8/98 āļāļēāđāļĄāļĄāļĩāļŠāļ§āļāļāđ āļēāļāļ§āļāđāļāđāļĄāļāļ°āđāļŠāļāļāđāļāļāļēāļ°āđāļ§āļĨāļē āđāļāļ 05:34 PM āļāļēāļĢāđāļŠāļāļāļ§āļąāļāļāļĩāđāđāļāļāđāļāļāļēāļĄāļāļēāļŽāļīāļāļēāļāļāļāđāļāļĢāļ·āđāļāļāļāļāļĄāļāļīāļ§āđāļāļāļĢ
Long Date āđāļŠāļāļāļ§āļąāļāļāļĩāđ āđāļ§āļĨāļē āļāļēāļĄāļāļĩāđāļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļāļāļāļ Long Date āđāļāļĢāļ°āļāļMedium Date āđāļŠāļāļāļ§āļąāļāļāļĩāđ āđāļ§āļĨāļē āđāļāļĒāđāļāļĢāļđāļāđāļāļāļāļāļ Medium Date āļāļēāļĄāđāļ§āļāļĢāļāļąāļāļ āļēāļĐāļēāđāļāļĢāļ°āļāļāļāļāļīāļāļąāļāļīāļāļēāļĢShort Date āđāļŠāļāļāļ§āļąāļāļāļĩāđ āđāļ§āļĨāļē āļāļēāļĄāļāļĩāđāļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļāļāļāļ Short Date āđāļāļĢāļ°āļāļLong Time āđāļŠāļāļ āđāļ§āļĨāļē āļāļēāļĄāļāļĩāđāļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļāļāļāļ Long Time āđāļāļĢāļ°āļāļ āđāļāļĒāđāļŠāļāļ āļāļąāđāļ§āđāļĄāļ āļāļēāļāļĩ āđāļĨāļ°āļ§āļīāļāļēāļāļĩMedium Time āđāļŠāļāļāđāļ§āļĨāļēāđāļāļ 12 āļāļąāđāļ§āđāļĄāļ āđāļāļĒāđāļŠāļāļ āļāļąāđāļ§āđāļĄāļ āļāļēāļāļĩ āđāļĨāļ° AM/PMShort Time āđāļŠāļāļāđāļ§āļĨāļēāđāļāļ 24 āļāļąāđāļ§āđāļĄāļ āđāļāļĒāđāļŠāļāļ āļāļąāđāļ§āđāļĄāļ āļāļēāļāļĩ āđāļāļ 21:45
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Format, āļāļāļāļāļąāļ Format â āļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļāļāļ§āļĒāļāļ·āđāļāļĢāļđāļāđāļāļāļāļąāļ§āđāļĨāļ, āļāļāļāļāļąāļ Format â āļāļđāđāļāļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļ Date/Time
Format Function â āļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļāļāļ§āļĒāļāļ·āđāļāļĢāļđāļāđāļāļāļāļąāļ§āđāļĨāļāļāļēāļĢāļēāļāļāļāđāļāļāļĩāđāđāļāļāļāļĨāļēāļ§āļāļķāļāļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāļāļāļāļāļ·āđāļāļĢāļđāļāđāļāļāļāļąāļ§āđāļĨāļ
āļāđāļ·āļāļĢāļđāļāđāļāļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļGeneral Number āđāļŠāļāļāļāļēāļāļąāļ§āđāļĨāļāđāļāļĒāđāļĄāļĄāļĩāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļļāļĨāļ āļēāļāđāļāļāļŦāļĨāļąāļāļāļąāļCurrency āđāļŠāļāļāļāļēāļāļąāļ§āđāļĨāļāđāļāļĒāļĄāļĩāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļļāļĨāļ āļēāļāđāļāļāļŦāļĨāļąāļāļāļąāļ āđāļĨāļ°āļāļĻāļāļīāļĒāļĄ 2 āļāđ āļēāđāļŦāļāļ āļŠāļ§āļāļāļĨ
āļĨāļąāļāļāļāļķāđāļāļāļąāļāļāļēāļĢāļāļąāđāļāļāļēāļāļāļāļĢāļ°āļāļFixed āđāļŠāļāļāļāđ āļēāđāļŦāļāļāļāļĒāļēāļāļāļāļĒāļŦāļāļķāđāļāļāđ āļēāđāļŦāļāļāļāļēāļāļāļēāļĒāļāļļāļāļāļĻāļāļīāļĒāļĄ āđāļĨāļ°āļŠāļāļāļāđ āļēāđāļŦāļāļāļāļēāļāļāļ§āļē
āļāļļāļāļāļĻāļāļīāļĒāļĄStandard āđāļŠāļāļāļāļēāļāļąāļ§āđāļĨāļāđāļāļĒāļĄāļĩāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļļāļĨāļ āļēāļāđāļāļāļŦāļĨāļąāļāļāļąāļ āđāļĨāļ°āļāđ āļēāđāļŦāļāļāļāļĒāļēāļāļāļāļĒāļŦāļāļķāđāļ
āļāđ āļēāđāļŦāļāļāļāļēāļāļāļēāļĒāļāļļāļāļāļĻāļāļīāļĒāļĄ āđāļĨāļ°āļŠāļāļāļāđ āļēāđāļŦāļāļāļāļēāļāļāļ§āļēāļāļļāļāļāļĻāļāļīāļĒāļĄPercent āđāļŠāļāļāļāļēāļāļąāļ§āđāļĨāļāđāļāļĒāļāļēāļĢāļāļđāļāļāļēāļāļ§āļĒ 100 āļāļĢāļāļĄāļāļąāļāļŠāļąāļāļĨāļąāļāļĐāļāļĢāļāļĒāļĨāļ° (%) āļāļēāļāļāļ§āļē āđāļĨāļ°
āđāļŠāļāļāļāļēāļāļĻāļāļīāļĒāļĄ 2 āļāđ āļēāđāļŦāļāļScientific āđāļŠāļāļāļāļēāļāļēāļĄāđāļāļāļĄāļēāļāļĢāļāļēāļāļāļēāļāļ§āļīāļāļĒāļēāļĻāļēāļŠāļāļĢYes/No āđāļŠāļāļ No āļāļēāļāļēāđāļāļ 0 āđāļĨāļ° Yes āļāļēāđāļāļāļāļēāļāļ·āđāļāđTrue/False āđāļŠāļāļ False āļāļēāļāļēāđāļāļ 0 āđāļĨāļ° True āļāļēāđāļāļāļāļēāļāļ·āđāļāđOn/Off āđāļŠāļāļ Off āļāļēāļāļēāđāļāļ 0 āđāļĨāļ° On āļāļēāđāļāļāļāļēāļāļ·āđāļāđ
widebase.net âVBA References
44
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Format, āļāļāļāļāļąāļ Format â āļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļāļāļ§āļĒāļāļ·āđāļāļĢāļđāļāđāļāļ Date/Time, āļāļāļāļāļąāļ Format â āļāļđāđāļāļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļāļāļąāļ§āđāļĨāļ
Format Function â āļāļđāđāļāļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļ Date/TimeāļāļēāļĢāļēāļāļāļāđāļāļāļĩāđāđāļāļāļāļāļīāļāļēāļĒāļāļąāļ§āļāļąāļāļĐāļĢāļāļĩāđāđāļāđāļāļāļēāļĢāļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļ Date/Time āđāļāļāļāļđāđāļāļāđ āļēāļŦāļāļ
āļāļąāļ§āļāļąāļāļĐāļĢ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļ( : ) āđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāđāļāļāđāļ§āļĨāļē āđāļāļāļēāļāļāļĢāļāļĩāļŠāļēāļĄāļēāļĢāļāđāļāļāļąāļ§āļāļąāļāļĐāļĢāļāļ·āđāļ āđāļāļĒāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļĩāđāđāļāļ āļāļąāđāļ§āđāļĄāļ āļāļēāļāļĩ
āļ§āļīāļāļēāļāļĩ āđāļĄāļ·āđāļāļĄāļĩāļāļēāļĢāļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļ Date/Time āđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļĩāđāđāļāļāļĢāļīāļāļāļķāđāļāļāļąāļāļāļēāļĢāļāđ āļēāļŦāļāļāļāļēāļĢāļ°āļāļ( / ) āđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāđāļāļāļ§āļąāļ āđāļāļāļēāļāļāļĢāļāļĩāļŠāļēāļĄāļēāļĢāļāđāļāļāļąāļ§āļāļąāļāļĐāļĢāļāļ·āđāļ āđāļāļĒāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļĩāđāđāļāļ āļ§āļąāļ āđāļāļ·āļāļ āļ āđāļĄāļ·āđāļ
āļĄāļĩāļāļēāļĢāļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļ Date/Time āđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļĩāđāđāļāļāļĢāļīāļāļāļķāđāļāļāļąāļāļāļēāļĢāļāđ āļēāļŦāļāļāļāļēāļĢāļ°āļāļc āđāļŠāļāļāļ§āļąāļāļāļĩāđ āļāļ§āļĒ ddddd āđāļĨāļ°āđāļ§āļĨāļē āļāļ§āļĒ ttttt āļāļķāđāļāļāļēāļĢāđāļŠāļāļāđāļāļāļēāļ°āļāļāļĄāļđāļĨāļāļāļāļ§āļąāļāļāļĩāđ āļāļēāđāļĄāļĄāļĩāļŠāļ§āļāđāļĻāļĐ
āļŠāļ§āļāđāļ date serial number āđāļĨāļ°āđāļŠāļāļāđāļāļāļēāļ°āļāļāļĄāļđāļĨāļāļāļāđāļ§āļĨāļē āļāļēāđāļĄāļĄāļĩāļŠāļ§āļāļāđ āļēāļāļ§āļāđāļāđāļĄd āđāļŠāļāļāļ§āļąāļāļāļĩāđ āđāļāļāļāļąāļ§āđāļĨāļāđāļāļĒāđāļĄāļĄāļĩāđāļĨāļ 0 āļāđ āļēāļŦāļāļē (1-31)dd āđāļŠāļāļāļ§āļąāļāļāļĩāđ āđāļāļāļāļąāļ§āđāļĨāļāđāļāļĒāļĄāļĩāđāļĨāļ 0 āļāđ āļēāļŦāļāļē (01-31)ddd āđāļŠāļāļāļ§āļąāļ āļāļ§āļĒāļāļ·āđāļāļ§āļąāļāđāļāļāļĒāļ (āļ. â āļŠ. āļŦāļĢāļ·āļ Sun â Sat)dddd āđāļŠāļāļāļ§āļąāļ āļāļ§āļĒāļāļ·āđāļāļ§āļąāļāđāļāļāđāļāđāļĄ (Sunday â Saturday)ddddd āđāļŠāļāļāļ§āļąāļāļāļĩāđ āđāļāļāļŠāļĄāļāļđāļĢāļ (āđāļāļĒāđāļŠāļāļ āļ§āļąāļ āđāļāļ·āļāļ āđāļĨāļ°āļ) āļāļ§āļĒāļĢāļđāļāđāļāļ Short date āļāļēāļĄāļāļĩāđāļāđ āļēāļŦāļāļāđāļ
āļĢāļ°āļāļ āđāļāļĒāļāļēāđāļĢāļīāđāļĄāļāļāļāļāļ Microsoft Windows āļĄāļĩāļĢāļđāļāđāļāļāđāļāļ m/d/yydddddd āđāļŠāļāļāļ§āļąāļāļāļĩāđ date serial number āđāļāļāļŠāļĄāļāļđāļĢāļ (āđāļāļĒāđāļŠāļāļ āļ§āļąāļ āđāļāļ·āļāļ āđāļĨāļ°āļ) āļāļ§āļĒāļĢāļđāļāđāļāļ Long
date āļāļēāļĄāļāļĩāđāļāđ āļēāļŦāļāļāđāļāļĢāļ°āļāļ āđāļāļĒāļāļēāđāļĢāļīāđāļĄāļāļāļāļāļ Microsoft Windows āļĄāļĩāļĢāļđāļāđāļāļāđāļāļ mmmmdd, yyyy
w āđāļŠāļāļāļ§āļąāļāđāļāļŠāļąāļāļāļēāļŦ āđāļāļāļāļąāļ§āđāļĨāļ ( 1 āļŠāđ āļēāļŦāļĢāļąāļāļ§āļąāļāļāļēāļāļīāļāļĒ āļāļķāļ 7 āļŠāđ āļēāļŦāļĢāļąāļāļ§āļąāļāđāļŠāļēāļĢ)ww āđāļŠāļāļāļŠāļąāļāļāļēāļŦāļāļĩāđāļāļāļāļ āđāļāļāļāļąāļ§āđāļĨāļ (1-54)m āđāļŠāļāļāđāļāļ·āļāļ āđāļāļāļāļąāļ§āđāļĨāļāđāļāļĒāđāļĄāļĄāļĩāđāļĨāļ 0 āļāđ āļēāļŦāļāļē (1-12) āđāļāļāļēāļāļēāļĄāļŦāļĨāļąāļ h āļŦāļĢāļ·āļ hh āļāļ°āđāļŠāļāļāļāļēāļāļāļ
āļāļēāļāļĩmm āđāļŠāļāļāđāļāļ·āļāļ āđāļāļāļāļąāļ§āđāļĨāļāļāļĩāđāļĄāļĩāđāļĨāļ 0 āļāđ āļēāļŦāļāļē (01-12) āđāļāļāļēāļāļēāļĄāļŦāļĨāļąāļ h āļŦāļĢāļ·āļ hh āļāļ°āđāļŠāļāļāļāļēāļāļāļāļāļēāļāļĩmmm āđāļŠāļāļāđāļāļ·āļāļ āļāļ§āļĒāļāļ·āđāļāđāļāļ·āļāļāđāļāļāļĒāļ (āļĄ.āļ. â āļ.āļ. āļŦāļĢāļ·āļ Jan â Dec)mmmm āđāļŠāļāļāđāļāļ·āļāļ āļāļ§āļĒāļāļ·āđāļāđāļāļ·āļāļāđāļāļāđāļāđāļĄ (January â December)q āđāļŠāļāļāđāļāļĢāļĄāļēāļŠāļāļāļāļāđāļāļāļāļąāļ§āđāļĨāļ (1-4)y āđāļŠāļāļāļ§āļąāļāļāļāļāļ āđāļāļāļāļąāļ§āđāļĨāļ (1-366)yy āđāļŠāļāļāļ āđāļāļāđāļĨāļ 2 āļāđ āļēāđāļŦāļāļ (00-99)yyyy āđāļŠāļāļāļ āđāļāļāđāļĨāļ 4 āļāđ āļēāđāļŦāļāļ (100-9999)h āđāļŠāļāļāļāļąāđāļ§āđāļĄāļ āđāļāļāļāļąāļ§āđāļĨāļāđāļāļĒāđāļĄāļĄāļĩāđāļĨāļ 0 āļāđ āļēāļŦāļāļē (0-23)
widebase.net âVBA References
45
āļāļąāļ§āļāļąāļāļĐāļĢ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļhh āđāļŠāļāļāļāļąāđāļ§āđāļĄāļ āđāļāļāļāļąāļ§āđāļĨāļāđāļāļĒāļĄāļĩāđāļĨāļ 0 āļāđ āļēāļŦāļāļē (00-23)n āđāļŠāļāļāļāļēāļāļĩ āđāļāļāļāļąāļ§āđāļĨāļāđāļāļĒāđāļĄāļĄāļĩāđāļĨāļ 0 āļāđ āļēāļŦāļāļē (0-59)nn āđāļŠāļāļāļāļēāļāļĩ āđāļāļāļāļąāļ§āđāļĨāļāđāļāļĒāļĄāļĩāđāļĨāļ 0 āļāđ āļēāļŦāļāļē (00-59)s āđāļŠāļāļāļ§āļīāļāļēāļāļĩ āđāļāļāļāļąāļ§āđāļĨāļāđāļāļĒāđāļĄāļĄāļĩāđāļĨāļ 0 āļāđ āļēāļŦāļāļē (0-59)ss āđāļŠāļāļāļ§āļīāļāļēāļāļĩ āđāļāļāļāļąāļ§āđāļĨāļāđāļāļĒāļĄāļĩāđāļĨāļ 0 āļāđ āļēāļŦāļāļē (0-59)ttttt āđāļŠāļāļāđāļ§āļĨāļē āđāļāļāļŠāļĄāļāļđāļĢāļ (āđāļāļĒāđāļŠāļāļ āļāļąāđāļ§āđāļĄāļ āļāļēāļĄāļĩ āđāļĨāļ°āļ§āļīāļāļēāļāļĩ) āļāļķāđāļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāđāļāļāđāļ§āļĨāļēāļāļ°āđāļāļāđāļ
āļāļēāļĄāļāļĩāđāļāđ āļēāļŦāļāļāļāļąāļāļĢāļ°āļāļ āļāļēāļĢāļāđ āļēāļŦāļāļēāļāļ§āļĒāđāļĨāļ 0 āļāļķāđāļāļāļąāļāļāļēāļĢāđāļĨāļ·āļāļāļāļąāļ§āđāļĨāļ·āļāļ āļŠāđ āļēāļŦāļĢāļąāļ MicrosoftWindows āļāđ āļēāļŦāļāļāļāļēāđāļĢāļīāđāļĄāļāļāđāļāļ h:mm:ss
AM/PM āđāļŠāļāļāđāļ§āļĨāļēāđāļāļ 12 āļāļąāđāļ§āđāļĄāļ āđāļĨāļ°āļāļąāļāļĐāļĢāļāļąāļ§āđāļŦāļ AM āļŦāļĢāļ·āļ PM āđāļāļĒ AM āļŠāđ āļēāļŦāļĢāļąāļāđāļ§āļĨāļēāļāļāļāđāļāļĩāđāļĒāļāļ§āļąāļāļŠāļ§āļ PM āļŠāđ āļēāļŦāļĢāļąāļāđāļ§āļĨāļēāđāļāļĩāđāļĒāļāļ§āļąāļāļāļķāļāļāļāļāđāļāļĩāđāļĒāļāļāļ·āļ (11:59 PM)
am/pm āđāļŠāļāļāđāļ§āļĨāļēāđāļāļ 12 āļāļąāđāļ§āđāļĄāļ āđāļĨāļ°āļāļąāļāļĐāļĢāļāļąāļ§āđāļĨāđāļ am āļŦāļĢāļ·āļ pm āđāļāļĒ am āļŠāđ āļēāļŦāļĢāļąāļāđāļ§āļĨāļēāļāļāļāđāļāļĩāđāļĒāļāļ§āļąāļāļŠāļ§āļ pm āļŠāđ āļēāļŦāļĢāļąāļāđāļ§āļĨāļēāđāļāļĩāđāļĒāļāļ§āļąāļāļāļķāļāļāļāļāđāļāļĩāđāļĒāļāļāļ·āļ (11:59 pm)
A/P āđāļŠāļāļāđāļ§āļĨāļēāđāļāļ 12 āļāļąāđāļ§āđāļĄāļ āđāļĨāļ°āļāļąāļāļĐāļĢāļāļąāļ§āđāļŦāļ A āļŦāļĢāļ·āļ P āđāļāļĒ A āļŠāđ āļēāļŦāļĢāļąāļāđāļ§āļĨāļēāļāļāļāđāļāļĩāđāļĒāļāļ§āļąāļ āļŠāļ§āļ PāļŠāđ āļēāļŦāļĢāļąāļāđāļ§āļĨāļēāđāļāļĩāđāļĒāļāļ§āļąāļāļāļķāļāļāļāļāđāļāļĩāđāļĒāļāļāļ·āļ (11:59 P)
a/p āđāļŠāļāļāđāļ§āļĨāļēāđāļāļ 12 āļāļąāđāļ§āđāļĄāļ āđāļĨāļ°āļāļąāļāļĐāļĢāļāļąāļ§āđāļŦāļ a āļŦāļĢāļ·āļ p āđāļāļĒ a āļŠāđ āļēāļŦāļĢāļąāļāđāļ§āļĨāļēāļāļāļāđāļāļĩāđāļĒāļāļ§āļąāļ āļŠāļ§āļPM āļŠāđ āļēāļŦāļĢāļąāļāđāļ§āļĨāļēāđāļāļĩāđāļĒāļāļ§āļąāļāļāļķāļāļāļāļāđāļāļĩāđāļĒāļāļāļ·āļ (11:59 p)
AMPM āđāļŠāļāļāđāļ§āļĨāļēāđāļāļ 12 āļāļąāđāļ§āđāļĄāļ āđāļĨāļ°āļāļąāļāļĐāļĢāļāļąāļ§āđāļŦāļ AM āļŦāļĢāļ·āļ PM āļāļķāđāļāļāļķāđāļāļāļąāļāļāļēāļĢāļāđ āļēāļŦāļāļāļāļąāļāļĢāļ°āļāļ āđāļāļĒAM āļŠāđ āļēāļŦāļĢāļąāļāđāļ§āļĨāļēāļāļāļāđāļāļĩāđāļĒāļāļ§āļąāļ āļŠāļ§āļ PM āļŠāđ āļēāļŦāļĢāļąāļāđāļ§āļĨāļēāđāļāļĩāđāļĒāļāļ§āļąāļāļāļķāļāļāļāļāđāļāļĩāđāļĒāļāļāļ·āļ (11:59 PM)āļŠāđ āļēāļŦāļĢāļąāļ Microsoft Windows āļāđ āļēāļŦāļāļāļāļēāđāļĢāļīāđāļĄāļāļāđāļāļ AM/PM
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Format
āļāļąāļ§āļāļĒāļēāļāļĢāļđāļāđāļāļ āļāļēāļĢāđāļŠāļāļāļāļāļāļāļ āļēāļM/d/yy 7/12/58d-mmm 7-Decd-mmmm-yy 7-December-58d mmmm 7 Decembermmmm yy December 58hh:mm AM/PM 07:48 PMh:mm:ss a/p 07:48:12 ph:mm 19:48h:mm:ss 19:48:12m/d/yy h:mm 12/7/58 20:50
widebase.net âVBA References
46
Format Function â āļāļđāđāļāļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļāļāļąāļ§āđāļĨāļāļāļēāļĢāļēāļāļāļāđāļāļāļĩāđāđāļāļāļāļāļīāļāļēāļĒāļāļąāļ§āļāļąāļāļĐāļĢāļāļĩāđāđāļāđāļāļāļēāļĢāļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļāļāļąāļ§āđāļĨāļ āđāļāļāļāļđāđāļāļāđ āļēāļŦāļāļ
āļāļąāļ§āļāļąāļāļĐāļĢ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāđāļĄāļāđ āļēāļŦāļāļ āđāļŠāļāļāļāļąāļ§āđāļāļĒāđāļĄāļĄāļĩāļĢāļđāļāđāļāļāļāļĩāđāļāđ āļēāļŦāļāļ(0) āļāđ āļēāđāļŦāļāļāļāļąāļ§āđāļĨāļ āđāļŠāļāļāļāļąāļ§āđāļĨāļāļŦāļĢāļ·āļ 0 āđāļ Expression āđāļāļāđ āļēāļŦāļāļ 0 āļāļēāļāđ āļēāđāļŦāļāļāļāļąāđāļāļĄāļĩāļāļąāļ§āđāļĨāļ āļāļ°
āļāļĢāļēāļāļāļāļąāļ§āđāļĨāļāļāļąāđāļ āļāļēāđāļāļāļāļāļĄāļđāļĨāļāļ·āđāļāļāļ°āļāļĢāļēāļāļāđāļāļ 0āļāļēāļĄāļĩāļāļēāļāļĻāļāļīāļĒāļĄ (āđāļāļ .25, 4.1) āļāļ°āļāļĢāļēāļāļāđāļĨāļ 0 āļāđ āļēāļŦāļāļēāļŦāļĢāļ·āļāļāļāļāļēāļĒ (āđāļāļ āļāđ āļēāļŦāļāļ 0.00 āļāļ°āļāļĢāļēāļāļāđāļāļ 0.25, 4.10) āļāļēāļāļēāļāļĻāļāļīāļĒāļĄāļĄāļēāļāļāļ§āļēāļāđ āļēāđāļŦāļāļāļāļĩāđāļāđ āļēāļŦāļāļāļāļ°āļĄāļĩāļāļēāļĢāļāļāļāļēāđāļĨāļ§āļāļķāļāđāļŠāļāļāļāļĨāļĨāļąāļāļ ( āđāļāļ .256 āļāļ°āđāļŠāļāļāđāļāļ 0.26) āļāļēāļāļēāļāļąāļ§āđāļĨāļāļāļāļĒāļāļ§āļēāļāđ āļēāļāļ§āļāļāđ āļēāđāļŦāļāļ 0 āļāļĩāđāļāļēāļāļāļēāļĒāļāļāļāļāļĻāļāļīāļĒāļĄ āļāļ°āļĄāļĩāđāļĨāļāļĻāļđāļāļĒāļāđ āļēāļŦāļāļēāđāļāļēāļāļąāļāļāđ āļēāļāļ§āļāļāđ āļēāđāļŦāļāļāļāļĩāđāļāđ āļēāļŦāļāļāđāļ§ ( āđāļāļ āļāđ āļēāļŦāļāļāđāļāļ000.00 āļāļēāļāļēāļāļąāļ§āđāļĨāļ āļāļ·āļ 3.2 āļāļ°āđāļāļāļĨāļĨāļąāļāļāđāļāļ 003.20 )
(#) āļāđ āļēāđāļŦāļāļāļāļąāļ§āđāļĨāļ āđāļŠāļāļāļāļąāļ§āđāļĨāļāļŦāļĢāļ·āļāđāļĄāļĄāļĩāļāļē āđāļ Expression āđāļāļāđ āļēāļŦāļāļ # āļāļēāļāđ āļēāđāļŦāļāļāļāļąāđāļāļĄāļĩāļāļąāļ§āđāļĨāļ āļāļ°āļāļĢāļēāļāļāļāļąāļ§āđāļĨāļāļāļąāđāļ āļāļēāđāļāļāļāļāļĄāļđāļĨāļāļ·āđāļāļāļ°āđāļĄāļĄāļĩāļāļēāļāļēāļĢāđāļŠāļāļāļāļĨāļāļāļ # āļāļĨāļēāļĒāļāļąāļ 0 āđāļāļāļēāļāļāļąāļāļāļĩāđāļāļ°āđāļĄāļĄāļĩāļāļēāļĢāļāđ āļēāļŦāļāļēāļŦāļĢāļ·āļāļāļāļāļēāļĒāļāļ§āļĒāđāļĨāļ 0 āđāļāļāļĢāļāļĩāļāļĩāđāļāļēāļāļąāļ§āđāļĨāļāļĄāļĩāļāđ āļēāļāļ§āļāļāļāļĒāļāļ§āļēāļāđ āļēāđāļŦāļāļāļāļĩāđāļāđ āļēāļŦāļāļ
( . ) āļāļļāļāļāļĻāļāļīāļĒāļĄ āđāļāļāļēāļāļāļĢāļāļĩāļŠāļēāļĄāļēāļĢāļāđāļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļļāļĨāļ āļēāļ ( , ) āđāļāļ āļāļļāļāļāļĻāļāļīāļĒāļĄāļāđ āļēāļŦāļāļēāļāļĩāđāļŦāļēāļāđ āļēāļāļ§āļāļāđ āļēāđāļŦāļāļāļāļąāļ§āđāļĨāļāļāļēāļāļāļēāļĒāđāļĨāļ°āļāļ§āļēāļāļāļāļāļļāļāļāļĻāļāļīāļĒāļĄ āļāļĢāļāļĩāļāļĩāđāđāļ Expression āđāļāđāļāļāļēāļ°āđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒ # āļāļēāļāļēāļāļąāļ§āđāļĨāļāļāļāļĒāļāļ§āļē 1 āļāļ°āđāļŠāļāļāļāļĨāļĨāļąāļāļāđāļāļĒāļāļķāđāļāļāļāļāļ§āļĒāļāļĻāļāļīāļĒāļĄ āđāļāļāļēāļāļāļāļāļēāļĢāđāļŦāļāļķāđāļāļāļāļāļ§āļĒāđāļĨāļ 0 āđāļŦāļĢāļ°āļāļļ 0 āļāļĩāđāļāđ āļēāđāļŦāļāļāđāļĢāļāļŦāļāļēāļāļļāļāļāļĻāļāļīāļĒāļĄ ( āđāļāļ ##0.00 āļāļēāļāļēāļāļ·āļ .23 āļāļ°āđāļāļāļĨāļĨāļąāļāļāđāļāļ 0.23) āļāļāļāļāļēāļāļāļĩāđāļŠāļąāļāļĨāļąāļāļĐāļāļāļĩāđāđāļāļāļĢāļīāļāļāļķāđāļāļāļąāļāļāļēāļĢāļāđ āļēāļŦāļāļāđāļāļĢāļ°āļāļ
(%) āđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļĢāļāļĒāļĨāļ° āļŦāļĢāļ·āļāđāļāļāļĢāđāļāđāļāļ āļāļķāđāļ Expression āļāļ°āļāļđāļāļāļēāļāļ§āļĒ 100 āđāļĨāļ°āđāļāļīāđāļĄāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒ% āļāļāļāļēāļĒ
( , ) āđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāđāļāļāļŦāļĨāļąāļāļāļąāļ āđāļāļāļēāļāļāļĢāļāļĩāļŠāļēāļĄāļēāļĢāļāđāļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļļāļ ( . ) āđāļāļ āđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāđāļāļāļŦāļĨāļąāļāļāļąāļāļāļ°āđāļāļāļŦāļĨāļąāļāļāļąāļāļāļāļāļāļēāļāļŦāļĨāļąāļāļĢāļāļĒ āđāļĄāļ·āđāļāļāļēāļāļąāļ§āđāļĨāļāļĄāļĩ 4 āļŦāļĨāļąāļ āđāļāļĒāļĄāļēāļāļĢāļāļēāļāļāļēāļĢāļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļāđāļŦāļĢāļ°āļāļļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāđāļāļāļŦāļĨāļąāļāļāļąāļāļāļĒāļđāļ āļēāļĒāđāļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļāļāļāđ āļēāđāļŦāļāļ (# āļŦāļĢāļ·āļ 0 āđāļāļ#,##0.00) āļāļēāļĄāļĩāļāļēāļĢāđāļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāđāļāļāļŦāļĨāļąāļāļāļīāļāļāļąāļāļāļĻāļāļīāļĒāļĄ āļŦāļĢāļ·āļāļāļēāļĒāļŠāļļāļāļāļāļāļēāļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļāļāļāđ āļēāđāļŦāļāļ āļāļ°āļĄāļĩāļāļ§āļēāļĄāļŦāļĄāļēāļĒāļ§āļēāđāļŦāđāļŠāļāļāļāļĨāđāļāļĒāļāļēāļĢāļŦāļēāļĢāļāļ§āļĒ 1000 ( āđāļāļ #, āļāļēāļāļēāļāļąāļ§āđāļĨāļāļāļ·āļ 5 āļĨāļēāļ āļāļ°āđāļāļāļĨāļĨāļąāļāļāđāļāļ 5,000 ) āļŦāļĢāļ·āļāļāļēāļāđ āļēāļŦāļāļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāđāļāļāļŦāļĨāļąāļ 2 āļāļąāļ§ āļāļ°āļĄāļĩāļāļēāđāļāļēāļāļąāļāļŦāļēāļĢ 1 āļĨāļēāļ (āđāļāļ #,, āļāļēāļāļēāļāļąāļ§āđāļĨāļ āļāļ·āļ 5 āļĨāļēāļ āļāļ°āđāļāļāļĨāļĨāļąāļāļāđāļāļ 5 ) āļāļāļāļāļēāļāļāļĩāđāļŠāļąāļāļĨāļąāļāļĐāļāļāļĩāđāđāļāļāļĢāļīāļāļāļķāđāļāļāļąāļāļāļēāļĢāļāđ āļēāļŦāļāļāđāļāļĢāļ°āļāļ
( : ) āđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāđāļāļāđāļ§āļĨāļē āđāļāļāļēāļāļāļĢāļāļĩāļŠāļēāļĄāļēāļĢāļāđāļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļ·āđāļāđāļāļ āđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāđāļāļāđāļ§āļĨāļēāļāļ°āļāđ āļēāļŦāļāļēāđāļāļ āļāļąāđāļ§āđāļĄāļ āļāļēāļāļĩ āđāļĨāļ°āļ§āļīāļāļēāļāļĩ āđāļĄāļ·āđāļāļĄāļĩāļāļēāļĢāļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļāđāļ§āļĨāļē āļāļāļāļāļēāļāļāļĩāđāļŠāļąāļāļĨāļąāļāļĐāļāļāļĩāđāđāļāļāļĢāļīāļāļāļķāđāļāļāļąāļāļāļēāļĢāļāđ āļēāļŦāļāļāđāļāļĢāļ°āļāļ
( / ) āđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāđāļāļāļ§āļąāļ āđāļāļāļēāļāļāļĢāļāļĩāļŠāļēāļĄāļēāļĢāļāđāļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļ·āđāļāđāļāļ āđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāđāļāļāđāļ§āļĨāļēāļāļ°āļāđ āļē
widebase.net âVBA References
47
āļāļąāļ§āļāļąāļāļĐāļĢ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāļŦāļāļēāđāļāļ āļ§āļąāļ āđāļāļ·āļāļ āđāļĨāļ°āļ āđāļĄāļ·āđāļāļĄāļĩāļāļēāļĢāļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļāļ§āļąāļ āļāļāļāļāļēāļāļāļĩāđāļŠāļąāļāļĨāļąāļāļĐāļāļāļĩāđāđāļāļāļĢāļīāļāļāļķāđāļāļāļąāļāļāļēāļĢāļāđ āļēāļŦāļāļāđāļāļĢāļ°āļāļ
(E- E+ e- e+) āļĢāļđāļāđāļāļāđāļāļīāļāļ§āļīāļāļĒāļēāļĻāļēāļŠāļāļĢ āļāļēāđāļ Expression āļĄāļĩāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļāļāļāđ āļēāđāļŦāļāļ (#/0) āļāļēāļāļāļ§āļēāļāļāļE-, E+, e- āļŦāļĢāļ·āļ e+ āļāļ°āđāļŠāļāļāļāļĨāļĨāļąāļāļāļāļąāļ§āđāļĨāļ āđāļĨāļ° āļĄāļĩ E āļŦāļĢāļ·āļ e āđāļāļĢāļāļāļĒāļđāļĢāļ°āļŦāļ§āļēāļāļāļēāļāļąāļ§āđāļĨāļāļāļąāļāđāļĨāļāļĒāļāļāđ āļēāļĨāļąāļ āļāļēāļĢāđāļ E- āļŦāļĢāļ·āļ e- āļāļ°āđāļŠāļāļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļĨāļāļāļāļāļēāļāđāļĨāļāļĒāļāļāđ āļēāļĨāļąāļāļāļĩāđāđāļāļāļĨāļ āļŠāļ§āļāļāļēāļĢāđāļ E+ āļŦāļĢāļ·āļ e+ āļāļ°āđāļŠāļāļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļĨāļāļāļāļāļēāļāđāļĨāļāļĒāļāļāđ āļēāļĨāļąāļāļāļĩāđāđāļāļāļĨāļ āđāļĨāļ°āđāļŠāļāļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļ§āļāļāļāļāļēāļāđāļĨāļāļĒāļāļāđ āļēāļĨāļąāļāļāļĩāđāđāļāļāļāļ§āļ
- + $ ( ) āđāļŠāļāļāļāļąāļāļĐāļĢāļāļēāļĄ (literal character) āļāļēāļāļāļāļāļēāļĢāđāļŠāļāļāļāļąāļāļĐāļĢāļāļ·āđāļāļāļāļāđāļŦāļāļ·āļāļāļēāļāļĢāļēāļĒāļāļēāļĢāđāļŦāđāļāļīāđāļĄāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒ ( \ ) āļāđ āļēāļŦāļāļē āļŦāļĢāļ·āļāļāđ āļēāļŦāļāļāđāļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāđ āļēāļāļđāļ (â â)
( \ ) āđāļŠāļāļāļāļąāļ§āļāļąāļāļĐāļĢāļāļāđāļāđāļāļĢāļđāļāđāļāļāļāļāļāļ§āļēāļĄ āđāļāļ·āđāļāđāļŠāļāļāļāļ§āļēāļĄāļāļĩāđāļāļāļāļāļēāļĢāđāļāļēāļ°āļāļāđāļāļĨāļąāļāļĐāļāļ°āđāļāļĩāļĒāļ§āļāļąāļ literal character āđāļāļĒāļāđ āļēāļŦāļāļāļāļāļāļēāļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒ ( \ ) āđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļĩāđāļāļ°āđāļĄāļāļĢāļēāļāļāđāļŦāđāļŦāđāļāđāļĨāļ°āļĄāļĩāļĨāļąāļāļĐāļāļ°āđāļŦāļĄāļ·āļāļāļāļąāļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāđ āļēāļāļđāļ (â â) āļāļēāļāļāļāļāļēāļĢāđāļŠāļāļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒ ( \ ) āđāļŦāđāļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļĩāđ 2 āļāļąāļ§ (\\)āļāļąāļ§āļāļĒāļēāļāļāļąāļāļĐāļĢāļāļĩāđāđāļĄāļŠāļēāļĄāļēāļĢāļāđāļāļ literal character āđāļāđāļāļāļąāļāļĐāļĢāļāļĩāđāđāļāđāļāļāļēāļĢāļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļāļāļēāļāđ āđāļāļĒāļĢāļđāļāđāļāļ Date/Time ( āđāļāđāļ a, c, d, h, m, n, p, q, s, t, w, y, / āđāļĨāļ° : ) āļĢāļđāļāđāļāļāļāļąāļ§āđāļĨāļ ( #, 0, %, E, e, āđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļļāļĨāļ āļēāļ āđāļĨāļ°āļāļļāļ) āļĢāļđāļāđāļāļāļāļāļāļ§āļēāļĄ ( @, &, <, > āđāļĨāļ° ! )
(âABCâ) āđāļŠāļāļāļāļāļāļ§āļēāļĄāļāļĩāđāļāļĒāļđāđāļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāđ āļēāļāļđāļ (â â) āļĢāļ§āļĄāļāļķāļāļāļāļāļ§āļēāļĄāđāļāļāļĢāļŦāļąāļŠāđāļāļāļēāļāļīāļ§āđāļĄāļāļformat āđāļāļ Chr(34) āļĄāļĩāļāļ§āļēāļĄāļŦāļĄāļēāļĒāđāļāļēāļāļąāļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāđ āļēāļāļđāļāđāļāļ (â )
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Format
āļāļąāļ§āļāļĒāļēāļāļāļēāļĢāļēāļāļāļāđāļāļāļĩāđāđāļāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļāļāļąāļ§āđāļĨāļ āđāļāļĒāļāđ āļēāļŦāļāļāļĢāļ°āļāļāđāļāļ English â U.S.
āļĢāļđāļāđāļāļ āļāļēāļāļ§āļ 5 āļāļēāļĨāļ 5 āļāļļāļāļāļĻāļāļīāļĒāļĄ .5 āļāļēāļ§āļēāļZero-length string (ââ) 5 -5 0.50 5 -5 10.00 5.00 -5.00 0.50#,##0 5 -5 1#,##0.00; ; ;Nil 5.00 -5.00 0.50 Nil$#,##0;( $#,##0) $5 ($5) $1$#,##0.00;( $#,##0.00) $5.00 ($5.00) $0.500% 500% -500% 50%
widebase.net âVBA References
48
āļĢāļđāļāđāļāļ āļāļēāļāļ§āļ 5 āļāļēāļĨāļ 5 āļāļļāļāļāļĻāļāļīāļĒāļĄ .5 āļāļēāļ§āļēāļ0.00% 500.00% -500% 50.00%0.00E+00 5.00E+00 -5.00E+00 5.00E-010.00E-00 5.00E00 -5.00E00 5.00E-01
Format Function â āļāļđāđāļāļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļāļāļāļāļ§āļēāļĄāļāļēāļĢāļēāļāļāļāđāļāļāļĩāđāđāļāļāļāļāļīāļāļēāļĒāļāļąāļ§āļāļąāļāļĐāļĢāļāļĩāđāđāļāđāļāļāļēāļĢāļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļāļāļāļāļ§āļēāļĄ (String) āđāļāļāļāļđāđāļāļāđ āļēāļŦāļāļ
āļāļąāļ§āļāļąāļāļĐāļĢ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļ@ āļāđ āļēāđāļŦāļāļāļāļąāļ§āļāļąāļāļĐāļĢ āđāļŠāļāļāļāļąāļ§āļāļąāļāļĐāļĢāļŦāļĢāļ·āļāļāļāļāļ§āļēāļ āđāļ Expression āđāļāļāđ āļēāļŦāļāļ @ āļāļēāļāđ āļēāđāļŦāļāļāļāļąāđāļ
āļĄāļĩāļāļąāļ§āļāļąāļāļĐāļĢ āļāļ°āļāļĢāļēāļāļāļāļąāļāļĐāļĢāļāļąāđāļ āļāļēāđāļāļāļāļāļĄāļđāļĨāļāļ·āđāļāļāļ°āļāļĢāļēāļāļāđāļāļāļāļāļāļ§āļēāļ āļāļēāļĢāđāļŠāļāļāļāļąāļ§āļāļąāļāļĐāļĢāļāļ°āđāļĢāļīāđāļĄāļāļēāļāļāļ§āļēāđāļāļāļēāļĒ āļāļēāļāđ āļēāļŦāļāļē @ āļāļ§āļĒāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļāđāļ ( ! ) āļāļēāļĢāđāļŠāļāļāļāļąāļ§āļāļąāļāļĐāļĢāļāļ°āđāļĢāļīāđāļĄāļāļēāļāļāļēāļĒāđāļāļāļ§āļē
& āļāđ āļēāđāļŦāļāļāļāļąāļ§āļāļąāļāļĐāļĢ āđāļŠāļāļāļāļąāļ§āļāļąāļāļĐāļĢāļŦāļĢāļ·āļāđāļĄāļĄāļĩ āđāļ Expression āđāļāļāđ āļēāļŦāļāļ & āļāļēāļāđ āļēāđāļŦāļāļāļāļąāđāļāļĄāļĩāļāļąāļ§āļāļąāļāļĐāļĢ āļāļ°āļāļĢāļēāļāļāļāļąāļāļĐāļĢāļāļąāđāļ āļāļēāđāļāļāļāļāļĄāļđāļĨāļāļ·āđāļāļāļ°āđāļĄāļĄāļĩāļāļēāđāļāđ āļāļēāļĢāđāļŠāļāļāļāļąāļ§āļāļąāļāļĐāļĢāļāļ°āđāļĢāļīāđāļĄāļāļēāļāļāļ§āļēāđāļāļāļēāļĒ āļāļēāļāđ āļēāļŦāļāļē & āļāļ§āļĒāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļāđāļ ( ! ) āļāļēāļĢāđāļŠāļāļāļāļąāļ§āļāļąāļāļĐāļĢāļāļ°āđāļĢāļīāđāļĄāļāļēāļāļāļēāļĒāđāļāļāļ§āļē
< āļāļąāļāļāļąāļāđāļŦāđāļāļāļāļąāļāļĐāļĢāļāļąāļ§āđāļĨāđāļ āđāļŠāļāļāļāļąāļ§āļāļąāļāļĐāļĢāļāļąāđāļāļŦāļĄāļāđāļāļāļāļąāļāļĐāļĢāļāļąāļ§āđāļĨāđāļ> āļāļąāļāļāļąāļāđāļŦāđāļāļāļāļąāļāļĐāļĢāļāļąāļ§āđāļŦāļ āđāļŠāļāļāļāļąāļ§āļāļąāļāļĐāļĢāļāļąāđāļāļŦāļĄāļāđāļāļāļāļąāļāļĐāļĢāļāļąāļ§āđāļŦāļ! āļāļąāļāļāļąāļāđāļŦāđāļŠāļāļāļāļąāļ§āļāļąāļāļĐāļĢāļāļēāļāļāļēāļĒāđāļāļāļ§āļē āļāļķāđāļāļāļēāđāļĢāļīāđāļĄāļāļāļāļāļāļāļēāļĢāđāļŠāļāļāļāđ āļēāđāļŦāļāļāļāļąāļ§āļāļąāļāļĐāļĢ (@ / &)
āļāļ°āđāļŠāļāļāļāļąāļ§āļāļąāļāļĐāļĢāļāļēāļāļāļ§āļēāđāļāļāļēāļĒ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Format, āļāļāļāļāļąāļ Format â āļĢāļđāļāđāļāļāļāļēāļāđāļŠāđ āļēāļŦāļĢāļąāļāļāļēāļāļĩāđāđāļāļāļāļāļāļ§āļēāļĄ, āļāļāļāļāļąāļ Format â āļāļđāđāļāļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļ Date/Time, āļāļāļāļāļąāļ Format â āļāļđāđāļāļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļāļāļąāļ§āđāļĨāļ
FreeFile FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Integer āđāļŠāļāļāļŦāļĄāļēāļĒāđāļĨāļāđāļāļĨāļāļāđāļāļāļĩāđāļĄāļĩāđāļŦāļāđ āļēāļŠāđāļąāļ Open āđāļāļāļēāļ
āđāļ§āļĒāļēāļāļĢāļFreeFile[(rangenumber)]āļāļēāļāļīāļ§āđāļĄāļāļ rangenumber āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant āļāļĩāđāļĢāļ°āļāļļāļāļ§āļāļāļĩāđāđāļŦāļŠāļāļāļāļāļŦāļĄāļēāļĒāđāļĨāļāđāļāļĨāļāļĩāđāļ§āļēāļ
āļĢāļ°āļāļļāđāļāļ 0 (āļāļēāđāļĢāļīāđāļĄāļāļ) āđāļŦāļŠāļāļāļāļāļŦāļĄāļēāļĒāđāļĨāļāđāļāļĨāđāļāļāļ§āļ 1-255 āļĢāļ°āļāļļāđāļāļ 1 āđāļŦāļŠāļāļāļāļāļŦāļĄāļēāļĒāđāļĨāļāđāļāļĨāđāļāļāļ§āļ 256-511
widebase.net âVBA References
49
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļāļāļāļąāļ FreeFile āđāļāļāļāļēāļĢāļŠāļāļāļēāļŦāļĄāļēāļĒāđāļĨāļāđāļāļĨāļāļĩāđāļĒāļąāļāđāļĄāđāļāđāļāļāļēāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄOpen Statement
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ FreeFile āđāļŦāļŠāļāļāļāļāļŦāļĄāļēāļĒāđāļĨāļāđāļāļĨāļāļāđāļāļāļĩāđāđāļāđāļāļāļāđāļ
Dim MyIndex, FileNumberFor MyIndex = 1 To 5 ' āļ§āļāļĢāļāļ 5 āļāļĢāļąāđāļ FileNumber = FreeFile ' āđāļĢāļĒāļĩāļāļŦāļĄāļēāļĒāđāļĨāļāđāļāļĨāļāđāļĩāļĒāļąāļāđāļĄāđāļāđāļ. Open "TEST" & MyIndex For Output As #FileNumber ' āļŠāļĢāļēāļāļāļ·āđāļāđāļāļĨ Write #FileNumber, "This is a sample." ' āļāļāļāļ§āļēāļĄāđāļŠāļāļāļāļĨ Close #FileNumber ' āđāļāļāđāļāļĨNext MyIndex
FV FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double āļāļāļāļĄāļđāļĨāļāļēāđāļāļāļāļēāļāļ āđāļāļĒāļĄāļĩāļāļ§āļāļāļēāļĢāļāļēāļĒāļŠāļĄāđāđ āļēāđāļŠāļĄāļ āļāļēāļĢāļāļēāļĒāļāļāļāļĩāđ āđāļĨāļ°āļāļąāļāļĢāļēāļāļāļāđāļāļĩāđāļĒāļāļāļāļĩāđ
āđāļ§āļĒāļēāļāļĢāļFV(rate, nper, pmt [,pv [,type]])āļāļēāļāļīāļ§āđāļĄāļāļāļāļāļāļāļāļāļāļąāļ FV āļĄāļĩāļāļ§āļēāļĄāļŦāļĄāļēāļĒ āļāļ·āļ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļrate āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double, āļĢāļ°āļāļļāļāļąāļāļĢāļēāļāļāļāđāļāļĩāđāļĒāļāļāļāļ§āļ āđāļāļ āļāļēāļĢāļāļđāđāļāļīāļāļāļ·āđāļāļĢāļāļĒāļāļāļāļĩāđāļāļąāļāļĢāļēāļāļāļ
āđāļāļĩāđāļĒ 10% āļāļāļ āđāļĨāļ°āļāļ§āļāļāļēāļĢāļāļēāļĒāđāļāļāļĢāļēāļĒāđāļāļ·āļāļ āļāļąāļāļĢāļēāļāļāļāđāļāļĩāđāļĒāļāļāđāļāļ·āļāļ āļāļ·āļ 0.1/12 āļŦāļĢāļ·āļ 0.0083nper āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Integer, āļĢāļ°āļāļļāļāđ āļēāļāļ§āļāļāļ§āļāļāļēāļĢāļāļēāļĒāļāļąāđāļāļŦāļĄāļ āđāļāļ āļāļēāļĢāļāļēāļĒāđāļāļīāļāļāļđāļĢāļēāļĒāđāļāļ·āļāļāļāļāļ
āđāļāļīāļāļāļđ 4 āļ āļāđ āļēāļāļ§āļāļāļ§āļāļāļąāđāļāļŦāļĄāļ āļāļ·āļ 4 * 12 (āļŦāļĢāļ·āļ 48) āļāļ§āļāļāļēāļĢāļāļēāļĒpmt āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double, āļĢāļ°āļāļļāļāđ āļēāļāļ§āļāđāļāļīāļāļāļēāļĒāđāļāđāļāļĨāļ°āļāļ§āļ āļāļēāļĢāļāļēāļĒāļāļāļāļīāļĢāļ§āļĄāđāļāļīāļāļāļāđāļĨāļ°
āļāļāļāđāļāļĩāđāļĒ āļāļķāđāļāđāļĄāļŠāļēāļĄāļēāļĢāļāđāļāļĨāļĩāđāļĒāļāđāļāļāļĨāļāļāļāļēāļĒāļļāļāļēāļĢāđāļāļāļēāļpv āđāļĄāļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant, āļĄāļđāļĨāļāļēāļāļāļāļļāļāļąāļ (āļŦāļĢāļ·āļāđāļāļīāļāļĢāļ§āļĄāļāļąāđāļāļŦāļĄāļ) āļāļāļāļāļļāļāļāļēāļĢāļāļēāļĒāļŠāđ āļēāļŦāļĢāļąāļāļĄāļđāļĨ
āļāļēāļāļāļēāļāļ āđāļāļ āļāļēāļĢāļĒāļ·āļĄāđāļāļīāļāđāļāļ·āđāļāļāļ·āđāļāļĢāļāļĒāļāļ āđāļāļīāļāļāļđ āļāļ·āļ āļĄāļđāļĨāļāļēāļāļāļāļļāļāļąāļāļāļĩāđāļāļđāļāļđāļāļāļāļāļēāļĒāđāļāļāļĢāļēāļĒāđāļāļ·āļāļ āļāļēāđāļĄāļāđ āļēāļŦāļāļ āļāļ°āđāļāļāļēāđāļāļ 0
type āđāļĄāļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant, āļĢāļ°āļāļļāļāđ āļēāļŦāļāļāļāļēāļĢāļāļēāļĒ āđāļ 0 āļāļēāļāđ āļēāļŦāļāļāļāđ āļēāļĢāļ°āđāļāļāļŠāđāļīāļāļāļ§āļ āļŦāļĢāļ·āļ 1āļāļēāļāđ āļēāļŦāļāļāļāđ āļēāļĢāļ°āđāļāļāļāļāļāļ§āļ āļāļēāđāļĄāļāđ āļēāļŦāļāļ āļāļ°āđāļāļāļēāđāļāļ 0
widebase.net âVBA References
50
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļ§āļāļāļēāļĢāļāļēāļĒāđāļāļāļāļļāļāļāļēāļĢāļāļēāļĒāļāļĩāđāļāļāļāļĩāđāļāļĨāļāļāļĢāļ°āļĒāļ°āđāļ§āļĨāļēāļāļąāđāļāļŦāļĄāļ āļāļēāļĢāļāļēāļĒāļŠāļēāļĄāļēāļĢāļāđāļāļāļāļēāļĢāļāđ āļēāļĢāļ°āđāļāļīāļāļāļđ ( āđāļāļ āļāļēāļāļ§āļāđāļāļīāļāļāļđāļāļāļāļēāļ) āļŦāļĢāļ·āļāļāļēāļĢāļĨāļāļāļļāļ ( āđāļāļ āļāļēāļĢāļāļēāļāđāļāļīāļāļāļāļĄāđāļāļāļĢāļēāļĒāđāļāļ·āļāļ)āļāļēāļāļīāļ§āđāļĄāļāļ rate āđāļĨāļ° nper āļāļāļāļĄāļĩāļŦāļāļ§āļĒāđāļāļāļŦāļāļ§āļĒāđāļāļĩāļĒāļ§āļāļąāļ āđāļāļ rate āļāđ āļēāļāļ§āļāđāļāļāļāļąāļāļĢāļēāļāļāđāļāļ·āļāļ nper āļāļ°āļāļāļāđāļāļāļĢāļēāļĒāđāļāļ·āļāļāļāļ§āļĒāļāļēāļāļīāļ§āđāļĄāļāļāļāļąāđāļāļŦāļĄāļ āđāļāļīāļāļŠāļāļāļēāļĒāļāļāļ (āđāļāļ āļāļēāļĢāļāļēāļāđāļāļīāļāļāļāļĄ) āđāļŦāđāļāļāļāļēāļĨāļ āđāļāļīāļāļŠāļāļĢāļąāļāđāļāļē (āđāļāļ āđāļāļīāļāļāļāļāļĨ) āđāļŦāđāļāļāļāļēāļāļ§āļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ DDB, āļāļāļāļāļąāļ IPmt, āļāļāļāļāļąāļ IRR, āļāļāļāļāļąāļ MIRR, āļāļāļāļāļąāļ NPer, āļāļāļāļāļąāļ NPV, āļāļāļāļāļąāļ Pmt, āļāļāļāļāļąāļPPmt, āļāļāļāļāļąāļ PV, āļāļāļāļāļąāļ Rate, āļāļāļāļāļąāļ SLN, āļāļāļāļāļąāļ SYD
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ FV āđāļāļāļēāļĢāļŠāļāļāļāļāļāļēāļĄāļđāļĨāļāļēāđāļāļāļāļēāļāļāļāļāļāļāļēāļĢāļĨāļāļāļļāļāļāļ§āļĒāļāļąāļāļĢāļēāļāļāļāđāļāļĩāđāļĒāļāļāļ āļāļķāđāļāļāđ āļēāļŦāļāļāđāļāļāļāļ§āļ (APR / 12), āļāđ āļēāļāļ§āļāļāļ§āļāļāļēāļĢāļāļēāļĒāļāļąāđāļāļŦāļĄāļ (TotPmts), āļāļēāļĢāļāļēāļĒ (Payment), āļĄāļđāļĨāļāļēāļāļāļāļļāļāļąāļāļāļāļāļāļēāļĢāļĨāļāļāļļāļ (PVal), āđāļĨāļ°āļāļąāļ§āđāļĨāļāļāļĩāđāļĢāļ°āļāļļāļāđ āļēāļŦāļāļāļāļēāļĢāļāļēāļĒ (PayType) āđāļāļ·āđāļāļāļāļēāļāđāļāļāļāļēāļĢāļāļēāļĒāļāđ āļēāļĢāļ° āļāļķāļāļĄāļĩāļāļēāđāļāļāļĨāļ
Dim Fmt, Payment, APR, TotPmts, PayType, PVal, FValConst ENDPERIOD = 0, BEGINPERIOD = 1 ' āļāđ āļēāļŦāļāļāļāļĢāļ°āđāļ āļāļāļēāļĢāļāļēāļĒFmt = "###,###,##0.00" ' āļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļāļāļēāļĢāđāļāļīāļPayment = InputBox("How much do you plan to save each month?")APR = InputBox("Enter the expected interest annual percentage rate.")
If APR > 1 Then APR = APR / 100 ' āļāļĢāļ§āļāļāļ§āļēāļĄāļāļđāļāļāļāļāļāļāļāļāļēTotPmts = InputBox("For how many months do you expect to save?")PayType = MsgBox("Do you make payments at the end of month?", vbYesNo)If PayType = vbNo Then PayType = BEGINPERIOD Else PayType = ENDPERIODPVal = InputBox("How much is in this savings account now?")FVal = FV(APR / 12, TotPmts, -Payment, -PVal, PayType)MsgBox "Your savings will be worth " & Format(FVal, Fmt) & "."
Get StatementāļāļēāļāļāļāļĄāļđāļĨāļāļēāļāđāļāļĨāļāļĩāđāđāļāļāđāļāļāļĩāđāļāļąāļ§āđāļāļĢ
āđāļ§āļĒāļēāļāļĢāļGet [#] filenumber, [recnumber], varnameāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Get āļĄāļĩāđāļ§āļĒāļēāļāļĢāļāļāļāļāļŠāļ§āļāļāļąāļāļāļĩāđ
āļŠāļ§āļ āļāđ āļēāļāļāļīāļāļēāļĒfilenumber āļāļąāļāļāļąāļ, āđāļāļāļŦāļĄāļēāļĒāđāļĨāļāđāļāļĨrecnumber āđāļĄāļāļąāļāļāļąāļ, āļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ variant (Long) āļŦāļĄāļēāļĒāđāļĨāļāđāļĢāļāļāļāļĢāļ (āđāļāļĨāđāļŦāļĄāļ Random)
āļŦāļĢāļ·āļāļŦāļĄāļēāļĒāđāļĨāļāđāļāļ (āđāļāļĨāđāļŦāļĄāļ Binary) āđāļĄāļ·āđāļāđāļĢāļīāđāļĄāļāļāļāļēāļ
widebase.net âVBA References
51
āļŠāļ§āļ āļāđ āļēāļāļāļīāļāļēāļĒvarname āļāļąāļāļāļąāļ, āļāļ·āđāļāļāļąāļ§āđāļāļĢāļāļĩāđāļĢāļąāļāļāļāļĄāļđāļĨāļāļēāļāļāļēāļĢāļāļēāļ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļēāļĢāļāļēāļāļāļāļĄāļđāļĨāļāļ§āļĒ Get āļĄāļąāļāļāļ°āđāļāļāļāļāļĄāļđāļĨāļāļĩāđāđāļāļĩāļĒāļāļĨāļāđāļāļĨāļāļ§āļĒ PutāđāļĢāļāļāļāļĢāļāļŦāļĢāļ·āļāđāļāļāđāļĢāļ āđāļāđāļāļĨāļāļĒāļđāļāļĩāđāļāđ āļēāđāļŦāļāļāļāļĩāđ 1 āđāļĢāļāļāļāļĢāļāļŦāļĢāļ·āļāđāļāļāļāļĩāđ 2 āļāļĒāļđāļāļĩāđāļāđ āļēāđāļŦāļāļāļāļĩāđ 2 āđāļĨāļ°āļāļāđāļ āļāļēāļĨāļ° recnumber āđāļĢāļāļāļāļĢāļāļŦāļĢāļ·āļāđāļāļāļāļāđāļāļāļ°āđāļāļĢāļąāļāļāļēāļĢāļāļēāļ āđāļāļāļāļāđāļŠāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļļāļĨāļ āļēāļ (,) āđāļāļ
Get #4, , FileBuffer
āļŠāđ āļēāļŦāļĢāļąāļāļāļēāļĢāđāļāļāđāļāļĨāđāļāđāļŦāļĄāļ Random āļāļāļāļāđ āļēāļāļēāļĄāļāļāļāļĩāđ- āļāļēāļāļ§āļēāļĄāļĒāļēāļ§āļāļāļāļāļāļĄāļđāļĨāļāļĩāđāļāđ āļēāļĨāļąāļāļāļēāļāļāļāļĒāļāļ§āļēāļāļ§āļēāļĄāļĒāļēāļ§āļāļĩāđāļĢāļ°āļāļļāđāļ Len Clause āļāļāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Open āļāļēāļĢ
āļāļēāļāđāļĢāļāļāļāļĢāļāļāļāļ Get āļāļēāļāļāļēāļĄāļāļāļāđāļāļāļāļ§āļēāļĄāļĒāļēāļ§āđāļĢāļāļāļāļĢāļ āļāļāļāļ§āļēāļāļĢāļ°āļŦāļ§āļēāļāļāļļāļāļŠāđāļīāļāļŠāļļāļāļāļāļāđāļĢāļāļāļāļĢāļāļŦāļāļķāđāļāļāļąāļāļāļļāļāđāļĢāļīāđāļĄāļāļāļāļāļāđāļĢāļāļāļāļĢāļāļāļāđāļ āļĄāļĩāļāļēāļĢāļĢāļāļāļĢāļąāļāļāļ§āļĒāļāļāļĄāļđāļĨāļāļĩāđāļĄāļĩāļāļĒāļđāļāļāļāđāļāļĨāļāļąāļāđāļāļāļĢ āđāļāļ·āđāļāļāļāļēāļāļāđ āļēāļāļ§āļāļāļāļāļāļāļĄāļđāļĨāļĢāļāļāļĢāļąāļāđāļĄāļŠāļēāļĄāļēāļĢāļāļāļāļŦāļēāđāļāđāļāļāļāļ āđāļāļĒāļāļąāđāļ§āđāļ āđāļāļ§āļāļīāļāļāļĩāđāļāļĩ āļāļ·āļ āļĄāļĩāļāļ§āļēāļĄāļĒāļēāļ§āđāļĢāļāļāļāļĢāļāļāļĢāļāļāļąāļāļāļ§āļēāļĄāļĒāļēāļ§āļāļāļāļāļāļĄāļđāļĨāļāļĩāđāļāđ āļēāļĨāļąāļāļāļēāļ
- āļāļēāļāļąāļ§āđāļāļĢāļāļĩāđāļāđ āļēāļĨāļąāļāļĢāļąāļāļāļāļĄāļđāļĨāđāļāļ Variable - Length String āļāļēāļĢāļāļēāļāļāļāļ Get āļāļēāļāļāļāļĄāļđāļĨ 2 āđāļāļ āļāļĩāđāļāļ§āļēāļĄāļĒāļēāļ§āļāļāļāļ§āļēāļĄ āđāļĨāļ°āļāļāđāļāļāļēāļāļāļāļĄāļđāļĨāđāļāļēāļŠāļđāļāļąāļ§āđāļāļĢ āļāļąāļāļāļąāđāļ āļāļ§āļēāļĄāļĒāļēāļ§āđāļĢāļāļāļāļĢāļāļĢāļ°āļāļļāđāļāļĒ Len clause āđāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Open āļāļāļāļĒāļēāļ§āļĄāļēāļāļāļ§āļēāļāļĒāļēāļāļāļāļĒ 2 āđāļāļāļāļāļāļāļ§āļēāļĄāļĒāļēāļ§āļāļĢāļīāļāļāļāļāļāļāļāļ§āļēāļĄ
- āļāļēāļāļąāļ§āđāļāļĢāļāļĩāđāļāđ āļēāļĨāļąāļāļĢāļąāļāļāļāļĄāļđāļĨāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant āļāļĩāđāđāļāļāļāļąāļ§āđāļĨāļ Get āļāļēāļ 2 āđāļāļāļāļēāļĄāļāļēāļĢāļĢāļ°āļāļļ Vartype āļāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant āđāļĨāļ§āļāļāļĄāļđāļĨāđāļāļŠāļđāļāļąāļ§āđāļāļĢ āļāļąāļ§āļāļĒāļēāļ āđāļĄāļ·āđāļāļāļēāļ Variant āļāļāļ Vartype 3 āļāļēāļĢāļāļēāļāļāļāļ Get āļāļ·āļ āļāļēāļĢāļāļēāļ 6 āđāļāļ āđāļāđāļ 2 āđāļāļ āļŠāđ āļēāļŦāļĢāļąāļāļāļēāļĢāļĢāļ°āļāļļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant āđāļāļ Vartype 3 (Long) āđāļĨāļ° 4 āđāļāļāđāļāđāļāļāļāļĄāļđāļĨ āļāļ§āļēāļĄāļĒāļēāļ§āļāļāļāđāļĢāļāļāļāļĢāļāļāļĩāđāļĢāļ°āļāļļāđāļāļĒ Len Clause āđāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Open āļāļāļāļāļēāļĢāļāļĒāļēāļāļāļāļĒ 2 āđāļāļāļĄāļēāļāļāļ§āļēāļāđ āļēāļāļ§āļāđāļāļāļāļĢāļīāļāļāļāļāļāļāļĄāļđāļĨāļāļĩāđāļāļāļāļāļēāļĢāđāļāļ·āđāļāđāļāđāļāđāļāļāļąāļ§āđāļāļĢ
āļŦāļĄāļēāļĒāđāļŦāļāļļ āļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Get āļŠāļēāļĄāļēāļĢāļāđāļāļāļēāļ Variant array āļāļēāļāļāļīāļŠāļ āđāļāđāļĄāļŠāļēāļĄāļēāļĢāļāđāļ Get āļāļēāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant āđāļāļāļāļĢāļīāļĄāļēāļāļāļĩāđāđāļāđāļāđāļ array āđāļĨāļ°āđāļĄāļŠāļēāļĄāļēāļĢāļāđāļ Get āļāļēāļāļāļāļāđāļāļāļāļēāļāļāļīāļŠāļ- āļāļēāļāļąāļ§āđāļāļĢāļāļĩāđāļĢāļąāļāļāļāļĄāļđāļĨāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant āļāļāļ Vartype 8 (String) āļāļēāļĢāļāļēāļāļāļāļ Get āļāļēāļ 2 āđāļāļ
āļĢāļ°āļāļļ Vartype, 2 āđāļāļāļĢāļ°āļāļļāļāļ§āļēāļĄāļĒāļēāļ§āļāļāļāļāļāļāļ§āļēāļĄ āđāļĨāļ°āļāļēāļāļāļāļĄāļđāļĨāļāļāļāļāļāļāļ§āļēāļĄ āļāļēāļĢāļĢāļ°āļāļļāļāļ§āļēāļĄāļĒāļēāļ§āļāļāļ Len clause āđāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Open āļāļāļāļāļēāļĢāļāļĒāļēāļāļāļāļĒ 4 āđāļāļāļĄāļēāļāļāļ§āļēāļāļ§āļēāļĄāļĒāļēāļ§āļāļāļāļāļāļāļ§āļēāļĄāļāļĢāļīāļ
- āļāļēāļāļąāļ§āđāļāļĢāļāļĩāđāļĢāļąāļāļāļāļĄāļđāļĨ āļāļ·āļ dynamic array āļāļēāļĢāļāļēāļāļāļāļ Get āļāļēāļ descriptor āļāļķāđāļāļĒāļēāļ§āđāļāļēāļāļąāļ 2 āļāļ§āļ 8 āđāļāļēāļāļāļāļāđ āļēāļāļ§āļāļĄāļīāļāļī āļāļ·āļ 2 + 8 * āļāđ āļēāļāļ§āļāļāļāļāļĄāļīāļāļī āļāļ§āļēāļĄāļĒāļēāļ§āđāļĢāļāļāļāļĢāļāļāļĩāđāļĢāļ°āļāļļ āđāļāļĒ Len Clause āđāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Open āļāļāļāļĄāļēāļāļāļ§āļēāļŦāļĢāļ·āļāđāļāļēāļāļąāļāļāđ āļēāļāļ§āļāļĢāļ§āļĄāđāļāļāļāļąāđāļāļŦāļĄāļāļāļĩāđāļāļāļāļāļēāļĢ āđāļāļ·āđāļāļāļēāļāļāļāļĄāļđāļĨ array āđāļĨāļ° descriptor āļāļāļ array āļāļąāļ§āļāļĒāļēāļāđāļāļ āļāļēāļĢāļāļĢāļ°āļāļēāļĻ array āļāļāđāļāļāļāļāļāļēāļĢ 118 āđāļāļ āđāļĄāļ·āđāļ array āđāļāļĢāļąāļāļāļēāļĢāđāļāļĩāļĒāļāđāļāļāļĩāđāļāļīāļŠāļDim MyArray (1 To 5, 1 To 10) As Integer
āļāđ āļēāļāļ§āļ 118 āđāļāļ āļāļ·āļ 18 āđāļāļ āļŠāđ āļēāļŦāļĢāļąāļ descriptor (2+8*2) āđāļĨāļ° 100 āđāļāļ āļŠāđ āļēāļŦāļĢāļąāļāļāļāļĄāļđāļĨ (5*10*2)- āļāļēāļāļąāļ§āđāļāļĢāļĢāļąāļāļāļāļĄāļđāļĨ āļāļ·āļ static array āļāļēāļĢāļāļēāļāļāļāļ Get āļāļēāļāđāļāļāļēāļ°āļāļāļĄāļđāļĨ āđāļĄāļĄāļĩāļāļēāļĢāļāļēāļ descriptor
widebase.net âVBA References
52
- āļāļēāļāļąāļ§āđāļāļĢāļĢāļąāļāļāļāļĄāļđāļĨāđāļāļāļāļąāļ§āđāļāļĢāļāļĢāļ°āđāļ āļāļāļ·āđāļ (āļāļāļāļāļēāļ Variable-Length string āļŦāļĢāļ·āļ Variant) āļāļēāļĢāļāļēāļāļāļāļ Get āļāļēāļāđāļāļāļēāļ°āļāļāļĄāļđāļĨāļāļāļāļāļąāļ§āđāļāļĢ āļāļ§āļēāļĄāļĒāļēāļ§āļāļāļāđāļĢāļāļāļāļĢāļāļĢāļ°āļāļļ āđāļāļĒ Len Clause āđāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Open āļāļāļāļĄāļēāļāļāļ§āļēāļŦāļĢāļ·āļāđāļāļēāļāļąāļāļāļ§āļēāļĄāļĒāļēāļ§āļāļāļāļāļāļĄāļđāļĨāļāļĩāđāđāļāļĢāļąāļāļāļēāļĢāļāļēāļ
- Get āļāļēāļ element āļāļāļ User-defined type āđāļŦāļĄāļ·āļāļāļāļąāļāļāļēāļĢāļāļēāļāļāļĒāļēāļāđāļāļāđāļāļĻ āļĒāļāđāļ§āļ āđāļĄāļĄāļĩāļāļēāļĢāļĢāļāļāļĢāļąāļāļĢāļ°āļŦāļ§āļēāļ element āļāļāļāļīāļŠāļ dynamic array āđāļ User - define type (āđāļāļĩāļĒāļāļāļ§āļĒ Put) āļĄāļĩāļāđ āļēāļāđ āļēāļŦāļāļēāđāļāļĒ descriptor āļāļķāđāļāļĒāļēāļ§āđāļāļēāļāļąāļ 2 āļāļ§āļ 8 āđāļāļēāļāļāļāļāđ āļēāļāļ§āļāļĄāļīāļāļī āđāļāļēāļāļąāļ 2 + 8 * āļāđ āļēāļāļ§āļāļāļāļāļĄāļīāļāļī āļāļ§āļēāļĄāļĒāļēāļ§āđāļĢāļāļāļāļĢāļāļāļĩāđāļĢāļ°āļāļļāđāļāļĒ Len Clause āđāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Open āļāļāļāļĄāļēāļāļāļ§āļē āļŦāļĢāļ·āļāđāļāļēāļāļąāļāļāđ āļēāļāļ§āļāļĢāļ§āļĄāļāļāļāđāļāļāļāļąāđāļāļŦāļĄāļāļāļĩāđāļāļāļāļāļēāļĢ āđāļāļ·āđāļāļāļēāļāđāļāļĨāļ° element āļĢāļ§āļĄāļāļķāļ array āđāļĨāļ° descriptor
āļŠāđ āļēāļŦāļĢāļąāļāđāļāļĨāļāļĩāđāđāļāļāđāļāđāļŦāļĄāļ Binary āļāļ Random āļāļąāđāļāļŦāļĄāļāđāļāļĢāļąāļāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļ āļĒāļāđāļ§āļ- Len Clause āđāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Open āđāļĄāļĄāļĩāļāļĨāļāļĢāļ°āļāļ āļāļēāļĢāļāļēāļāļāļāļ Get āļāļēāļ āļāļąāļ§āđāļāļĢāļāļąāđāļāļŦāļĄāļāļāļīāļāļāļāļāļąāļ āļāļķāđāļ
āđāļĄāļĄāļĩāļāļēāļĢāđāļāļāļĢāļ°āļŦāļ§āļēāļāđāļĢāļāļāļāļĢāļ- array āļāļ·āđāļ āļāļāļāļāļēāļ array āđāļ User - defined type āļāļēāļĢāļāļēāļāļāļāļ Get āļāļēāļāđāļāļāļēāļ°āļāļāļĄāļđāļĨ āđāļĄāļĄāļĩāļāļēāļĢāļāļēāļ
descriptor- Get āļāļēāļ Variable - Length String āļāļĩāđāđāļĄāđāļ element āļāļāļ User â defined type āđāļāļĒāđāļĄāļĄāļĩāļāļēāļĢāļĒāļāđāļ§āļ
āļāļ§āļēāļĄāļĒāļēāļ§ descriptor 2 āđāļāļ āļāđ āļēāļāļ§āļāļāļāļāđāļāļāļāļĩāđāļāļēāļāđāļāļēāļāļąāļāļāđ āļēāļāļ§āļāļāļąāļ§āļāļąāļāļĐāļĢāđāļāļāļāļāļ§āļēāļĄāļāļąāļ§āļāļĒāļēāļ āļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļāļāļāđāļāļāļēāļ 10 āđāļāļ āļāļēāļāđāļāļĨāļŦāļĄāļēāļĒāđāļĨāļ 1
VarString = String (10, " " )Get # 1, VarString
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄOpen Statement, Put Statement, āļāļāļāļāļąāļ Seek, Type Statement, āļāļāļāļāļąāļ VarType
āļāļąāļ§āļāļĒāļēāļ
Type Record ' āļāđ āļēāļŦāļāļ User - define type ID As Integer Name As String * 20End Type
Dim MyRecord As Record, Position ' āļāļĢāļ°āļāļēāļĻāļāļąāļ§āđāļāļĢ
' āđāļāļāđāļāļĨāļŠāđ āļēāļŦāļĢāļąāļāļāļēāļĢāđāļāļēāļāļķāļāđāļāļāļŠāļļāļĄ (random access)Open "TESTFILE" For Random As #1 Len = Len(MyRecord)
' āļāļēāļāđāļāļĨāļāļ§āļĒ GetPosition 3 ' āļāđ āļēāļŦāļāļāļŦāļĄāļēāļĒāđāļĨāļāđāļĢāļāļāļāļĢāļGet #1, Position, MyRecord ' āļāļēāļāđāļĢāļāļāļāļĢāļāļāđāļĩ 3Close #1 ' āļāļāđāļāļĨ
widebase.net âVBA References
53
GetAllSettings FunctionāļŠāļāļāļāļāļāļēāđāļāļāļĢāļēāļĒāļāļēāļĢ key settings āđāļĨāļ°āļāļēāļāļĩāđāđāļāļĩāđāļĒāļ§āļāļāļ (āļāļĩāđāļŠāļĢāļēāļāļāļ§āļĒ SaveSetting) āļāļēāļ application entry āđāļRegistry āļāļāļ Windows
āđāļ§āļĒāļēāļāļĢāļGetAllSettings(appname, section)āļāļāļāļāļąāļ GetAllSettings āļĄāļĩāđāļ§āļĒāļēāļāļĢāļāļāļāļāļāļēāļāļīāļ§āđāļĄāļāļ āļāļ·āļ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļAppname āļāļąāļāļāļąāļ, āđāļāļ expression āļāļāļāļāļāļāļ§āļēāļĄāļāļĩāđāđāļāđāļāļāđāļ·āļāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļŦāļĢāļ·āļāđāļāļĢāļāļāļēāļĢāļāļĩāđ key setting
āļāļāļāļāļēāļĢSection āļāļąāļāļāļąāļ, āđāļāļ expression āļāļāļāļāļāļāļ§āļēāļĄāļāļĩāđāđāļāđāļāļāđāļ·āļ section āļāļĩāđ key setting āļāļāļāļāļēāļĢ āļāļāļāļāļąāļ
GetAllSettings āļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant āļāļĩāđāđāļāļāļāļēāļāļāļ array 2 āļĄāļīāļāļīāļāļāļāļāļāļāļ§āļēāļĄāļāļĩāđāđāļāđāļāļāļē key setting āļāļąāđāļāļŦāļĄāļāđāļ section āļāļĩāđāļĢāļ°āļāļļāđāļĨāļ°āļāļēāļāļĩāđāļāļĢāļāļāļąāļ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļāļāļāļąāļ GetAllSettings āļŠāļāļāļēāļāļąāļ§āđāļāļĢ Variant āļāļĩāđāđāļĄāļāđ āļēāļŦāļāļāļāļēāđāļĢāļīāđāļĄāļāļ āļāļēāđāļĄāļĄāļĩāļāļē appname āļŦāļĢāļ·āļ section
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄDeleteSetting Statement, āļāļāļāļāļąāļ GetSetting, SaveSetting Statement
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ GetAllSettings āļāļķāđāļāđāļĢāļīāđāļĄāļāļēāļāļāļēāļĢāđāļāļāđ āļēāļŠāđāļąāļ SaveSetting āļāđ āļēāļāļēāļĢ Registry āđāļ Windows āļŠāđ āļēāļŦāļĢāļąāļāđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļāļāļĩāđāļĢāļ°āļāļļāđāļāļ appname āđāļĨāļ§āđāļāļāļāļāļāļąāļ GetAllSettings āđāļŠāļāļāļāļē settings āđāļĨāļ°āļŠāļļāļāļāļēāļĒāđāļāļāđ āļēāļŠāđāļąāļ DeleteSetting āļĨāļāļāļēāļāļąāđāļāļŦāļĄāļ
' āđāļŦ Variant āđāļāđāļāļāļē array 2 āļĄāļāļīāļāđāļĩāļīāļŠāļāđāļāļĒ GetAllSettings, Integer āđāļāđāļāļāļēāļāļąāļ§āļāļąāļDim MySettings As Variant, intSettings As Integer
' āļāđāļĩāđāļāļāđāļāļēāļāļēāļāļŠāļ§āļāļāļāļ settings āđāļ registrySaveSetting appname := "MyApp", section := "Startup", _key := "Top", setting := 75SaveSetting "MyApp","Startup", "Left", 50' āļāļķāļāļāļē settings.MySettings = GetAllSettings(appname := "MyApp", section := "Startup") For intSettings = LBound(MySettings, 1) To UBound(MySettings, 1) Debug.Print MySettings(intSettings, 0), MySettings(intSettings, 1) Next intSettings
DeleteSetting "MyApp", "Startup"
widebase.net âVBA References
54
GetAttr FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Integer āļāļēāļĄāļāļļāļāļĨāļąāļāļĐāļāļ°āđāļāļĨ āđāļāđāļĢāļāļāļāļĢāļĩ āļŦāļĢāļ·āļāđāļāļĨāđāļāļāļĢ
āđāļ§āļĒāļēāļāļĢāļGetAttr(pathname)āļāļēāļāļīāļ§āđāļĄāļāļ pathname āļāļāļ Expression āļāļāļāļāļāļāļ§āļēāļĄāļāļĩāđāļĢāļ°āļāļļāļāļ·āđāļāđāļāļĨ āđāļāļĒ pathname āļāļāļāļĢāļ°āļāļļāđāļāđāļĢāļ
āļāļāļĢāļĩāđ āļŦāļĢāļ·āļāđāļāļĨāđāļāļāļĢ āđāļĨāļ°āđāļāļĢāļ
āļāļēāļŠāļāļāļāļāļāļāļāļāļąāļ GetAttr āļŠāļāļāļēāļāļāļāļāļēāļĄāļĢāļēāļĒāļāļēāļĢāļŠāļĢāļļāļāļāļāļāļāļē āļāļ·āļ
āļāļēāļāļāļāļĩāđ āļāļē āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļvbNormal 0 āļāļāļāļīvbReadOnly 1 āļāļēāļāļāļĒāļēāļāđāļāļĩāļĒāļ§vbHidden 2 āļāļāļvbSystem 4 System file (āđāļĄāļĄāļĩāđāļŦāļāļąāļ Macintosh)vbDirectory 16 āđāļāđāļĢāļāļāļāļĢāļĩ āļŦāļĢāļ·āļāđāļāļĨāđāļāļāļĢvbArchive 32 āđāļāļĨāļāļĩāđāđāļāļĨāđāļĩāļĒāļāļŦāļĨāļąāļāļāļēāļĢāļŠāđ āļēāļĢāļāļāļāļĢāļąāđāļāļŠāļļāļāļāļēāļĒ (āđāļĄāļĄāļĩāđāļŦāļāļąāļ Macintosh)vbAlias 64 āļĢāļ°āļāļļāļāļ·āđāļāđāļāļĨāđāļāļ alias (āļĄāļĩāđāļāļāļēāļ° Macintosh)
āļŦāļĄāļēāļĒāđāļŦāļāļļâĒ āļāļēāļāļāļāļĩāđāđāļŦāļĨāļēāļāļĩāđāđāļāļāļĢāļ°āļāļļāđāļāļĒ Visual Basic for Application āļāļ·āđāļāđāļŦāļĨāļēāļāļĩāđāļŠāļēāļĄāļēāļĢāļāđāļāđāļāļāđ āļēāļŠāđāļąāļāđāļāļāļēāļĢāļŦāļēāļāļē
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļēāļĢāļŦāļēāļāļē attribute āļāļĩāđāļāđ āļēāļŦāļāļ āđāļāļāļąāļ§āļāđ āļēāđāļāļīāļāļāļēāļĢ And āđāļāļāļēāļĢāļāļĢāļ°āļĄāļ§āļĨāļāļĨāđāļāļĢāļĩāļĒāļāđāļāļĩāļĒāļ bitwise āļāļāļāļāļēāļāļĩāđāļŠāļāļāļāļāđāļāļĒāļāļāļāļāļąāļ GetAttr āđāļĨāļ°āļāļēāļĨāļąāļāļĐāļāļ°āļāļāļāđāļāļĨ āļāļēāļāļĨāļĨāļąāļāļāđāļĄāđāļāļ 0 āđāļŠāļāļāļ§āļēāđāļāļĨāļāļąāđāļāļĄāļĩ attribute āļāļēāļĄāļāļĩāđāļāđ āļēāļŦāļāļ āđāļāļ āļāļēāļāļĩāđāļŠāļāļāļāļāļāļ§āļĒ expression āļāļāļ And āļĄāļĩāļāļēāđāļāļ 0 āļāļē attribute āđāļĄāđāļāļāđ āļēāļŦāļāļāđāļāļ archiveResult = GetAttr(FName) And vbArchive
āļāļēāļāļĩāđāđāļĄāđāļ 0 āļāļ°āđāļāļĢāļąāļāļāļēāļĢāļŠāļāļāļāļāļāļēāļāđ āļēāļŦāļāļ attribute āđāļāļ archive
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄAnd (Operator), āļāļāļāļāļąāļ FileAttr, SetAttr Statement
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ GetAttr āđāļāļāļēāļĢāļŦāļē attribute āļāļāļāđāļāļĨ āđāļĨāļ°āđāļāđāļĢāļāļāļāļĢāļĩāđāļŦāļĢāļ·āļāđāļāļĨāđāļāļāļĢ
' āļŠāļĄāļĄāļāļīāđāļāļĨ TESTFILE āļāđ āļēāļŦāļāļ attribute āđāļāļ hiddenDim MyAttr
widebase.net âVBA References
55
MyAttr = GetAttr("TESTFILE") ' āļŠāļāļāļāļāļāļē 2
' āļŠāļāļāļāļāļāļēāđāļĄāđāļāļ 0 āļāļēāļāđ āļēāļŦāļāļ attribute āđāļāļ hidden āđāļŦ TESTFILEDebug.Print MyAttr And vbHidden' āļŠāļĄāļĄāļāļīāđāļāļĨ TESTFILE āļĄāļĩ attribute āđāļāļ hidden āđāļĨāļ° read-onlyMyAttr = GetAttr("TESTFILE") ' āļŠāļāļāļāļāļāļē 3' āļŠāļāļāļāļāļāļēāđāļĄāđāļāļ 0 āļāļēāļāđ āļēāļŦāļāļ attribute āđāļāļ hidden āđāļŦ TESTFILEDebug.Print MyAttr And (vbHidden + vbReadOnly)'āļŠāļĄāļĄāļāđāļīāļŦ MYDIR āđāļāļ āđāļāđāļĢāļāļāļāļĢāļĩāđāļŦāļĢāļ·āļāđāļāļĨāđāļāļāļĢMyAttr = GetAttr("MYDIR") ' āļŠāļāļāļāļāļāļē 16
GetObject FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļēāļĢāļāļēāļāļāļīāļāļāļāļāđāļāļ ActiveX āļāļēāļāđāļāļĨ
āđāļ§āļĒāļēāļāļĢāļGetObject([pathname] [,class])āļāļēāļāļīāļ§āđāļĄāļāļāļāļāļāļāļāļāļāļąāļ GetObject āļĄāļĩāļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļ āļāļ·āļ
āļāļēāļāļīāļ§āđāļĄāļāļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļpathname āđāļĄāļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (String), āļāļĩāđāļĢāļ°āļāļļāļāļēāļĢāļāđāļĨāļ°āļāļ·āđāļāļāļāļāđāļāļĨāļāļĩāđāđāļāđāļāļāļāļāđāļāļ
āļāļĩāđāļāļāļāļāļķāļāļāļāļāļĄāļē āļāļēāđāļĄāļāđ āļēāļŦāļāļ pathname āļāļ°āļāļāļāļāđ āļēāļŦāļāļ classclass āđāļĄāļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (String), āđāļāļāļāļāļāļ§āļēāļĄāđāļŠāļāļ class āļāļāļāļāļāļāđāļāļ
āļāļēāļāļīāļ§āđāļĄāļāļ class āđāļāđāļ§āļĒāļēāļāļĢāļ appname.objectivetype āļĄāļĩāļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāļāļāļāļŠāļ§āļ āļāļ·āļ
āļāļēāļāļīāļ§āđāļĄāļāļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļappname āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (String), āđāļāļāļāļ·āđāļāđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļāļāļĩāđāđāļŦāļāļāļāđāļāļobjectivetype āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (String), āđāļāļāļāļĢāļ°āđāļ āļāļŦāļĢāļ·āļ class āļāļāļāļāļāļāđāļāļāļāļĩāđ
āļāļāļāļāļēāļĢāļŠāļĢāļēāļ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļāļāļāļąāļ GetObject āļŠāļēāļĄāļēāļĢāļāđāļāļēāļāļķāļāļāļāļāđāļāļ ActiveX āļāļēāļāđāļāļĨāđāļĨāļ°āļāđ āļēāļŦāļāļāļāļāļāđāļāļāđāļŦāļāļąāļāļāļąāļ§āđāļāļĢāļāļāļāđāļāļ āđāļāļĒāđāļāļāđ āļēāļŠāđāļąāļ Set statement āđāļāļāļēāļĢāļāđ āļēāļŦāļāļāļāļāļāđāļāļāļāļĩāđāļŠāļāļāļēāļāļāļāđāļāļĒāļāļāļāļāļąāļ GetObject āđāļŦāļāļąāļāļāļąāļ§āđāļāļĢāļāļāļāđāļāļ āđāļāļ
Dim CADObject As ObjectSet CADObject = GetObject("C:\CAD\SCHEMA.CAD")
āđāļĄāļ·āđāļāļāđ āļēāļŠāđāļąāļāđāļāļĢāļąāļāļāļēāļĢāļāļĢāļ°āļĄāļ§āļĨāļāļĨ āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļĩāđāđāļāļĩāđāļĒāļ§āļāļāļāļāļēāļāļāļēāļĢāļĢāļ°āļāļļ pathname āļāļ°āđāļĢāļīāđāļĄāļāļķāđāļāđāļĨāļ°āļāļāļāđāļāļāđāļāđāļāļĨāļāļĩāđāļĢāļ°āļāļļāļāļ°āļāđ āļēāļāļēāļāļāļē pathname āđāļāļ zero-length string (ââ) āļāļāļāļāļąāļ GetObject āļāļ°āļŠāļāļāļāļāļāļēāļāļāļāđāļāļāđāļŦāļĄāļāļēāļĄāļāļĢāļ°āđāļ āļāļāļĩāđāļĢāļ°āļāļļ āļāļēāđāļĄāļāđ āļēāļŦāļāļ pathname āļāļāļāļāļąāļ GetObject āļāļ°āļŠāļāļāļāļāđāļāļāļāļāļāđāļāļāļāļāļāļļāļāļąāļāļāļēāļĄāļāļĢāļ°āđāļ āļāļāļĩāđāļĢāļ°āļāļļ āļāļēāđāļĄāļĄāļĩāļāļāļāđāļāļāļāļēāļĄāļāļĢāļ°āđāļ āļāļāļĩāđāļĢāļ°āļāļļāļāļ°āđāļāļīāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļ
widebase.net âVBA References
56
āđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļāļāļēāļāđāļāļĢāđāļāļĢāļĄāļĒāļīāļĄāļĒāļāļĄāđāļŦāļāđ āļēāļāļēāļāļāļąāļāļāļēāļāļŠāļ§āļāļāļāļāđāļāļĨ āđāļāļĒāļāļēāļĢāđāļāļīāđāļĄāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļāđāļ (!) āļāļāļāļēāļĒāļāļ·āđāļāđāļāļĨāđāļĨāļ°āļāļēāļĄāļāļ§āļĒāļāļāļāļ§āļēāļĄāļāļĩāđāļāļāļāļŠāļ§āļāļāļāļāđāļāļĨāļāļĩāđāļāļāļāļāļēāļĢ āđāļāļ āđāļāļĢāđāļāļĢāļĄāđāļāļĩāļĒāļāđāļāļāļāļĢāļ°āđāļ āļāļŦāļĨāļēāļĒāļāļąāđāļāļāļĩāđāđāļāđāļāđāļāđāļāļĨ āļŠāļĄāļĄāļāļīāđāļāļĨāļāļ·āđāļ SCHEMA.CAD
Set LayerObject = GetObject("C:\CAD\SCHEMA.CAD!Layer3")
āļāļēāđāļĄāļĄāļĩāļāļēāļĢāļĢāļ°āļāļļ class āļāļāļāļāļāļāđāļāļ āļāļēāļĢāļāļāļŦāļēāđāļĨāļ°āļāļēāļĢāļāđ āļēāļāļēāļāļāļąāļāđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļāļāļ°āđāļĢāļīāđāļĄāļāļāđāļāļĒāļāļąāļāđāļāļĄāļąāļāļī āļāļēāļĄāļāļ·āđāļāđāļāļĨāļāļĩāđāļāđ āļēāļŦāļāļāđāļŦ āđāļāļĨāļāļēāļāđāļāļĨāļĄāļĩāļŦāļĨāļēāļĒ class āļāļķāđāļāļāļ°āļāļāļāļāđ āļēāļŦāļāļāļāļēāļāļīāļ§āđāļĄāļāļ class
Dim MyObject As ObjectSet MyObject = GetObject("C:\DRAWINGS\SAMPLE.DRW", "FIGMENT.DRAWING")
FIGNENT āđāļāļāļāļ·āđāļāļāļāļāđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļ āđāļĨāļ° DRAWING āđāļāļāļāļ·āđāļāļāļĢāļ°āđāļ āļāļāļāļāđāļāļāļāļĩāđāļŠāļāļąāļāļŠāļāļļāļāļāļēāđāļĢāļĩāļĒāļāļāļāļāđāļāļāļĄāļēāđāļĨāļ§ āļāļēāļĢāļāļēāļāļāļīāļāđāļāļāđ āļēāļŠāđāļąāļāļŠāļēāļĄāļēāļĢāļāđāļāļāļąāļ§āđāļāļĢāļāļāļāđāļāļ āđāļāļ āđāļāļāļļāļāļŠāļĄāļāļąāļāļīāđāļĨāļ°āđāļĄāļāļāļ āļāļąāļāļāļąāļ§āđāļāļĢāļāļāļāđāļāļāļāļ·āđāļ MyObject
MyObject.Line 9, 90MyObject.InsertText 9, 100, "Hello, world."MyObject.SaveAs "C:\DRAWINGS\SAMPLE.DRW"
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ CreateObject, Set Statement
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ GetObject āđāļāļ·āđāļāļāļēāļāļāļīāļāđāļ§āļīāļĢāļāļāļĩāļāļāļāļ Microsoft Excel (MyXL) āđāļāļĒāđāļāļāļļāļāļŠāļĄāļāļąāļāļī Application āđāļāļāļēāļĢāļāđ āļēāđāļŦāļĄāļāļāđāļŦāđāļ Microsoft Excel āļāļāđāļāļĨ āđāļĨāļ°āļāļ·āđāļāđ āđāļŦāđāļāļāļēāļĢāđāļĢāļĩāļĒāļāļāļ§āļĒ API calls āļāļ·āļ DetectExcel Sub procedure āđāļāļāļēāļĢāļĄāļāļāļŦāļē Microsoft Excel āđāļĨāļ°āļāļēāđāļāļĨāļāļĩāđāļĢāļ°āļāļļāļāđ āļēāļāļēāļāđāļŦāđāļāļēāđāļāļāļĩāđ Running Object Table āđāļāļāļēāļĢāđāļĢāļĩāļĒāļāļāļĢāļąāđāļāđāļĢāļāļāļē Microsoft Excel āļĒāļąāļāđāļĄāļāđ āļēāļāļēāļāļāļāļāļāļąāļ GetObject āļāļ°āđāļāļīāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļ āļāļēāļĄāļāļąāļ§āļāļĒāļēāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļāļāļ°āļāđ āļēāđāļŦ ExcelWasNotRunning flag āđāļāļĢāļąāļāļāļąāđāļāļāļēāđāļāļ True āļāļēāļĢāđāļĢāļĩāļĒāļāļāļĢāļąāđāļāļāļĩāđāļŠāļāļāļāļāļāļāļąāļ GetObject āļāļ°āļĢāļ°āļāļļāđāļāļĨāļāļĩāđāļāļāļāļāļēāļĢāđāļāļ āļāļē Microsoft Excel āļĒāļąāļāđāļĄāļāđ āļēāļāļēāļāļāļāļāļāļąāļ GetObject āļāļ°āļāđ āļēāļāļēāļĢāđāļĢāļīāđāļĄāļāļāđāļĨāļ°āļŠāļāļāļēāļāļēāļāļāļīāļāđāļāļāļĩāđāđāļ§āļīāļĢāļāļāļĩāļāļāļĩāđāđāļŠāļāļāļāļ§āļĒāļāļēāļĢāļĢāļ°āļāļļāļāļ·āđāļāđāļāļĨ āļāļēāļĄāļāļąāļ§āļāļĒāļēāļ āđāļāļĨāļāļ·āđāļ Mytest.txt āļāļāļāļĄāļĩāļāļĢāļīāļāļāļēāļĄāļāđ āļēāđāļŦāļāļāļāļĩāđāļĢāļ°āļāļļ āļāļēāđāļāļāļāļĒāļēāļāļāļ·āđāļ Visual Basic āļāļ°āđāļŠāļāļāļāļēāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļ âAutomation errorâ āļāđ āļēāļŠāđāļąāļāļāļāđāļāđāļāļāļāļēāļĢāļāđ āļēāđāļŦāļĄāļāļāđāļŦāđāļ Microsoft Excel āđāļĨāļ° window āļāļĩāđāļĄāļĩāđāļ§āļīāļĢāļāļāļĩāļāļāļĩāđāļĢāļ°āļāļļ āļāļāļāļŠāļļāļāļāļēāļĒāļāļēāđāļĄāļĄāļĩ Microsoft Excelāđāļ§āļāļĢāļāļąāļāļāļāļāļāđ āļēāļāļēāļ āļāđ āļēāļŠāđāļąāļāđāļāđāļĄāļāļāļ Quit āļāļāļāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļ Microsoft Excel āļāļēāđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļāļĒāļąāļāļāļāļāđ āļēāļāļēāļ āļāļēāļĢāļāļēāļāļāļīāļāļāļ°āļāđ āļēāļāļēāļĢāļāļĨāļāļĒāđāļāļĒāļāļąāđāļāļāļēāđāļāļ Nothing
' āļāļĢāļ°āļāļēāļĻ routines āļāļāļ APIDeclare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName as String, ByVal lpWindowName As Long) As Long
Declare Function SendMessage Lib "user32" Alias "SendMessageA" _(ByVal hWnd as Long,ByVal wMsg as Long, ByVal wParam as Long, _ByVal lParam As Long) As Long
Sub GetExcel() Dim MyXL As Object ' āļāļ§āļąāđāļāļĢāļāļāļāđāļāļāļāļĩāđāđāļāđāļāļāļēāļĢāļāļēāļāļāļīāļ Microsoft Excel Dim ExcelWasNotRunning As Boolean ' Flag āļŠāđ āļēāļŦāļĢāļąāļāļāļēāļĢāļāļĨāļāļĒ
widebase.net âVBA References
57
'āļāļāļŠāļāļāļāļēāļĢāļĄāļāļāđāļŦāđāļāļāļē Microsoft Excel āļāđ āļēāļĨāļąāļāļāđ āļēāļāļēāļ On Error Resume Next ' āļŦāļāļ§āļ error trapping' āļāļāļāļāļāļą Getobject āđāļĢāļĩāļĒāļāđāļāļĒāđāļĄāļĄāļĩāļāļēāļāļīāļ§āđāļĄāļāļāđāļĢāļāđāļāļ·āđāļāļŠāļāļāļēāļĢāļāļēāļāļāļīāļāļāļāļāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļ' āļāļēāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļĄāļāđ āļēāļāļēāļāļāļ°āđāļāļīāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļ Set MyXL = Getobject(, "Excel.Application") If Err.Number <> 0 Then ExcelWasNotRunning = True Err.Clear ' āļāđ āļēāļāļāļąāļāļāļāđāļāļāļāļĩāđāļāļīāļāļāļĨāļēāļāļāļĢāļāļĩ āđāļāļīāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļ' āļāļĢāļ§āļāļŠāļāļ Microsoft Excel āļāļē Microsoft Excel āļāđ āļēāļĨāļąāļāļāđ āļēāļāļēāļāļāđ āļēāđāļāļēāļāļĩāđ Running Object table DetectExcel' āļāđ āļēāļŦāļāļāļāļąāļ§āđāļāļĢāļāļāļāđāļāļ Set MyXL = Getobject("c:\vb4\MYTEST.XLS")' āđāļŠāļāļ Microsoft Excel āļāļĨāļāļāļāļāļāļķāļāļāļļāļāļŠāļĄāļāļąāļāļī Application' āļāļēāļāļāļąāļāđāđāļŠāļāļ window āļāđāļĩāđāļāđāļāđāļāļĨāļāļķāđāļāđāļāļāļēāļĢāļāļēāļāļāļīāļāļāļāļāđāļāļāļāļāļ MyXL MyXL.Application.Visible = True MyXL.Parent.Windows(1).Visible = True
' āļāļēāļĢāļāļ§āļāļāļļāļĄāđāļāļĨ āļāļēāđāļāļĨ Microsoft Excel āļāđāļĩāđāļĢāļĩāļĒāļāđāļĄāđāļāļāđ āļēāļāļēāļ āđāļŦāļāļāļāļ§āļĒāđāļĄāļāļāļ Quit āļāļļāļāļŠāļĄāļāļąāļāļī Application' āļŦāļĄāļēāļĒāđāļŦāļ āļļāļāļēāļĢāļāļāļāļāļēāļ Microsoft Excel āđāļāļāļāļāļāļ§āļēāļĄāļāļ°āļāļĢāļ°āļāļĢāļīāļ āđāļĨāļ°āļāļēāļĄāļāļēāļĢāļāļąāļāļāļķāļāđāļāļĨāļāđāļĩāđāļĢāļĩāļĒāļ If ExcelWasNotRunning = True Then MyXL.Application.Quit End IF Set MyXL = Nothing ' āļāļĨāļāļĒāļāļēāļĢāļāļēāļāļāļīāļāļāļēāļ application āđāļĨāļ° spreadsheet.End Sub
Sub DetectExcel()' Procedure āļāļāļŦāļē Excel āļāđāļĩāļāđ āļēāļāļēāļ āđāļĨāļ°āļāđ āļēāļāļēāļĢ registers Const WM_USER = 1024 Dim hWnd As Long ' āļāļē Excel āļāđ āļēāļĨāļąāļāļāđ āļēāļāļēāļāđāļŦ API call āļŠāļāļāļēāļāļąāļ§āļāļđāđāļĨ hWnd = FindWindow("XLMAIN", 0) If hWnd = 0 Then ' 0 āļĄāļāļĩāļ§āļēāļĄāļŦāļĄāļēāļĒ Excel āđāļĄāļāđ āļēāļāļēāļ Exit Sub Else ' Excel āļāđ āļēāļĨāļāļąāļ āđāļēāļāļēāļāđāļŦāđāļāļāļāļāļāļąāļ SendMessage API āđāļāļēāļŠāļđ Running Object Table. SendMessage hWnd, WM_USER + 18, 0, 0 End IfEnd Sub
GetSetting FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļē key settings āļāļēāļ applicationâs entry āđāļ Registry āļāļāļ Windows
āđāļ§āļĒāļēāļāļĢāļGetSetting(appname, section, key [,default])āļāļāļāļāļąāļ GetSetting āļĄāļĩāđāļ§āļĒāļēāļāļĢāļāļāļāļāļāļēāļāļīāļ§āđāļĄāļāļ āļāļ·āļ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļappname āļāļąāļāļāļąāļ, āđāļāļ expression āļāļāļāļāļāļāļ§āļēāļĄāļāļĩāđāđāļāđāļāļāđāļ·āļāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļŦāļĢāļ·āļāđāļāļĢāļāļāļēāļĢāļāļĩāđ key setting
āļāļāļāļāļēāļĢsection āļāļąāļāļāļąāļ, āđāļāļ expression āļāļāļāļāļāļāļ§āļēāļĄāļāļĩāđāđāļāđāļāļāđāļ·āļ section āļāļĩāđ key setting āļāļāļāļāļēāļĢkey āļāļąāļāļāļąāļ, āđāļāļ expression āļāļāļāļāļāļāļ§āļēāļĄāļāļĩāđāđāļāđāļāļāđāļ·āļ key setting āđāļāļ·āđāļāļŠāļāļāļēāļāļāļdefault āđāļĄāļāļąāļāļāļąāļ, āđāļāļ expression āļāļĩāđāđāļāđāļāļāļēāđāļāļ·āđāļāļŠāļāļāļāļ āļāļēāđāļĄāļĄāļĩāļāļēāļāļĩāđāļāđ āļēāļŦāļāļāđāļ key setting āļāļē
widebase.net âVBA References
58
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāđāļĄāļāđ āļēāļŦāļāļ default āļāļ°āđāļāļāļēāđāļāļ zero-length string (ââ)
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļēāđāļĄāļĄāļĩāļāļ·āđāļāļāļēāļāļīāļ§āđāļĄāļāļāđāļāđāđāļāļāļāļāļāļąāļ GetSetting āđāļĨāļ§ āļāļāļāļāļąāļ GetSetting āļāļ°āļŠāļāļāļēāļāļāļ default
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄDeleteSetting Statement, āļāļāļāļāļąāļ GetAllSettings, SaveSetting Statement
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ GetSetting āļāļķāđāļāđāļĢāļīāđāļĄāļāļēāļāļāļēāļĢāđāļāļāđ āļēāļŠāđāļąāļ SaveSetting āļāđ āļēāļāļēāļĢ Registry āđāļ Windows (āļŦāļĢāļ·āļāđāļāļĨ .ini āđāļ 16-bit Windows) āļŠāđ āļēāļŦāļĢāļąāļāđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļ āļāļĩāđāļĢāļ°āļāļļāđāļāļ appname āđāļĨāļ§āđāļāļāļāļāļāļąāļ GetSetting āđāļŠāļāļāļāļē settings āđāļāļĢāļēāļ°āļāļēāļāļīāļ§āđāļĄāļāļ default āđāļāļĢāļąāļāļāļēāļĢāļāđ āļēāļŦāļāļāđāļāļāļāļĢāļ°āļāļąāļāļ§āļēāļĄāļĩāļāļēāļāļēāļāļāļēāļŠāļ§āļāļŠāļāļāļāļāļĄāļē āđāļĨāļ°āļŠāļļāļāļāļēāļĒāđāļāļāđ āļēāļŠāđāļąāļ DeleteSetting āļĨāļāļāļēāļāļąāđāļāļŦāļĄāļ
' āđāļŦ Variant āđāļāđāļāļāļē array 2 āļĄāļāļīāļāđāļĩāļīāļŠāļāđāļāļĒ GetSetting.Dim MySettings As Variant' āļāđāļĩāđāļāļāđāļāļēāļāļēāļāļŠāļ§āļāļāļāļ settings āđāļ registrySaveSetting "MyApp","Startup", "Top", 75SaveSetting "MyApp","Startup", "Left", 50Debug.Print GetSetting(appname := "MyApp", section := "Startup", _ key := "Left", default := "25")DeleteSetting "MyApp", "Startup"
Hex Function, Hex$ Functionāļāļāļāļāļąāļ Hex āļŠāļāļāļāļāļāļēāđāļāļ Variant (String) āļāļĩāđāđāļŠāļāļāļāļēāđāļĨāļāļāļēāļāļŠāļīāļāļŦāļāļāļāļāļāļąāļ Hex$ āļŠāļāļāļāļāļāļēāđāļāļ String āļāļĩāđāđāļŠāļāļāļāļēāđāļĨāļāļāļēāļāļŠāļīāļāļŦāļ
āđāļ§āļĒāļēāļāļĢāļHex(number)Hex$(number)āļāļēāļāļīāļ§āđāļĄāļāļ number āđāļāļāļāļēāļāļąāļ§āđāļĨāļ āļŦāļĢāļ·āļ Expression āļāļāļāļāļąāļ§āđāļĨāļāļāļĩāđāļĄāļĩāļāļēāļāļĢāļīāļ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļē number āđāļĄāđāļāđāļĨāļāļāđ āļēāļāļ§āļāđāļāđāļĄāļāļ°āđāļāļĢāļąāļāļāļēāļĢāļāļĢāļąāļāļāļēāđāļāļāđāļĨāļāļāđ āļēāļāļ§āļāđāļāđāļĄāļāļĩāđāđāļāļĨāļāļĩāđāļŠāļļāļāļāļāļāļāļĢāļ°āļĄāļ§āļĨāļāļĨ
āļāļē number āđāļāļ āļāļēāļāļĩāđāļŠāļāļāļāļāļĄāļēNull NullEmpty āļĻāļđāļāļĒ (0)āļāļąāļ§āđāļĨāļāđāļāđ āđāļŠāļāļāļāļēāđāļĨāļāļāļēāļāļŠāļīāļāļŦāļāđāļāļāļķāļ 8 āļāļąāļ§āļāļąāļāļĐāļĢ
widebase.net âVBA References
59
āļāļēāļāļāļāļāļēāļĢāđāļŠāļāļāđāļĨāļāļāļēāļāļŠāļīāļāļŦāļāđāļāļĒāļāļĢāļāļāļēāļĄāļāļēāļāļąāļ§āđāļĨāļāđāļāļāļ§āļāļāļĢāļīāļāļāļ§āļĒ &H āđāļāļ &H(10) āđāļāļ·āđāļāđāļŠāļāļāļāļĻāļāļīāļĒāļĄāđāļāļĢāļđāļāđāļāļāļāļāļāđāļĨāļāļāļēāļāļŠāļīāļāļŦāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Oct, āļāļāļāļāļąāļ Oct$
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ Hex āđāļāđāļŠāļāļāļāļąāļ§āđāļĨāļāđāļāļāđāļĨāļāļāļēāļāļŠāļīāļāļŦāļ
Dim MyHexMyHex = Hex(5) ' āļāļĨāļĨāļąāļāļ 5.MyHex = Hex(10) ' āļāļĨāļĨāļąāļāļ A.MyHex = Hex(459) ' āļāļĨāļĨāļąāļāļ 1CB
Hour FunctionāļāļēāļāļĩāđāļŠāļāļāļāļāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (Integer) āđāļāļāļ§āļ 0 āļāļķāļ 23 āļāļēāļāļŠāļ§āļāļāļąāđāļ§āđāļĄāļāļāļāļāđāļ§āļĨāļē
āđāļ§āļĒāļēāļāļĢāļHour(time)āļāļēāļāļīāļ§āđāļĄāļāļ time āļŠāļēāļĄāļēāļĢāļ āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāļāļāļāļ§āļēāļĄ (String) āļāļąāļ§āđāļĨāļ āļŦāļĢāļ·āļ Expression āļāļĩāđāđāļŠāļāļāđāļāļĢāļđāļ
āđāļāļāļāļāļāđāļ§āļĨāļē āļāļē time āđāļāļāļāļēāļ§āļēāļ (Null) āļāļĨāļĨāļąāļāļāļāļ°āđāļāļāļāļēāļ§āļēāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Day, āļāļāļāļāļąāļ Minute, āļāļāļāļāļąāļ Now, āļāļāļāļāļąāļ Second, āļāļāļāļāļąāļ Time
āļāļąāļ§āļāļĒāļēāļāļāđ āļēāļāļāļāļāļąāļ Hour āļĄāļēāđāļāđāļāļāļēāļĢāđāļāļĨāļāđāļ§āļĨāļēāļāļĩāđāļāđ āļēāļŦāļāļ āđāļŦ āđāļāļāļāļēāļāļāļāļāļąāđāļ§āđāļĄāļāļāļķāđāļāļĄāļĩāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāļāļąāļ§āđāļĨāļDim myTime, myHourmyTime = #5:25:40 PM#myHour = Hour(myTime) ' āļāļĨāļĨāļąāļāļ myHour = 17
IIf FunctionāļŠāđ āļēāļŦāļĢāļąāļāļŠāļāļāļāļāļāļēāđāļāļāļēāļŦāļāļķāđāļāļāļēāļ 2 āļāļēāļāļĩāđāļāļķāđāļāļāļąāļāļāļēāļāļāļ expression āļāļĩāđāļāļĢāļ°āđāļĄāļīāļāļāļēāđāļ
āđāļ§āļĒāļēāļāļĢāļIIf(expr,truepart,falsepart)āļāļēāļāļīāļ§āđāļĄāļāļāļāļāļāļāļāļāļāļąāļ IIf āļĄāļĩāđāļ§āļĒāļēāļāļĢāļ āļāļąāļāļāļĩāđ
widebase.net âVBA References
60
āļāļēāļāļīāļ§āđāļĄāļāļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļexpr āļāļąāļāļāļąāļ, āđāļāļ expression āļāļĩāđāđāļāđāļāļāļēāļĢāļŦāļēāļāļētruepart āļāļąāļāļāļąāļ, āđāļāļāļāļē āļŦāļĢāļ·āļ expression āļāļĩāđāļŠāļāļāļāļāļāļēāļāļēāļāļīāļ§āđāļĄāļāļ expr āđāļāļāļāļĢāļīāļfalsepart āļāļąāļāļāļąāļ, āđāļāļāļāļē āļŦāļĢāļ·āļ expression āļāļĩāđāļŠāļāļāļāļāļāļēāļāļēāļāļīāļ§āđāļĄāļāļ expr āđāļāļāđāļāđāļ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļāļāļāļąāļ IIf āļāļ°āļŦāļēāļāļēāļāļēāļāļāļēāļāļīāļ§āđāļĄāļāļ truepart āđāļĨāļ° falsepart āđāļāļŠāļāļāļēāļāļāļāđāļāļĩāļĒāļāļāļēāđāļāļĩāļĒāļ§ āļāļĨāļāļąāļāļāļĨāļēāļ§āļāđ āļēāđāļŦāđāļāļīāļāļāļĨāļāļĢāļ°āļāļāļāļēāļāđāļāļĩāļĒāļ āđāļāļ āļāļēāļāļēāļĢāļŦāļēāļāļĨāļĨāļąāļāļāļāļēāļāļīāļ§āđāļĄāļāļ falsepart āđāļāļāļēāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļāļāļēāļāļāļēāļĢāļŦāļēāļĢāļāļ§āļĒāļĻāļđāļāļĒ āļāļķāđāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļāļāļ°āđāļāļīāļāļāļķāđāļāđāļĄāļ·āđāļāļāļēāļāļīāļ§āđāļĄāļāļ expr āđāļāļāļāļĢāļīāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Choose, IfâĶThenâĶElse Statement, Select Case Statement, āļāļāļāļāļąāļ Switch
āļ§āļīāļāļĩāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļ Accessāļāļāļāļāļąāļ IIf āļŠāļēāļĄāļēāļĢāļāđāļāđāļāļāļąāļ§ control āļāļāļāļāļĢāļĄāļŦāļĢāļ·āļāļĢāļēāļĒāļāļēāļāđāļ Microsoft Access āđāļāļĒāđāļāļāļāļāļāļąāļ IIf āđāļāļāļēāļĢāļŦāļēāļāļēāļāļāļ expression āđāļĨāļ°āļŠāļāļāļāļāļāļēāđāļāļāļēāļŦāļāļķāđāļāļāļēāļĄāļāļēāļāļĩāđāđāļāļāļēāļ expression āđāļāļ True (-1) āļŦāļĢāļ·āļ False (0) āđāļāļ āļŠāļēāļĄāļēāļĢāļāđāļāļāļāļāļāļąāļ IIf āđāļāļāļēāļĢāļāļĢāļ§āļāļŠāļāļāļāļēāļāļĨāļāļāļāļāļāļĢāļĄāđāļĨāļ°āļŦāļēāļāļēāđāļĄāļ·āđāļāđāļāļāļāļēāļ§āļēāļ āļāļēāđāļ āļŠāļēāļĄāļēāļĢāļāđāļāļāļāļāļāļąāļ IIfāļāļąāļāļāļąāļāđāļŦāļŠāļāļāļāļāļāļēāđāļāļ zero-length string āļāļēāļāļĨāļāļĄāļĩāļāļēāļāļĩāđāđāļĄāđāļāļāļēāļ§āļēāļ āđāļŦāļāļāļāļāļąāļ IIf āļŠāļāļāļāļāļāļēāļāļāļāļāļĨāļāļāļĩāđāļĄāļĩāļāļĒāļđāļāļąāļ§āļāļĒāļēāļāļāļāđāļāđāļŠāļāļāļāļēāļĢāļāļĢāļ§āļāļŠāļāļāļāļĨāļ ShipCountry āđāļ Table āļāļ·āđāļ Orders āđāļĨāļ°āļŠāļāļāļāļāļāļāļāļ§āļēāļĄāļ§āļēāļ (ââ) āļāļēāđāļāļāļāļēāļ§āļēāļ=IIf(IsNull(Forms!Orders![ShipCountry]), ââ, Forms!Orders![ShipCountry])
āđāļ Visual Basic āļāļāļāļāļąāļ IIf āļāļ°āļŦāļēāļāļēāļāļēāļāļāļēāļāļīāļ§āđāļĄāļāļ truepart āđāļĨāļ° falsepart āđāļāļŠāļāļāļēāļāļāļāđāļāļĩāļĒāļāļāļēāđāļāļĩāļĒāļ§ āđāļāđāļāļāļāļĢāļĄāļŦāļĢāļ·āļāļĢāļēāļĒāļāļēāļāļāļāļ Microsoft Access āļāļāļāļāļąāļ IIf āļāļ°āļŦāļēāļāļēāļāļĩāđāđāļŦāļĄāļēāļ°āļŠāļĄāđāļāļĩāļĒāļāļāļēāđāļāļĩāļĒāļ§āļāļēāļāļāļēāļāļīāļ§āđāļĄāļāļ truepart āđāļĨāļ° falsepart āļāļąāļāļāļąāđāļāļāļķāļāđāļĄāļāļāļāļĢāļ°āļ§āļąāļāļāļĨāļāļĢāļ°āļāļāļāļēāļāđāļāļĩāļĒāļāđāļāļāļēāļĢāļŦāļēāļāļĨāļĨāļąāļāļ āđāļĄāļ·āđāļāļĄāļĩāļāļēāļĢāđāļāļāļāļāļāļąāļ IIf āđāļāļāļąāļ§ control, expression āļāļāļāļāļīāļ§āļĢāļĩāđ āļŦāļĢāļ·āļāļĄāļēāđāļāļĢāļŦāļĄāļēāļĒāđāļŦāļāļļ āļāļāļāļāļąāļ Nz āđāļ Microsoft Access āđāļāļŠāđ āļēāļŦāļĢāļąāļāļāļēāļĢāđāļāļĨāļāļāļēāļ§āļēāļ (Null) āđāļāļ 0, zero-length string,āļŦāļĢāļ·āļāļāļēāļāļĩāđāļĢāļ°āļāļļ āļāļē expression āđāļāđāļāļāļēāļĢāļāđ āļēāļāļēāļāļāļąāļāļāļēāļ§āļēāļ āļāļāļāļāļąāļ Nz āļŠāļēāļĄāļēāļĢāļāđāļāļāļāļąāļ§āđāļĨāļ·āļāļāļŠāđ āļēāļŦāļĢāļąāļāļāļēāļĢāđāļāļāļēāļāļāļāļāļāļēāļāļāļāļāļāļąāļ IIfāļāļāļāļāļąāļ IIf āđāļāļāļĢāļ°āđāļĒāļāļāđāļāļāļĩāđāļ expression āļāļāļāļāļāļĢāļĄāļŦāļĢāļ·āļāļĢāļēāļĒāļāļēāļ āļĄāļēāļāļāļ§āļēāļāļēāļĢāđāļ Visual Basic āđāļāļĒāđāļ Visual Basic āļŠāļēāļĄāļēāļĢāļāđāļāļāđ āļēāļŠāđāļąāļ IfâĶThenâĶElse āđāļāđāļĄāļĢāļđāļāđāļāļāļāļķāđāļāļĄāļĩāļāļēāļĢāļāđ āļēāļāļēāļāļāļĩāđāļāļ§āļēāļāļāļ§āļēāļāļāļ§āļē
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ IIf āđāļāļāļēāļĢāļŦāļēāļāļēāļāļēāļĢāļēāļĄāļīāđāļāļāļĢ TestMe āļāļāļ procedure āļāļ·āđāļ CheckIt āđāļĨāļ°āļŠāļāļāļāļāļāļēāđāļāļāļāļāļāļ§āļēāļĄ âLargeâ āļāļēāļāļĨāļĢāļ§āļĄāļĄāļēāļāļāļ§āļē 1000 āļāļĢāļāļĩāļāļ·āđāļāļŠāļāļāļāļāļāļāļāļ§āļēāļĄ âSmallâ
Function CheckIt (TestMe As Integer) CheckIt = IIf(TestMe > 1000, "Large", "Small")
widebase.net âVBA References
61
End Function
āļāļąāļ§āļāļĒāļēāļāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļ Accessāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ IIf āđāļāļāļēāļĢāļŦāļēāļāļēāļāļĨāļ OrderAmount āđāļĨāļ°āļŠāļāļāļāļāļāļēāđāļāļāļāļāļāļ§āļēāļĄ âLargeâ āļāļēāļāļĨāļĢāļ§āļĄāļĄāļēāļāļāļ§āļē 1000 āļāļĢāļāļĩāļāļ·āđāļāļŠāļāļāļāļāļāļāļāļ§āļēāļĄ âSmallâ āđāļŦāļāđ āļēāļŦāļāļāļāļēāļāļāļāļāļļāļāļŠāļĄāļāļąāļāļī ControlSource āļāļāļāļāļąāļ§ controlāļāļ§āļĒ expression āļāļĩāđ
= IIf([OrderAmount] > 1000, "Large", "Small")
Input # StatementāļāļēāļāļāļāļĄāļđāļĨāļāļēāļāđāļāļĨ Sequential āļāļĩāđāđāļāļāļāļķāđāļ āđāļĨāļ°āļāđ āļēāļŦāļāļāļāļāļĄāļđāļĨāđāļāļāļĩāđāļāļąāļ§āđāļāļĢ
āđāļ§āļĒāļēāļāļĢāļInput # filenumber, varlistāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Input # āļĄāļĩāļŠāļ§āļāđāļ§āļĒāļēāļāļĢāļ āļāļąāļāļāļĩāđ
āļŠāļ§āļ āļāđ āļēāļāļāļīāļāļēāļĒfilenumber āļāļąāļāļāļąāļ, āđāļāļāļŦāļĄāļēāļĒāđāļĨāļāđāļāļĨvarlist āļāļąāļāļāļąāļ, āđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļļāļĨāļ āļēāļāđāļāļāļĢāļēāļĒāļāļēāļĢāļāļąāļ§āđāļāļĢāļāļĩāđāđāļāļĢāļąāļāļāļēāļĢāļāđ āļēāļŦāļāļāļāļēāļāļĩāđāļāļēāļāļāļēāļāđāļāļĨ āđāļ
āđāļĄāļŠāļēāļĄāļēāļĢāļāļāļēāļ array āļŦāļĢāļ·āļāļāļąāļ§āđāļāļĢāļāļāļāđāļāļ āđāļāļŠāļ§āļāļāļąāļ§āđāļāļĢāļāļĩāđāļāļāļīāļāļēāļĒ element āļāļāļarray āļŦāļĢāļ·āļ User - defined type āļŠāļēāļĄāļēāļĢāļāđāļāđāļ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļāļĄāļđāļĨāļāļĩāđāļāļēāļāļāļ§āļĒ Input # āļĄāļąāļāļāļ°āđāļāļāļāļāļĄāļđāļĨāļāļĩāđāđāļāļĩāļĒāļāđāļāļāļĩāđāđāļāļĨāļāļ§āļĒ Write # āđāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļāļāļĩāđāđāļāļāļēāļ°āļāļēāļĢāđāļāļāđāļāļĨāđāļāđāļŦāļĄāļ Input āļŦāļĢāļ·āļ BinaryāđāļĄāļ·āđāļāļāļēāļāļāļāļĄāļđāļĨāļāļąāļ§āđāļĨāļ āļŦāļĢāļ·āļāļāļāļāļ§āļēāļĄāļĄāļēāļāļĢāļāļēāļāđāļāļĢāļąāļāļāļēāļĢāļāđ āļēāļŦāļāļāđāļāļāļĩāđāļāļąāļ§āđāļāļĢ āđāļāļĒāđāļĄāļĄāļĩāļāļēāļĢāļāļĢāļąāļāļāļĢāļļāļ āļāļēāļĢāļēāļāļāļāđāļ āđāļŠāļāļāļāļĨāļĨāļąāļāļāļāļāļāļāļāļĄāļđāļĨāļāđ āļēāđāļāļē
āļāļāļĄāļđāļĨ āļāļēāļĢāļāđ āļēāļŦāļāļāļāļēāđāļāļāļĩāđāļāļąāļ§āđāļāļĢāļāļļāļĨāļ āļēāļ āļŦāļĢāļ·āļāđāļāļ§āļ§āļēāļ Empty#Null# Null#True# āļŦāļĢāļ·āļ #False# True āļŦāļĢāļ·āļ False#yyyy-mm-dd hh:mm:ss# āļ§āļąāļāļāļĩāđāļŦāļĢāļ·āļāđāļ§āļĨāļē āđāļŠāļāļāđāļāļĒ expression#ERROR errornumber# errornumber
āđāļāļĢāļ·āđāļāļāļāđ āļēāļāļđāļ (â â ) āļ āļēāļĒāđāļāļāļāļĄāļđāļĨāļāđ āļēāđāļāļēāđāļāļĢāļąāļāļĨāļ°āļāļīāđāļ
widebase.net âVBA References
62
āļāļāļĄāļđāļĨāđāļāđāļāļĨāļāļāļāļāļĢāļēāļāļāđāļāļĨāđ āļēāļāļąāļāđāļāļĩāļĒāļ§āļāļąāļāļāļąāļ§āđāļāļĢāđāļ varlist āđāļĨāļ°āļāļĢāļāļāļąāļāļāļąāļ§āđāļāļĢāļāļĩāđāļĄāļĩāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāđāļāļĩāļĒāļ§āļāļąāļ āļāļēāļāļąāļ§āđāļāļĢāđāļāļāļāļąāļ§āđāļĨāļ āđāļĨāļ°āļāļāļĄāļđāļĨāđāļĄāđāļāļāļąāļ§āđāļĨāļ āļāļēāļĻāļđāļāļĒāļāļ°āđāļāļĢāļąāļāļāđ āļēāļŦāļāļāđāļāļāļĩāđāļāļąāļ§āđāļāļĢāļāļēāļĄāļēāļāļķāļāļāļēāļĒāļāļāļāđāļāļĨāļāļĩāđāļāđ āļēāļĨāļąāļāļāļēāļāļāļāļĄāļđāļĨ āļāļēāļĢāļāļēāļāļāļāļĄāļđāļĨāļāļ°āļŠāđāļīāļāļŠāļļāļ āđāļĨāļ°āđāļāļīāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļāļŦāļĄāļēāļĒāđāļŦāļāļļ āļŠāļēāļĄāļēāļĢāļāđāļāđāļāļāļēāļĢāļāļēāļāļāļāļĄāļđāļĨāļāļēāļāđāļāļĨāđāļāļāļĩāđāļāļąāļ§āđāļāļĢāļāļ§āļĒāļāļēāļĢāđāļ Input # āđāļ Write # āđāļāļāļāļĩāđāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Print # āđāļāđāļāļĩāļĒāļāļāļāļĄāļđāļĨāđāļāļāļĩāđāđāļāļĨ āļāļēāļĢāđāļ Write # āļāļāļāļāđ āļēāđāļŦāļĄāđāļąāļāđāļāļ§āļēāļāļāļĄāļđāļĨāđāļāļĨāļ°āļāļĨāļāđāļāļĢāļąāļāļāļēāļĢāđāļāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Input, Open Statement, Print # Statement, Write # Statement
āļāļąāļ§āļāļĒāļēāļ
Dim MyString, MyNumberOpen "TESTFILE" For Input As #1 ' āđāļāļāđāļāļĨāļŠāđ āļēāļŦāļĢāļąāļ InputDo While Not EOF(1) ' āļāļēāļāļāļāļŠāļīāđāļāļŠāļļāļāđāļāļĨ Input #1, MyString, MyNumber ' āļāļēāļāļāļēāđāļāļēāļŠāļđ 2 āļāļąāļ§āđāļāļĢ Debug.Print MyString, MyNumber ' āļāļĄāļīāļāđāļ Debug windowLoopClose #1 ' āļāļāđāļāļĨ
Input Function, Input$ Functionāļāļāļāļāļąāļ Input āļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (String) āļāļĩāđāđāļāđāļāļāļąāļ§āļāļąāļāļĐāļĢāļāļēāļāđāļāļĨāļāļĩāđāđāļāļāđāļāđāļŦāļĄāļ Input āļŦāļĢāļ·āļ Binaryāļāļāļāļāļąāļ Input$ āļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ String āļāļĩāđāđāļāđāļāļāļąāļ§āļāļąāļāļĐāļĢāļāļēāļāđāļāļĨāļāļĩāđāđāļāļāđāļāđāļŦāļĄāļ Input āļŦāļĢāļ·āļ Binary
āđāļ§āļĒāļēāļāļĢāļInput(number, [#]filename)Input$(number, [#]filename)āļāļāļāļāļąāļ Input āđāļĨāļ° āļāļāļāļāļąāļ Input$ āļĄāļĩāđāļ§āļĒāļēāļāļĢāļāļāļāļāļŠāļ§āļ āļāļ·āļ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļnumber āļāļąāļāļāļąāļ, āđāļāļ expression āļāļāļāļāļąāļ§āđāļĨāļāļāļĩāđāļĄāļĩāļāļĢāļīāļāļŠāđ āļēāļŦāļĢāļąāļāļĢāļ°āļāļļāļāđ āļēāļāļ§āļāļāļąāļ§āļāļąāļāļĐāļĢāļāļĩāđāļŠāļāļāļāļfilenumber āļāļąāļāļāļąāļ, āđāļāļāļŦāļĄāļēāļĒāđāļĨāļāđāļāļĨāļāļĩāđāļĄāļĩāļāļĢāļīāļ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļāļĄāļđāļĨāļāļĩāđāļāļēāļāļāļ§āļĒāļāļāļāļāļąāļ Input āļŠāļēāļĄāļēāļĢāļāđāļāļĩāļĒāļāđāļāļāđāļāļĨāļāļ§āļĒ Print# āļŦāļĢāļ·āļ Put āđāļāļāļāļāļāļąāļāļāļĩāđāđāļāļāļēāļĢāđāļāļāđāļŦāļĄāļ Input sāļŦāļĢāļ·āļ Binary āđāļāđāļāļāļāļēāļāļāļēāļāļāđ āļēāļŠāđāļąāļ Input# statement āđāļāļĒāļāļĩāđāļāļāļāļāļąāļ Input āļāļēāļāļāļąāļ§āļāļąāļāļĐāļĢāđāļāļāļąāđāļāļŦāļĄāļ āļĢāļ§āļĄāļāļķāļ āđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļļāļĨāļ āļēāļ, āđāļāļ âEnterâ (carriage return), linefeeds, āđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāđ āļēāļāļđāļ āđāļĨāļ°āļāļāļāļ§āļēāļāļāļēāļāļŦāļāļē
widebase.net âVBA References
63
āđāļāļāļēāļĢāđāļāļāļŠāđ āļēāļŦāļĢāļąāļāļāļēāļĢāđāļāļēāļāļķāļāđāļāļ Binary āļāļēāļāļēāļāđāļāļĨāļāļ§āļĒāļāļāļāļāļąāļ Input āļāļāļāļĢāļ°āļāļąāđāļāļāļāļāļāļąāļ EOF āļŠāļāļāļēāđāļāļ True āļāļ°āļāđ āļēāđāļŦāđāļāļīāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļ āđāļŦāđāļāļāļāļāļāļąāļ LOF āđāļĨāļ° LOC āđāļāļāļāļĩāđ EOF āđāļāļāļēāļĢāļāļēāļāđāļāļĨ Binary āļāļ§āļĒāļāļāļāļāļąāļ Input āļŦāļĢāļ·āļ Get āļāļąāļāļāļāļāļāļąāļ EOFāļŦāļĄāļēāļĒāđāļŦāļāļļâĒ āļāļāļāļāļąāļ InputB āđāļāļŠāđ āļēāļŦāļĢāļąāļāļāļāļĄāļđāļĨāđāļāļāđāļāļāļāļĩāđāđāļāđāļāđāļāļĨāļāļāļāļ§āļēāļĄ (Text file)
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ Input āđāļāļ·āđāļāļāļēāļāļāļēāļāļąāļ§āļāļąāļāļĐāļĢ 1 āļāļąāļ§āļāļēāļāđāļāļĨāđāļĨāļ°āļāļīāļĄāļāļāļāļāđāļ Immediate window āļŠāļĄāļĄāļāļīāđāļŦ TESTFILE āđāļāļ text file āļāļĩāđāļĄāļĩāļāļāļĄāļđāļĨāļāļąāļ§āļāļĒāļēāļāļāđ āļēāļāļ§āļāļŦāļāļķāđāļ
Dim MyCharOpen "TESTFILE" For Input As #1 ' āđāļāļāđāļāļĨDo While Not EOF(1) ' āļ§āļāļĢāļāļāļāļāļāļĢāļ°āļāļąāđāļāļŠāđāļīāļāļŠāļļāļāđāļāļĨ MyChar = Input(1, #1) ' āļāļāļķ 1 āļāļąāļ§āļāļąāļāļĐāļĢ Debug.Print MyChar ' āļāļĄāļīāļāļāļāļāđāļ Immediate windowLoopClose #1 ' āļāļāđāļāļĨ
InputBox FunctionāļŠāđ āļēāļŦāļĢāļąāļāļāļēāļĢāđāļŠāļāļ dialog box āđāļĨāļ°āļĢāļāđāļŦāļāļđāđāļāļāļāļāļāļāļāļ§āļēāļĄ āđāļĨāļ§āļāļĨāļīāļāļāļļāļĄ āđāļĨāļ°āļŠāļāļāļēāļāļāļāļ§āļēāļĄ
āđāļ§āļĒāļēāļāļĢāļInputBox(prompt[,title] [,default] [,xpos] [,ypos] [,helpfile, context])āļāļāļāļāļąāļ InputBox āļĄāļĩāđāļ§āļĒāļēāļāļĢāļāļāļāļāļŠāļ§āļ āļāļ·āļ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļPrompt āļāļąāļāļāļąāļ, āđāļāļ expression āļāļāļāļ§āļēāļĄāđāļŠāļāļāļāļēāļ§āļŠāļēāļĢāđāļ dialog box āļāļ§āļēāļĄāļĒāļēāļ§āļŠāļđāļāļŠāļļāļāļāļāļ prompt
āļāļĢāļ°āļĄāļēāļ 1,024 āļāļąāļ§āļāļąāļāļĐāļĢ āļāļķāđāļāļāļąāļāļāļ§āļēāļĄāļāļ§āļēāļāļāļāļāļāļąāļ§āļāļąāļāļĐāļĢāļāļĩāđāđāļ āļāļē prompt āļĒāļēāļ§āļāļ§āļēāļŦāļāļķāđāļāļāļĢāļĢāļāļąāļ āđāļŦāđāļāļāļāļĢāļĢāļāļąāļāđāļāļĒāđāļāļāļąāļ§āļāļąāļāļĐāļĢ carriage return (Chr(13)) āļāļąāļ§āļāļąāļāļĐāļĢ linefeed (Chr(10)) āļŦāļĢāļ·āļāļĢāļ§āļĄāļāļąāļ§āļāļąāļāļĐāļĢ carriage return āđāļĨāļ° āļāļąāļ§āļāļąāļāļĐāļĢ linefeed (Chr(13) & Chr(10))āļĢāļ°āļŦāļ§āļēāļāđāļāļĨāļ°āļāļĢāļĢāļāļąāļ
title āđāļĄāļāļąāļāļāļąāļ, āđāļāļ expression āļāļāļāļ§āļēāļĄāđāļŠāļāļāļāļ·āđāļāļāļĩāđāđāļāļāđāļāđāļāļīāļĨ (Title bar) āļāļāļ dialog box āļāļēāđāļĄāļāđ āļēāļŦāļāļ title āļāļ°āđāļāđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļāđāļāļāļāļ·āđāļāļāļĩāđāđāļāļāđāļāđāļāļīāļĨ
default āđāļĄāļāļąāļāļāļąāļ, āđāļāļ expression āļāļāļāļ§āļēāļĄāđāļŠāļāļāđāļ text box āļāļēāļĄāļāļē default āļāļēāđāļĄāļĄāļĩāļāļēāļĢāļāđ āļēāđāļāļēāļāļ·āđāļāļāļēāđāļĄāļāđ āļēāļŦāļāļ default āļāļ°āđāļĄāļĄāļĩāļāļēāļĢāđāļŠāļāļāļāļāļ text box
xpos āđāļĄāļāļąāļāļāļąāļ, āđāļāļ expression āļāļąāļ§āđāļĨāļāļāļĩāđāļĢāļ°āļāļļāļĢāļ°āļĒāļ°āļŦāļēāļāļāļēāļāđāļāļ§āļāļāļāļāļāļāļāļāļāļāļēāļāļāļēāļĒāļāļāļ dialogbox āļāļēāļāļāļāļāļāļēāļāļāļēāļĒāļāļāļāļāļāļ āļēāļ āļāļēāđāļĄāļāđ āļēāļŦāļāļ xpos āļāđ āļēāđāļŦāļāļāļāļāļ dialog box āļāļ°āđāļāļāļķāđāļāļāļĨāļēāļāļāļāļāđāļāļ§āļāļāļ
ypos āđāļĄāļāļąāļāļāļąāļ, āđāļāļ expression āļāļąāļ§āđāļĨāļāļāļĩāđāļĢāļ°āļāļļāļĢāļ°āļĒāļ°āļŦāļēāļāļāļēāļāđāļāļ§āļāļąāđāļāļāļāļāļāļāļāļāļēāļāļāļāļāļāļ dialog
widebase.net âVBA References
64
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļbox āļāļēāļāļāļāļāļāļēāļāļāļāļāļāļāļāļāļ āļēāļ āļāļēāđāļĄāļāđ āļēāļŦāļāļ ypos āļāđ āļēāđāļŦāļāļāļāļāļ dialog box āļāļ°āđāļāļŦāļāļķāđāļāđāļāļŠāļēāļĄāļāļāļāđāļāļ§āļāļāļāļāļēāļāļāļēāļāļāļ
helpfile āđāļĄāļāļąāļāļāļąāļ, āđāļāļ expression āļāļāļāļ§āļēāļĄāđāļŠāļāļāđāļāļĨ Help file āļāļĩāđāđāļŦāļāđ āļēāđāļāļ°āļāđ āļēāđāļĨāļ°āļāļēāļĢāļāļ§āļĒāđāļŦāļĨāļ·āļāļŠāđ āļēāļŦāļĢāļąāļ dialog box āļāļēāļāđ āļēāļŦāļāļ helpfile āļāļ°āļāļāļāļāđ āļēāļŦāļāļ context āļāļ§āļĒ
context āđāļĄāļāļąāļāļāļąāļ, āđāļāļ expression āļāļāļāļ§āļēāļĄāđāļŠāļāļāļŦāļĄāļēāļĒāđāļĨāļ Help context āļāļĩāđāļāđ āļēāļŦāļāļāļāļēāļĄāļŦāļąāļ§āļāļāļāļēāļĢāļāļ§āļĒāđāļŦāļĨāļ·āļāđāļāļĒāļāļđāđāļāļĩāļĒāļ Help āļāļēāļāđ āļēāļŦāļāļ context āļāļ°āļāļāļāļāđ āļēāļŦāļāļ helpfile āļāļ§āļĒ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļĄāļ·āđāļāļĄāļĩāļāļēāļĢāļāđ āļēāļŦāļāļāļāļēāļāļīāļ§āđāļĄāļāļ helpfile āđāļĨāļ° context āļāļđāđāļāļŠāļēāļĄāļēāļĢāļāļāļāļāļļāļĄ F1 āđāļāļ·āđāļāļāļđāļŦāļąāļ§āļāļāļāļēāļĢāļāļ§āļĒāđāļŦāļĨāļ·āļāļāļĩāđāļāļĢāļāļāļąāļ context āđāļāđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļāļāļēāļāđāļāļĢāđāļāļĢāļĄ āđāļāļ Microsoft Excel āļāļ°āđāļāļīāđāļĄāļāļļāļĄ Help āđāļŦāđāļāļĒāļāļąāļāđāļāļĄāļąāļāļīāđāļ dialog box āļāļēāļāļđāđāļāļāļĨāļīāļāļāļļāļĄ OK āļŦāļĢāļ·āļāļāļāļāļļāļĄ Enter āļāļāļāļāļąāļ InputBox āļāļ°āļŠāļāļāļēāļāļāļāļ§āļēāļĄāļāļĩāđāļāļĒāļđ text box āļāļēāļāļđāđāļāļāļĨāļīāļ Cancel āļāļāļāļāļąāļ InputBox āļāļ°āļŠāļāļāļē zero-length string (ââ)āļŦāļĄāļēāļĒāđāļŦāļāļļ āļāļēāļĢāļāđ āļēāļŦāļāļāļāļēāļāļīāļ§āđāļĄāļāļāļāļāļāđāļŦāļāļ·āļāļāļēāļāļāļēāļāļīāļ§āđāļĄāļāļāđāļĢāļāđāļĨāļ§ āļāļāļāđāļāļāļāļāļāļąāļ InputBox āđāļāļ expressionāļāļēāļĢāđāļĄāļāđ āļēāļŦāļāļāļāļēāļāļāđ āļēāđāļŦāļāļāļāļāļāļāļēāļāļīāļ§āđāļĄāļāļāļāļāļāđāļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļļāļĨāļ āļēāļ (,) āđāļāļāļēāļĢāļāļēāļĄāļāđ āļēāđāļŦāļāļāļāļąāđāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ MsgBox
āļ§āļīāļāļĩāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļ Accessāļāļ°āđāļĄāļŠāļēāļĄāļēāļĢāļāđāļāļāđāļāļĨāļāļ§āļĒāđāļŦāļĨāļ·āļ (Help) āļāļēāļ dialog box āļāļĩāđāļŠāļĢāļēāļāđāļāļĒāļāļāļāļāļąāļ Inputbox āđāļ Microsoft Accessāļāļēāļāđ āļēāļŦāļāļāļāļēāļāļāļāļāļēāļāļīāļ§āđāļĄāļāļ helpfile āđāļĨāļ° context āļāļ°āđāļĄāđāļāļĢāļąāļāļāļēāļĢāļāļīāļāļēāļĢāļāļē āđāļĨāļ°āđāļĄāļĄāļĩāļāļļāļĄ Help āļāļ Input boxāđāļ Microsoft Access āļāļ°āđāļĄāļŠāļĢāļēāļāļāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļ
āļ§āļīāļāļĩāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļ Excelāđāļ Microsoft Excel āļāļāļāļ§āļēāļĄāđāļāļāļēāļāļīāļ§āđāļĄāļāļ prompt āđāļāđāļāļāļāļāļ§āļēāļĄāđāļāđāļĄāđāļāļīāļ 256 āļāļąāļ§āļāļąāļāļĐāļĢ
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ InputBox āļāļķāđāļāļĄāļĩāļ§āļīāļāļĩāļāļēāļĢāļŦāļĨāļēāļĒāđāļāļāđāļāļāļēāļĢāđāļāļāļāļāļāļąāļāļāļĩāđ āđāļāļāļēāļĢāđāļŦāļāļđāđāļāļāļāļāļāļē āļāļēāđāļĄāļāđ āļēāļŦāļāļāļāđ āļēāđāļŦāļāļ X āđāļĨāļ° Y āļāđ āļēāđāļŦāļāļāļāļāļ dialog box āļāļ°āļāļĒāļđāļāļĩāđāļāļķāđāļāļāļĨāļēāļāļāļāļāđāļāļāđāļāļĒāļāļąāļāđāļāļĄāļąāļāļī āđāļŦāļāļąāļ§āđāļāļĢ MyValue āđāļāđāļāļāļēāļāļĩāđāļāļāļāđāļāļĒāļāļđāđāļ āļāļēāļāļđāđāļāļāļĨāļīāļ OK āļŦāļĢāļ·āļāļāļāļāļļāļĄ Enter āļāļēāļāļđāđāļāļāļĨāļīāļ Cancel āļāļāļāļāļąāļ InputBox āļāļ°āļŠāļāļāļē zero-length string (ââ)
Dim Message, Title, Default, MyValueMessage = "Enter a value between 1 and 3" ' āļāđ āļēāļŦāļāļ prompt.Title = "InputBox Demo" ' āļāđ āļēāļŦāļāļ title.Default = "1" ' āļāđ āļēāļŦāļāļ default.' āđāļŠāļāļāļāļēāļ§āļŠāļēāļĢ, āđāļāļāđāļāđāļāļīāļĨ āđāļĨāļ°āļāļēāđāļĢāļīāđāļĄāļāļMyValue = InputBox(Message, Title, Default)
widebase.net âVBA References
65
' āđāļ Helpfile āđāļĨāļ° context āļāļļāļĄ Help āļāļ°āđāļāļīāđāļĄāđāļāļĒāļāļąāļāđāļāļĄāļąāļāļīMyValue = InputBox(Message, Title, , , , "DEMO.HLP", 10)' āđāļŠāļāļ dialog box āļāđāļĩāļāđ āļēāđāļŦāļāļ 100, 100.MyValue = InputBox(Message, Title, Default, 100, 100)
āļāļąāļ§āļāļĒāļēāļāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļ Accessāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ InputBox āđāļāļŠāļāļāļ·āđāļāļāļđāđāļ āļŦāļĄāļēāļĒāđāļŦāļāļļ āđāļĄāļŠāļēāļĄāļēāļĢāļāđāļāļāđāļāļĨāļāļ§āļĒāđāļŦāļĨāļ·āļ (Help) āļāļēāļ dialog box āļāļĩāđāļŠāļĢāļēāļāđāļāļĒāļāļāļāļāļąāļ Inputbox āđāļ Microsoft Access
Sub Greeting() Dim strInput As String, strMsg As String strMsg = "Enter your name." strInput = InputBox(Prompt:=strMsg, _ Title:="User Info", XPos:=2000, YPos:=2000) MsgBox "Hello, " & strInputEnd Sub
InStr FunctionāļāļēāļāļĩāđāļŠāļāļāļāļāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (String) āļāļĩāđāļĢāļ°āļāļļāļāđ āļēāđāļŦāļāļāļāļĩāđāļāļāļāļąāļ§āļāļąāļāļĐāļĢāļāļāļāļāļāļāļ§āļēāļĄāļāļĩāđāļāļēāļāļāļķāļāļ āļēāļĒāđāļāļāļāļāļ§āļēāļĄāļāļĩāđāļāļāļŦāļē
āđāļ§āļĒāļēāļāļĢāļInStr([start,] string1, string2 [,compare])āļāļēāļāļīāļ§āđāļĄāļāļāļāļāļāļāļāļāļāļąāļ InStr āļĄāļĩāļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļ āļāļ·āļ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļstart āđāļĄāļāļąāļāļāļąāļ, āđāļāļ Expression āļāļāļāļāļąāļ§āđāļĨāļāļāļĩāđāļāđ āļēāļŦāļāļāļāđ āļēāđāļŦāļāļāđāļĢāļīāđāļĄāđāļāļāļēāļĢāļāļāļŦāļē āļāļēāđāļĄāđāļāļĢāļ°āļāļļāļāļēāļĢāļāļ
āļŦāļēāļāļ°āđāļĢāļīāđāļĄāļāļēāļāļāļąāļāļĐāļĢāļāļąāļ§āđāļĢāļ āļāļē start āđāļāļāļāļēāļ§āļēāļāļāļ°āļāļĢāļēāļāļāļāļāļāļīāļāļāļĨāļēāļ āļāļēāļāļīāļ§āđāļĄāļāļ start āļāļāļāļĢāļ°āļāļļāļāļēāļĄāļĩāļāļēāļĢāļāđ āļēāļŦāļāļ compare
string1 āļāļąāļāļāļąāļ, āđāļāļ Expression āļāļāļāļāļāļāļ§āļēāļĄāļāļĩāđāļāļđāļāļāļāļŦāļēstring2 āļāļąāļāļāļąāļ, āđāļāļ Expression āļāļāļāļāļāļāļ§āļēāļĄāļāļēāļāļāļīāļāđāļāļāļēāļĢāļāļāļŦāļēcompare āđāļĄāļāļąāļāļāļąāļ, āđāļāļāļāļēāļĢāļĢāļ°āļāļļāļ§āļīāļāļĩāļāļēāļĢāđāļāļĢāļĩāļĒāļāđāļāļĩāļĒāļ āļāļēāļāļīāļ§āđāļĄāļāļ compare āđāļĄāļāđ āļēāđāļāļāļāļāļāļāđ āļēāļŦāļāļ āļŦāļĢāļ·āļ
āļāđ āļēāļŦāļāļāđāļāļ 0, 1 āļŦāļĢāļ·āļ 2 āļāļēāļĢāļāđ āļēāļŦāļāļāđāļāļ 0 āđāļāļāļāđ āļēāļŦāļāļāļāļēāļĢāļāļāļŦāļēāđāļāļāđāļāļāļēāļĢāļĩ āļĢāļ°āļāļļāđāļāļ 1āļāđ āļēāļŦāļāļāļāļēāļĢāļāļāļŦāļēāđāļāļāļāļāļāļ§āļēāļĄāļāļĩāđāđāļĄāļāļīāļāļēāļĢāļāļēāļāļąāļāļĐāļĢāļāļąāļ§āđāļĨāđāļāļŦāļĢāļ·āļāđāļŦāļ āļĢāļ°āļāļļāđāļāļ 2 āļŠāđ āļēāļŦāļĢāļąāļMicrosoft Access āđāļāļĒāđāļāļāļēāļ° āđāļāļāļāļāļŦāļēāļāļēāļĄāļŠāļēāļĢāļŠāļāđāļāļĻāļāļĩāđāļĄāļĩāļāļĒāļđāđāļāļāļēāļāļāļāļĄāļđāļĨ āļāļē compareāđāļāļāļāļēāļ§āļēāļ āļāļ°āļāļĢāļēāļāļāļāļāļāļīāļāļāļĨāļēāļ āļāļēcompare āđāļĄāđāļāļĢāļ°āļāļļ āļāļāļāļāļąāļāļāļ°āļāļāļŦāļēāļ§āļīāļāļĩāļāļēāļĢāđāļāļĢāļĩāļĒāļāđāļāļĩāļĒāļ
āļāļēāļŠāļāļāļāļāļāļē āļāļēāļŠāļāļāļāļāļāļāļ Instrstring1 āđāļāļ Zero-length string 0string1 āđāļāļāļāļēāļ§āļēāļ āļāļēāļ§āļēāļ (Null)
widebase.net âVBA References
66
āļāļē āļāļēāļŠāļāļāļāļāļāļāļ Instrstring2 āđāļāļ Zero-length string startstring2 āđāļāļāļāļēāļ§āļēāļ āļāļēāļ§āļēāļ (Null)string2 āđāļĄāļāļ 0string2 āļāļāđāļ string1 āļāđ āļēāđāļŦāļāļāļāļĩāđāļāļāļāļstart > string2 0
āļŦāļĄāļēāļĒāđāļŦāļāļļāļāļāļāļāļąāļ InStrB āđāļāđāļāļāļēāļĢāļāļāļŦāļēāļāļāļĄāļđāļĨāđāļāļāđāļāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄOption Compare Statement, āļāļāļāļāļąāļ StrComp
āļāļąāļ§āļāļĒāļēāļāļāļāļāļāļąāļ InStr āļāđ āļēāļĄāļēāđāļāđāļāļāļēāļĢāļāļāļŦāļēāļāđ āļēāđāļŦāļāļāļāļąāļ§āļāļąāļāļĐāļĢāļāļāļ 2 āļāļāļāļ§āļēāļĄ
Dim SearchString, SearchChr, myStrSearchString = "XXpXXpXXPXXP" ' āļāļāļāļ§āļēāļĄāļāļĩāđāļāļđāļāļāļāļŦāļē āļŦāļĢāļ·āļ string1SearchChr = "P" ' āļāļāļāļ§āļēāļĄāļāļēāļāļāļīāļ āļŦāļĢāļ·āļ string2' āļāļāļŦāļēāđāļāļāļāļąāļ§āļāļąāļāļĐāļĢ āđāļāļĒāļāđ āļēāđāļŦāļāļāđāļĢāļīāđāļĄāļāļ āļāļ·āļ 4myStr = Instr(4, SearchString, SearchChr, 1) ' āļāļēāļŠāļāļāļāļ āļāļ·āļ 6' āļāļāļŦāļēāđāļāļāđāļāļāļēāļĢāļĩ āđāļāļĒāļāđ āļēāđāļŦāļāļāđāļĢāļīāđāļĄāļāļ āļāļ·āļ 1myStr = Instr(1, SearchString, SearchChr, 0) ' āļāļēāļŠāļāļāļāļ āļāļ·āļ 9' āļāļāļŦāļēāđāļāļāđāļāļāļēāļĢāļĩ āđāļāļĒāđāļāļāļēāđāļĢāļīāđāļĄāļāļ (default)myStr = Instr(SearchString, SearchChr) ' āļāļēāļŠāļāļāļāļ āļāļ·āļ 9' āļāļāļŦāļēāđāļāļāđāļāļāļēāļĢāļĩ āđāļāļĒāđāļāļāļēāđāļĢāļīāđāļĄāļāļ (default)myStr = Instr(1, SearchString, âWâ) ' āļāļēāļŠāļāļāļāļ āļāļ·āļ 0
Int Functionāļāļđ Fix Function
IPmt FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double āļāļĩāđāļĢāļ°āļāļļāļāļāļāđāļāļĩāđāļĒāļāļĩāđāļāļēāļĒāđāļāļāļ§āļāļāļĩāđāļāļāļāļāļēāļĢāļāļĢāļēāļ āđāļāļĒāļĄāļĩāļāļ§āļāļāļēāļĢāļāļēāļĒāļŠāļĄāđāđ āļēāđāļŠāļĄāļ āļāļēāļĢāļāļēāļĒāļāļāļāļĩāđ āđāļĨāļ°āļāļąāļāļĢāļēāļāļāļāđāļāļĩāđāļĒāļāļāļāļĩāđ
āđāļ§āļĒāļēāļāļĢāļIPmt(rate, per, nper, pv [, fv [,type]])āļāļēāļāļīāļ§āđāļĄāļāļāļāļāļāļāļāļāļāļąāļ IPmt āļĄāļĩāļāļ§āļēāļĄāļŦāļĄāļēāļĒ āļāļ·āļ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļrate āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double, āļĢāļ°āļāļļāļāļąāļāļĢāļēāļāļāļāđāļāļĩāđāļĒāļāļāļāļ§āļ āđāļāļ āļāļēāļĢāļāļđāđāļāļīāļāļāļ·āđāļāļĢāļāļĒāļāļāļāļĩāđāļāļąāļāļĢāļēāļāļāļ
widebase.net âVBA References
67
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāđāļāļĩāđāļĒ 10% āļāļāļ āđāļĨāļ°āļāļ§āļāļāļēāļĢāļāļēāļĒāđāļāļāļĢāļēāļĒāđāļāļ·āļāļ āļāļąāļāļĢāļēāļāļāļāđāļāļĩāđāļĒāļāļāđāļāļ·āļāļ āļāļ·āļ 0.1/12 āļŦāļĢāļ·āļ 0.0083
per āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double, āļĢāļ°āļāļļāļāļ§āļāļāļēāļĢāļāļēāļĒ āļāļķāđāļāļāļĒāļđāđāļāļāļ§āļ 1 āļāļķāļ npernper āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Integer, āļĢāļ°āļāļļāļāđ āļēāļāļ§āļāļāļ§āļāļāļēāļĢāļāļēāļĒāļāļąāđāļāļŦāļĄāļ āđāļāļ āļāļēāļĢāļāļēāļĒāđāļāļīāļāļāļđāļĢāļēāļĒāđāļāļ·āļāļāļāļāļ
āđāļāļīāļāļāļđ 4 āļ āļāđ āļēāļāļ§āļāļāļ§āļāļāļąāđāļāļŦāļĄāļ āļāļ·āļ 4 * 12 (āļŦāļĢāļ·āļ 48) āļāļ§āļāļāļēāļĢāļāļēāļĒpv āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant, āļĄāļđāļĨāļāļēāļāļāļāļļāļāļąāļ (āļŦāļĢāļ·āļāđāļāļīāļāļĢāļ§āļĄāļāļąāđāļāļŦāļĄāļ) āļāļāļāļāļļāļāļāļēāļĢāļāļēāļĒāļŠāđ āļēāļŦāļĢāļąāļāļĄāļđāļĨ
āļāļēāļāļāļēāļāļ āđāļāļ āļāļēāļĢāļĒāļ·āļĄāđāļāļīāļāđāļāļ·āđāļāļāļ·āđāļāļĢāļāļĒāļāļ āđāļāļīāļāļāļđ āļāļ·āļ āļĄāļđāļĨāļāļēāļāļāļāļļāļāļąāļāļāļĩāđāļāļđāļāļđāļāļāļāļāļēāļĒāđāļāļāļĢāļēāļĒāđāļāļ·āļāļ āļāļēāđāļĄāļāđ āļēāļŦāļāļ āļāļ°āđāļāļāļēāđāļāļ 0
fv āđāļĄāļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double, āļĢāļ°āļāļļāļĄāļđāļĨāļāļēāđāļāļāļāļēāļāļ āļŦāļĢāļ·āļāļāđ āļēāļāļ§āļāļŠāļāļāļāđāļŦāļĨāļ·āļāđāļĄāļ·āđāļāļŠāđāļīāļāļŠāļļāļāļāļ§āļāļāļēāļĢāļāļēāļĒ āđāļāļ āļāļāļāļāļēāļĢāļāļēāļāđāļāļīāļāļāļāļĄāđāļāļ·āđāļāļŦāđāļ āļŋ50,000 āđāļāļĢāļ°āļĒāļ°āđāļ§āļĨāļē 18 āđāļāļ·āļāļ āđāļāļīāļāļāđ āļēāļāļ§āļ āļŋ50,000 āļāļ·āļ āļĄāļđāļĨāļāļēāļāļāļēāļāļ āļāļēāđāļĄāļāđ āļēāļŦāļāļ āļāļ°āđāļāļāļēāđāļāļ 0
type āđāļĄāļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant, āļĢāļ°āļāļļāļāđ āļēāļŦāļāļāļāļēāļĢāļāļēāļĒ āđāļ 0 āļāļēāļāđ āļēāļŦāļāļāļāđ āļēāļĢāļ°āđāļāļāļŠāđāļīāļāļāļ§āļ āļŦāļĢāļ·āļ 1āļāļēāļāđ āļēāļŦāļāļāļāđ āļēāļĢāļ°āđāļāļāļāļāļāļ§āļ āļāļēāđāļĄāļāđ āļēāļŦāļāļ āļāļ°āđāļāļāļēāđāļāļ 0
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļ§āļāļāļēāļĢāļāļēāļĒāđāļāļāļāļļāļāļāļēāļĢāļāļēāļĒāļāļĩāđāļāļāļāļĩāđāļāļĨāļāļāļĢāļ°āļĒāļ°āđāļ§āļĨāļēāļāļąāđāļāļŦāļĄāļ āļāļēāļĢāļāļēāļĒāļŠāļēāļĄāļēāļĢāļāđāļāļāļāļēāļĢāļāđ āļēāļĢāļ°āđāļāļīāļāļāļđ ( āđāļāļ āļāļēāļāļ§āļāđāļāļīāļāļāļđāļāļāļāļēāļ) āļŦāļĢāļ·āļāļāļēāļĢāļĨāļāļāļļāļ ( āđāļāļ āļāļēāļĢāļāļēāļāđāļāļīāļāļāļāļĄāđāļāļāļĢāļēāļĒāđāļāļ·āļāļ)āļāļēāļāļīāļ§āđāļĄāļāļ rate āđāļĨāļ° nper āļāļāļāļĄāļĩāļŦāļāļ§āļĒāđāļāļāļŦāļāļ§āļĒāđāļāļĩāļĒāļ§āļāļąāļ āđāļāļ rate āļāđ āļēāļāļ§āļāđāļāļāļāļąāļāļĢāļēāļāļāđāļāļ·āļāļ nper āļāļ°āļāļāļāđāļāļāļĢāļēāļĒāđāļāļ·āļāļāļāļ§āļĒāļāļēāļāļīāļ§āđāļĄāļāļāļāļąāđāļāļŦāļĄāļ āđāļāļīāļāļŠāļāļāļēāļĒāļāļāļ (āđāļāļ āļāļēāļĢāļāļēāļāđāļāļīāļ) āđāļŦāđāļāļāļāļēāļĨāļ āđāļāļīāļāļŠāļāļĢāļąāļāđāļāļē (āđāļāļ āđāļāļīāļāļāļāļāļĨ) āđāļŦāđāļāļāļāļ§āļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ DDB, āļāļāļāļāļąāļ IRR, āļāļāļāļāļąāļ MIRR, āļāļāļāļāļąāļ NPer, āļāļāļāļāļąāļ NPV, āļāļāļāļāļąāļ Pmt, āļāļāļāļāļąāļ PPmt, āļāļāļāļāļąāļPV, āļāļāļāļāļąāļ Rate, āļāļāļāļāļąāļ SLN, āļāļāļāļāļąāļ SYD
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ IPmt āđāļāļāļēāļĢāļāđ āļēāļāļ§āļāļāđ āļēāļāļ§āļāļāļāļāđāļāļĩāđāļĒāļāļĩāđāļāļēāļĒ āđāļĄāļ·āđāļāļāļēāļĢāļāļēāļĒāđāļāļēāļāļąāļāļāļļāļāļāļ§āļ āđāļāļĒāđāļŦāļāđ āļēāļŦāļāļāđāļāļāļāļ§āļ (APR / 12), āļāđ āļēāļāļ§āļāļāļ§āļāļāļēāļĢāļāļēāļĒāļāļąāđāļāļŦāļĄāļ (TotPmts), āļāļēāļĢāļāļēāļĒ (Payment), āļĄāļđāļĨāļāļēāļāļāļāļļāļāļąāļāļāļāļāļāļēāļĢāļĨāļāļāļļāļ (PVal), āļĄāļđāļĨāļāļēāđāļāļīāļāļāļđāđāļāļāļāļēāļāļ (FVal), āđāļĨāļ°āļāļąāļ§āđāļĨāļāļāļĩāđāļĢāļ°āļāļļāļāđ āļēāļŦāļāļāļāļēāļĢāļāļēāļĒ (PayType)
Dim FVal, Fmt, PVal, APR, TotPmts, PayType, Period, IntPmt, TotInt, MsgConst ENDPERIOD = 0, BEGINPERIOD = 1 ' āļāđ āļēāļŦāļāļāļāļĢāļ°āđāļ āļāļāļēāļĢāļāļēāļĒFVal = 0 ' āļāļāļāļīāđāļ 0 āļŠāđ āļēāļŦāļĢāļąāļāđāļāļīāļāļāļđFmt = "###,###,##0.00" ' āļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļāļāļēāļĢāđāļāļīāļPVal = InputBox("How much do you want to borrow?")APR = InputBox("What is the annual percentage rate of your loan?")If APR > 1 Then APR = APR / 100 ' āļāļĢāļ§āļāļāļ§āļēāļĄāļāļđāļāļāļāļāļāļāļāļāļēTotPmts = InputBox("How many monthly payments?")PayType = MsgBox("Do you make payments at end of the month?", vbYesNo)
If PayType = vbNo Then PayType = BEGINPERIOD Else PayType = ENDPERIOD
widebase.net âVBA References
68
For Period = 1 To TotPmts ' Total all interest. IntPmt = IPmt(APR / 12, Period, TotPmts, -PVal, FVal, PayType) TotInt = TotInt + IntPmtNext PeriodMsg = "You'll pay a total of " & Format(TotInt, Fmt)Msg = Msg & " in interest for this loan."MsgBox Msg ' āđāļŠāļāļāļāļĨāļĨāļąāļāļ
IRR FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double āļāļāļāļāļąāļāļĢāļēāļāļĨāļāļāļāđāļāļāļ āļēāļĒāđāļ (Internal rate of return) āļāļāļāļāļĢāļ°āđāļŠāđāļāļīāļāļŠāļ (āļĢāļēāļĒāļāļēāļĒāđāļĨāļ°āļĢāļēāļĒāļĢāļąāļ)
āđāļ§āļĒāļēāļāļĢāļIRR(value() [,guess])āļāļēāļāļīāļ§āđāļĄāļāļāļāļāļāļāļāļāļāļąāļ IRR āļĄāļĩāļāļ§āļēāļĄāļŦāļĄāļēāļĒ āļāļ·āļ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļvalue āļāļąāļāļāļąāļ, āđāļāļ array āļāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double, āļĢāļ°āļāļļāļĄāļđāļĨāļāļēāļāļāļāļāļĢāļ°āđāļŠāđāļāļīāļ āđāļāļĒ array āļāļāļāđāļāđāļāļāļēāļāļĒāļēāļ
āļāļāļĒāđāļāļāļāļēāļĨāļ 1 āļāļē (āļĢāļēāļĒāļāļēāļĒ) āđāļĨāļ°āļāļēāļāļ§āļ 1 āļāļē (āļĢāļēāļĒāļĢāļąāļ)guess āđāļĄāļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant, āļĢāļ°āļāļļāļāļēāđāļāļāļēāļĢāļāļĢāļ°āļĄāļēāļāļāļēāļŠāļāļāļāļāļāļāļāļāļāļāļāļąāļ IRR āļāļēāđāļĄ
āļāđ āļēāļŦāļāļ āļāļ°āđāļŦāļāļē guess āđāļāļ 0.1 (10%)
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļąāļāļĢāļēāļāļĨāļāļāļāđāļāļāļ āļēāļĒāđāļ (Internal rate of return) āđāļāļāļāļąāļāļĢāļēāļāļāļāđāļāļĩāđāļĒāļĢāļąāļāļŠāđ āļēāļŦāļĢāļąāļāļāļēāļĢāļĨāļāļāļļāļāļāļĩāđāļāļĢāļ°āļāļāļāļāļ§āļĒāļĢāļēāļĒāļāļēāļĒāđāļĨāļ°āļĢāļēāļĒāļĢāļąāļ āļāļĩāđāđāļāļīāļāļāļķāđāļāļ āļēāļĒāđāļāđāļāļĢāļāļāļēāļĢāļāļāļāļāļąāļ IRR āđāļāļĨāđ āļēāļāļąāļāļāļāļ value āļ āļēāļĒāđāļ array āđāļāļāļēāļĢāđāļāļĢāļāļ§āļēāļĄāļŦāļĄāļēāļĒāļĨāđ āļēāļāļąāļāļāļāļāļĢāļēāļĒāļāļēāļĒāđāļĨāļ°āļĢāļēāļĒāļĢāļąāļ āļāļąāļāļāļąāđāļāļāļķāļāļāļāļāļĄāļąāđāļāđāļāļ§āļēāļĢāļēāļĒāļāļēāļĒāđāļĨāļ°āļĢāļēāļĒāļĢāļąāļāļāļĒāļđāđāļāļĨāđ āļēāļāļąāļāļāļĩāđāļāļđāļāļāļāļ āļāļĢāļ°āđāļŠāđāļāļīāļāļŠāļāļŠāđ āļēāļŦāļĢāļąāļāđāļāļĨāļ°āļāļ§āļāđāļĄāļāđ āļēāđāļāļāļāļāļāļāļāļāļĩāđāļāļāļāļāļąāļ IRR āļāđ āļēāļāđ āļēāļāļ§āļāđāļāļāļāđāđ āļē (iteration) āđāļāļĒāđāļĢāļīāđāļĄāļāļēāļāļāļēāļāļāļ guess āđāļāļĒāļāļāļāļāļąāļ IRR āļāļ°āļāđ āļēāļāļ§āļāļāļāļāļĢāļ°āļāļąāđāļāđāļāļāļēāđāļĄāļāļĒāđ āļēāļ āļēāļĒāđāļ 0.00001% āļāļēāļāļāļāļāļąāļ IRR āđāļĄāļŠāļēāļĄāļēāļĢāļāļŦāļēāđāļāļ āļēāļĒāđāļ 20 āļĢāļāļ āļāļ°āđāļĄāļŠāļēāļĄāļēāļĢāļāļŦāļēāļāđ āļēāļāļāļāđāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ DDB, āļāļāļāļāļąāļ FV, āļāļāļāļāļąāļ MIRR, āļāļāļāļāļąāļ NPer, āļāļāļāļāļąāļ NPV, āļāļāļāļāļąāļ Pmt, āļāļāļāļāļąāļ PPmt, āļāļāļāļāļąāļPV, āļāļāļāļāļąāļ Rate, āļāļāļāļāļąāļ SLN, āļāļāļāļāļąāļ SYD
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ IRR āđāļāļāļēāļĢāļŠāļāļāļāļāļāļēāļāļąāļāļĢāļēāļāļĨāļāļāļāđāļāļāļ āļēāļĒāđāļāļŠāđ āļēāļŦāļĢāļąāļāļāļĢāļ°āđāļŠāđāļāļīāļāļŠāļ 5 āļāļ§āļāļāļĩāđāđāļāđāļāđāļ array āļāļ·āđāļ Values() āđāļāļĒāļŠāļĄāļēāļāļīāļāđāļĢāļāļāļāļ array āđāļāļāļāļēāļĨāļāđāļāļ·āđāļāļāļēāļĢāđāļāļāļēāļĒāđāļāļāļąāļāļāļąāđāļāļāļļāļĢāļāļīāļ āļāļĢāļ°āđāļŠāđāļāļīāļāļŠāļāļāļĩāđāđāļŦāļĨāļ·āļāļāļĩāļ 4 āļāļ§āļāđāļāļāļāļēāļāļ§āļāđāļāļ·āđāļāđāļŠāļāļāļāļĢāļ°āđāļŠāđāļāļīāļāđāļ 4 āļ guess āļāđ āļēāļĄāļēāđāļāđāļāļāļēāļĢāļāļĢāļ°āļĄāļēāļāļāļē IRR
widebase.net âVBA References
69
Dim Guess, Fmt, RetRate, MsgStatic Values(5) As Double ' āļāđ āļēāļŦāļāļ array.
Guess = .1 ' guess āđāļĢāļĄāļīāļāļāļāđāļĩ 10%Fmt = "#0.00" ' āļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļāļāļēāļĢāđāļāļīāļValues(0) = -70000 ' āļāļēāđāļāļāļēāļĒāđāļāļāļąāļāļāļąāđāļāļāļļāļĢāļāļīāļ
' āļāļĢāļ°āđāļŠāđāļāļāļīāļŠāļāđāļāļāļāļ§āļāđāļŠāļāļāļĢāļēāļĒāļĢāļąāļ 4 āļāđāļāļāļēāļĢāļāđ āļēāļāļļāļĢāļāļīāļValues(1) = 22000 : Values(2) = 25000Values(3) = 28000 : Values(4) = 31000RetRate = IRR(Values(), Guess) * 100 ' āļāļēāļĢāļāđ āļēāļāļ§āļ IRR
Msg = "The internal rate of return for these five cash flows is "Msg = Msg & Format(RetRate, Fmt) & " percent."MsgBox Msg ' āđāļŠāļāļāļāļē IRR
IsArray FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Boolean āđāļāļ·āđāļāļāļĢāļ§āļāļāļąāļ§āđāļāļĢāđāļāļ array āļŦāļĢāļ·āļāđāļĄ
āđāļ§āļĒāļēāļāļĢāļIsArray(varname)āļāļēāļāļīāļ§āđāļĄāļāļ varname āļāļāļāļāļāļāļāļąāļāđāļāļāļāļēāļĢāļĢāļ°āļāļļāļāļąāļ§āđāļāļĢ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļāļāļāļąāļ IsArray āļŠāļāļāļāļāļāļēāđāļāļ True āļāļēāļāļąāļ§āđāļāļĢāđāļāļ array āļāļĢāļāļĩāļāļ·āđāļāđ āļŠāļāļāļēāđāļāļ False
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Array, āļāļāļāļāļąāļ IsDate, āļāļāļāļāļąāļ IsEmpty, āļāļāļāļāļąāļ IsError, āļāļāļāļāļąāļ IsMissing, āļāļāļāļāļąāļ IsNull,āļāļāļāļāļąāļ IsNumeric, āļāļāļāļāļąāļ IsObject, āļāļāļāļāļąāļ TypeName, āļāļāļāļāļąāļ VarType, āļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ IsArray āđāļāļ·āđāļāļāļĢāļ§āļāļŠāļāļāļāļąāļ§āđāļāļĢāļāļĩāđāđāļāļ array
Dim MyArray(1 To 5) As Integer, YourArray, MyCheck ' āļāļĢāļ°āļāļēāļĢāļāļąāļ§āđāļāļĢ arrayYourArray = Array(1, 2, 3) ' āđāļāļāļāļāļāļąāļ IsArrayMyCheck = IsArray(MyArray) ' āļŠāļāļāļāļāļāļēāđāļāļ TrueMyCheck = IsArray(YourArray) ' āļŠāļāļāļāļāļāļēāđāļāļ True
IsDate FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Boolean āđāļāļ·āđāļāļāļĢāļ§āļāļŠāļāļāļ§āļē expression āļŠāļēāļĄāļēāļĢāļāđāļāļĨāļāđāļāļāļ§āļąāļāļāļĩāđāđāļāļŦāļĢāļ·āļāđāļĄ
āđāļ§āļĒāļēāļāļĢāļIsDate(expression)
widebase.net âVBA References
70
āļāļēāļāļīāļ§āđāļĄāļāļ expression āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant āļāļĩāđāđāļāđāļāļāļē expression āđāļāļāļ§āļąāļāļāļĩāđāļŦāļĢāļ·āļāļāļāļāļ§āļēāļĄāļāļĩāđāļĢāļąāļāļĢāļđāđāļāļ āļ§āļąāļāļŦāļĢāļ·āļāđāļ§āļĨāļē
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļāļāļāļąāļ IsDate āļŠāļāļāļāļāļāļēāđāļāļ True āļāļē expression āđāļāļāļ§āļąāļāļāļĩāđāļŦāļĢāļ·āļāļŠāļēāļĄāļēāļĢāļāđāļāļĨāļāļ§āļąāļāļāļĩāđāđāļ āļāļĢāļāļĩāļāļ·āđāļāđ āļŠāļāļāļēāđāļāļ False āđāļ Microsoft Access āļ§āļąāļāļāļĩāđāļāļĩāđāļĄāļĩāļāļĢāļīāļ āļāļ·āļ āļāļ§āļāļĢāļ°āļŦāļ§āļēāļ 1 āļĄāļāļĢāļēāļāļĄ āļ.āļĻ. 100 āļāļķāļ 31 āļāļąāļāļ§āļēāļāļĄ āļ.āļĻ. 9999
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Array, āļāļāļāļāļąāļ IsArray, āļāļāļāļāļąāļ IsEmpty, āļāļāļāļāļąāļ IsError, āļāļāļāļāļąāļ IsMissing, āļāļāļāļāļąāļ IsNull,āļāļāļāļāļąāļ IsNumeric, āļāļāļāļāļąāļ IsObject, āļāļāļāļāļąāļ TypeName, āļāļāļāļāļąāļ VarType, āļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variantāļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ IsDate āđāļāļāļēāļĢāļŦāļēāļ§āļē expression āļŠāļēāļĄāļēāļĢāļāđāļāļĨāļāļāļēāđāļāļāļ§āļąāļāļŦāļĢāļ·āļāđāļĄ
Dim MyDate, YourDate, NoDate, MyCheckMyDate = "February 12, 1969": YourDate = #2/12/69#: NoDate = "Hello"MyCheck = IsDate(MyDate) ' āļŠāļāļāļāļāļāļēāđāļāļ TrueMyCheck = IsDate(YourDate) ' āļŠāļāļāļāļāļāļēāđāļāļ TrueMyCheck = IsDate(NoDate) ' āļŠāļāļāļāļāļāļēāđāļāļ True
āļāļąāļ§āļāļĒāļēāļāļāļĢāļ°āļĒāļļāļāļāđāļ Accessāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ IsDate āđāļāļāļēāļĢāļŦāļēāļ§āļē expression āļŠāļēāļĄāļēāļĢāļāđāļāļĨāļāļāļēāđāļāļāļ§āļąāļāļŦāļĢāļ·āļāđāļĄ āđāļĨāļ§āđāļŠāļāļāļāļē
Sub CheckDate() Dim strDate As String strDate = InputBox("Enter string to display as a date.") ' āļāļāļŠāļāļāļāļąāļ§āđāļāļĢ If IsDate(strDate) Then 'āļāļēāļāļ§āļąāđāļāļĢāđāļāļāļ§āļąāļāļāđāļĩ āļāļąāļāļĢāļđāļāđāļāļāđāļĨāļ°āđāļŠāļāļāļāļāļāļ§āļēāļĄ MsgBox "The date is: " & Format(DateValue(strDate), "Long Date") Else MsgBox "The value you entered is not a date." End IfEnd Sub
IsEmpty FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Boolean āđāļāļ·āđāļāļāļĢāļ§āļāļŠāļāļāļ§āļēāļāļąāļ§āđāļāļĢāļĄāļĩāļāļēāđāļāđāļŦāļĢāļ·āļāđāļĄ
āđāļ§āļĒāļēāļāļĢāļIsEmpty(expression)āļāļēāļāļīāļ§āđāļĄāļāļ expression āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant āļāļĩāđāđāļāđāļāļāļē expression āđāļāļāļāļąāļ§āđāļĨāļāļŦāļĢāļ·āļāļāļāļāļ§āļēāļĄ
āđāļāļ·āđāļāļāļāļēāļāļāļāļāļāļąāļ IsEmpty āđāļāđāļāļāļēāļĢāļŦāļēāļāļēāđāļāđāļāļāļāļāļąāļ§āđāļāļĢ āļāđ āļēāđāļŦāļāļēāļāļīāļ§āđāļĄāļāļāļāļāļāļāļąāļ§āđāļāļĢāļĄāļąāļāļāļ°āđāļāļāļāļąāļ§āđāļāļĢāđāļāļĩāđāļĒāļ§
widebase.net âVBA References
71
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļāļāļāļąāļ IsEmpty āļŠāļāļāļāļāļāļēāđāļāļ True āļāļēāļāļąāļ§āđāļāļĢāđāļĄāļĄāļĩāļāļēāļĄāļēāļāļāļ āļŦāļĢāļ·āļāļāđ āļēāļŦāļāļāđāļāļ Empty āļāļĢāļāļĩāļāļ·āđāļāđ āļŠāļāļāļēāđāļāļ False āđāļāļĒāļāļē False āļāļ°āļŠāļāļāļāļāļāļē expression āđāļāđāļāļāļēāļĄāļēāļāļāļ§āļē 1 āļāļąāļ§āđāļāļĢ āļāļāļāļāļąāļ IsEmpty āļāļ°āđāļŦāļŠāļēāļĢāļŠāļāđāļāļĻāđāļāļāļĩāļāļąāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Array, āļāļāļāļāļąāļ IsArray, āļāļāļāļāļąāļ IsDate, āļāļāļāļāļąāļ IsError, āļāļāļāļāļąāļ IsMissing, āļāļāļāļāļąāļ IsNull, āļāļāļāļāļąāļIsNumeric, āļāļāļāļāļąāļ IsObject, āļāļāļāļāļąāļ TypeName, āļāļāļāļāļąāļ VarType, āļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ IsEmpty āđāļāļāļēāļĢāļŦāļēāļāļēāđāļāđ
Dim MyVar, MyCheckMyCheck = IsEmpty(MyVar) ' āļŠāļāļāļāļāļāļēāđāļāļ TrueMyVar = Null ' āļāđ āļēāļŦāļāļāļāļē NullMyCheck = IsEmpty(MyVar) ' āļŠāļāļāļāļāļāļēāđāļāļ FalseMyVar = Empty ' āļāđ āļēāļŦāļāļāļāļē EmptyMyCheck = IsEmpty(MyVar) ' āļŠāļāļāļāļāļāļēāđāļāļ True
IsError FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Boolean āđāļāļ·āđāļāļāļĢāļ§āļāļŠāļāļāļ§āļē expression āđāļāļāļāļēāļāļīāļāļāļĨāļēāļāļŦāļĢāļ·āļāđāļĄ
āđāļ§āļĒāļēāļāļĢāļIsError(expression)āļāļēāļāļīāļ§āđāļĄāļāļ expression āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant āļāļāļ VarType vbError
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļēāļāļīāļāļāļĨāļēāļāđāļāļĢāļąāļāļāļēāļĢāļŠāļĢāļēāļāļāļ§āļĒāđāļĨāļāļāđ āļēāļāļ§āļāļāļĢāļīāļāđāļĨāļ§āđāļāļĨāļāđāļāļāļāļēāļāļīāļāļāļĨāļēāļāļāļ§āļĒāļāļāļāļāļąāļ CVError āļāļķāđāļāļāļāļāļāļąāļ IsError āļŠāļēāļĄāļēāļĢāļāđāļāđāļāļāļēāļĢāļŦāļēāļāļēāđāļāļāļē expression āļāļāļāļāļąāļ§āđāļĨāļāđāļŠāļāļāļāļēāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļāđāļ āļāļāļāļāļąāļ IsError āļŠāļāļāļāļāļāļēāđāļāļ True āļāļēāļāļēāļāļīāļ§āđāļĄāļāļ expression āļāļĩāđāļāļēāļāļīāļāļāļĨāļēāļ āļāļĢāļāļĩāļāļ·āđāļāđ āļāļāļāļāļąāļ Empty āļāļ°āđāļŦāļŠāļēāļĢāļŠāļāđāļāļĻāđāļāļāļĩāļāļąāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant āļāļāļ VarType vbError
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Array, āļāļāļāļāļąāļ IsArray, āļāļāļāļāļąāļ IsDate, āļāļāļāļāļąāļ IsEmpty, āļāļāļāļāļąāļ IsMissing, āļāļāļāļāļąāļ IsNull,āļāļāļāļāļąāļ IsNumeric, āļāļāļāļāļąāļ IsObject, āļāļāļāļāļąāļ TypeName, āļāļāļāļāļąāļ VarType, āļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant
widebase.net âVBA References
72
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ IsError āđāļāļ·āđāļāļāļĢāļ§āļāļŠāļāļāļāļē expression āļāļąāļ§āđāļĨāļāļāļĩāđāđāļāļāļāļēāļāļīāļāļāļĨāļēāļ āđāļāļĒāļāļāļāļāļąāļ CVErr āđāļāđāļāļāļēāļĢāļŠāļāļāļāļ Error Variant āļāļĩāđāļāļđāđāļāļāđ āļēāļŦāļāļāđāļāļ āļāļķāđāļāļŠāļĄāļĄāļāļīāđāļŦāļāļ·āđāļāļ§āļē UserFunction āļāļēāļĄāļāļąāļ§āļāļĒāļēāļāđāļŦāļāļēāļāļēāļāļāļāļāļāļąāļ UserFunction āļāļ§āļĒāļāļē = CVErr(32767) āđāļāļĒāļāļĩāđ 32767 āđāļāļāļŦāļĄāļēāļĒāđāļĨāļāļāļĩāđāļāļđāđāļāļāđ āļēāļŦāļāļ
Dim ReturnVal, MyCheckReturnVal = UserFunction()MyCheck = IsError(ReturnVal) ' āļŠāļāļāļāļāļāļēāđāļāļ True
IsMissing FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Boolean āđāļāļ·āđāļāļāļĢāļ§āļāļŠāļāļāļ§āļēāļāļēāļāļīāļ§āđāļĄāļāļ optional variant āļĄāļĩāļāļēāļĢāļŠāļāļāļēāļāļąāļ§āđāļāļĢāļāļēāļāđāļāļĒāļąāļ procedure āļŦāļĢāļ·āļāđāļĄ
āđāļ§āļĒāļēāļāļĢāļIsMissing(argument)āļāļēāļāļīāļ§āđāļĄāļāļ argument āđāļāļāļāļēāļāļīāļ§āđāļĄāļāļ āļāļĩāđāđāļāđāļāļāđāļ·āļ optional variant āļāļāļāļāļēāļāļīāļ§āđāļĄāļāļāđāļ procedure
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļāļāļāļąāļ IsMissing āđāļāđāļāļ·āđāļāļāļĢāļ§āļāļŠāļāļāļāļēāļāļīāļ§āđāļĄāļāļ optional variant āđāļāļĄāļĩāļāđ āļēāļŦāļāļāļāļēāļāļąāļ§āđāļāļĢ āđāļĄāļ·āđāļāļĄāļĩāļāļēāļĢāđāļĢāļĩāļĒāļāđāļ procedure āļŦāļĢāļ·āļāđāļĄ āļāļāļāļāļąāļ IsMissing āļŠāļāļāļāļāļāļēāđāļāļ True āļāļēāđāļĄāļĄāļĩāļāļēāļĢāļāđ āļēāļŦāļāļāļāļēāļāļīāļ§āđāļĄāļāļ āļāļĢāļāļĩāļāļ·āđāļāđ āļŠāļāļāļēāđāļāļ False āļāļēāļāļāļāļāļąāļ IsMissing āļŠāļāļāļēāļŠāđ āļēāļŦāļĢāļąāļāļāļēāļāļīāļ§āđāļĄāļāļāđāļāļ True āļāļ°āļāđ āļēāđāļŦāļāļđāđāļāļŠāļēāļĄāļēāļĢāļāļāđ āļēāļŦāļāļāļĢāļŦāļąāļŠāļāļāļāļŠāļēāđāļŦāļāļļāđāļāđāļāļ āļāļēāļāļāļāļāļąāļ IsMissing āđāļāļāļąāļāļāļēāļāļīāļ§āđāļĄāļāļ ParamArray āļāļ°āļŠāļāļāļēāđāļāļ False āđāļŠāļĄāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Array, āļāļāļāļāļąāļ IsArray, āļāļāļāļāļąāļ IsDate, āļāļāļāļāļąāļ IsEmpty, āļāļāļāļāļąāļ IsError, āļāļāļāļāļąāļ IsNull, āļāļāļāļāļąāļIsNumeric, āļāļāļāļāļąāļ IsObject, āļāļāļāļāļąāļ TypeName, āļāļāļāļāļąāļ VarType, āļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļāļāļāļąāļ IsMissing āđāļāđāļāļ·āđāļāļāļĢāļ§āļāļŠāļāļāļāļēāļāļīāļ§āđāļĄāļāļ optional variant āđāļāļŠāļāļāļēāļāļāļēāđāļāļĒāļąāļ procedure āļāļĩāđāļāļđāđāļāļāđ āļēāļŦāļāļāđāļāļāļŦāļĢāļ·āļāđāļĄ āļŦāļĄāļēāļĒāđāļŦāļāļļ āļāļēāļāļīāļ§āđāļĄāļāļāđāļāļ Optional āļŠāļēāļĄāļēāļĢāļāđāļāļāđāļāļāļēāļĄāļāļēāļāđ āļēāļŦāļāļāđāļĢāļīāđāļĄāļāļ āļŦāļĢāļ·āļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāļāļ·āđāļāļāļāļāļāļēāļ Variant.
Dim ReturnValue' āļ āđāļēāļŠāđāļąāļāđāļĢāļĩāļĒāļāđāļ procedure āļāđāļĩāļāļđāđāļāļāđ āļēāļŦāļāļReturnValue = ReturnTwice() ' āļŠāļāļāļāļāļāļēāđāļāļ NullReturnValue = ReturnTwice(2) ' āļŠāļāļāļāļāļāļēāđāļāļ 4
Function ReturnTwice(Optional A) ' Function procedure āļāđāļĩāļāđ āļēāļŦāļāļāđāļāļ If IsMissing(A) Then ReturnTwice = Null ' āļāļēāļāļēāļāļīāļ§āđāļĄāļāļāļŦāļēāļĒāđāļ āļŠāļāļāļāļāļāļē Null Else ReturnTwice = A * 2 ' āļāļēāļāļēāļāļīāļ§āđāļĄāļāļāļŠāļāļĄāļē āđāļŦāļŠāļāļāļāļāļāļēāđāļāļ 2 āđāļāļē End IfEnd Function
widebase.net âVBA References
73
IsNull FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Boolean āđāļāļ·āđāļāļāļĢāļ§āļāļŠāļāļāļ§āļē expression āđāļāļāļāļēāļ§āļēāļ (Null) āļŦāļĢāļ·āļāđāļĄ
āđāļ§āļĒāļēāļāļĢāļIsNull(expression)āļāļēāļāļīāļ§āđāļĄāļāļ expression āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant āļāļĩāđāđāļāđāļāļāļē expression āđāļāļāļāļąāļ§āđāļĨāļāļŦāļĢāļ·āļāļāļāļāļ§āļēāļĄ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļāļāļāļąāļ IsNull āļŠāļāļāļāļāļāļēāđāļāļ True āļāļē expression āđāļāļāļāļēāļ§āļēāļ (Null) āļāļĢāļāļĩāļāļ·āđāļāđ āļŠāļāļāļēāđāļāļ False āļāļē expression āđāļāđāļāļāļēāļĄāļēāļāļāļ§āļē 1 āļāļąāļ§āđāļāļĢ āļāļ°āļāđ āļēāđāļŦāļāļāļāļāļąāļ IsNull āļŠāļāļāļēāđāļāļ Trueāļāļēāļ§āļēāļ (Null) āđāļāļāļāļēāļĢāļāļĩāđāļ§āļēāļāļąāļ§āđāļāļĢāđāļĄāļĄāļĩāļāļē āđāļ Null āļāļēāļāļāļēāļ Empty āđāļāļĒ Empty āđāļāļāļāļēāļĢāđāļŠāļāļāļ§āļēāļāļąāļ§āđāļāļĢāļĒāļąāļāđāļĄāđāļāļĄāļĩāļāļēāļĢāļāđ āļēāļŦāļāļāļāļē āļāļķāđāļāļāļēāļāļāļēāļ zero-length string (ââ) āļāļĩāđāļāļēāļāļāļĢāļąāđāļāļāļēāļāđāļāļāļāļē NullāļŦāļĄāļēāļĒāđāļŦāļāļļāļāļēāļĢāđāļāļāļāļāļāļąāļ IsNull āđāļāļāļēāļĢāļŦāļēāļāļēāļ§āļēāļ (Null) āđāļ expression āļāļēāļāļŠāļ āļēāļāđāļ§āļāļĨāļāļĄ expression āļāļĩāđāļāđ āļēāļĄāļēāļāļĢāļ§āļāļŠāļāļāļāļē āđāļāļ If Var = Null āđāļĨāļ° If Var <> Null āļāļąāđāļāļāļ°āđāļŦāļāļē False āđāļŠāļĄāļ āđāļāļĢāļēāļ° expression āļāļĩāđāđāļāđāļāđāļāļāļāļē NullāđāļĨāļ°āļāļąāļ§āđāļāļāđāļāļ Null āļāļķāļāđāļŦāļāļē False
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ IsArray, āļāļāļāļāļąāļ IsDate, āļāļāļāļāļąāļ IsEmpty, āļāļāļāļāļąāļ IsError, āļāļāļāļāļąāļ IsMissing, āļāļāļāļāļąāļ IsNumeric,āļāļāļāļāļąāļ IsObject, āļāļāļāļāļąāļ TypeName, āļāļāļāļāļąāļ VarType, āļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļāļāļāļąāļ IsNull āđāļāđāļāļāļēāļĢāļŦāļēāļāļēāļāļēāļāļąāļ§āđāļāļĢāļĄāļĩāļāļēāđāļāļ Null
Dim MyVar, MyCheckMyCheck = IsNull(MyVar) ' āļŠāļāļāļāļāļāļēāđāļāļ FalseMyVar = ""MyCheck = IsNull(MyVar) ' āļŠāļāļāļāļāļāļēāđāļāļ FalseMyVar = NullMyCheck = IsNull(MyVar) ' āļŠāļāļāļāļāļāļēāđāļāļ True
āļāļąāļ§āļāļĒāļēāļāļāļāļāļāļąāļ IsNull āđāļāđāļāļāļēāļĢāļŦāļēāļāļēāļāļēāļāļąāļ§āđāļāļĢāļĄāļĩāļāļēāđāļāļ Null āļŦāļĢāļ·āļāđāļĄ āđāļāļĒāļāļēāđāļāļāļāļē Null āđāļŦāđāļŠāļāļāļāļāļāļ§āļēāļĄ āđāļāļāļēāļāļēāđāļĄāđāļāļ Null āđāļŦāđāļŠāļāļāļāļē
Sub ControlValue(ctlText As Control) Dim strMsg As String If ctlText.ControlType = acTextBox Then ' āļāļĢāļ§āļāļŠāļāļāļ§āļēāļāļąāļ§ control āđāļāļ text box If IsNull(ctlText.Value) Then ' āļāļēāļāļēāļāļąāļ§ control āđāļāļ Null āđāļĨāļ°āļāļāļāļ§āļēāļĄ strMsg = "No data in the field '" & ctlText.Name _ & "'." & vbCrLf & "Please enter data for this field now." If MsgBox(strMsg, vbQuestion) = vbOK Then Exit Sub End If Else
widebase.net âVBA References
74
MsgBox (ctlText.Value) ' āļāļēāļāļēāđāļĄāđāļāļ Null āđāļŦāđāļŠāļāļāļāļē End If End IfEnd Sub
IsNumeric FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Boolean āđāļāļ·āđāļāļāļĢāļ§āļāļŠāļāļāļ§āļē expression āđāļāļāļāļēāļāļąāļ§āđāļĨāļāļŦāļĢāļ·āļāđāļĄ
āđāļ§āļĒāļēāļāļĢāļIsNumeric(expression)āļāļēāļāļīāļ§āđāļĄāļāļ expression āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant āļāļĩāđāđāļāđāļāļāļē expression āđāļāļāļāļąāļ§āđāļĨāļāļŦāļĢāļ·āļāļāļāļāļ§āļēāļĄ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļāļāļāļąāļ IsNumeric āļŠāļāļāļāļāļāļēāđāļāļ True āļāļē expression āļŠāļēāļĄāļēāļĢāļāļĢāļąāļāļĢāļđāļ§āļēāđāļāļāļāļąāļ§āđāļĨāļ āļāļĢāļāļĩāļāļ·āđāļāđ āļŠāļāļāļēāđāļāļ Falseāļāļāļāļāļąāļ IsNumeric āļŠāļāļāļēāđāļāļ False āļāļē expression āđāļāļ expression āļāļāļāļ§āļąāļāļāļĩāđ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ IsArray, āļāļāļāļāļąāļ IsDate, āļāļāļāļāļąāļ IsEmpty, āļāļāļāļāļąāļ IsError, āļāļāļāļāļąāļ IsMissing, āļāļāļāļāļąāļ IsNull,āļāļāļāļāļąāļ IsObject, āļāļāļāļāļąāļ TypeName, āļāļāļāļāļąāļ VarType, āļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļāļāļāļąāļ IsNumeric āđāļāđāļāļāļēāļĢāļŦāļēāļāļēāļāļēāļāļąāļ§āđāļāļĢāļŠāļēāļĄāļēāļĢāļāļāļĢāļ§āļāļāļēāđāļāļāļāļąāļ§āđāļĨāļ
Dim MyVar, MyCheckMyVar = "53" ' āļāđ āļēāļŦāļāļāļāļēMyCheck = IsNumeric(MyVar) ' āļŠāļāļāļāļāļāļēāđāļāļ TrueMyVar = "459.95" ' āļāđ āļēāļŦāļāļāļāļēMyCheck = IsNumeric(MyVar) ' āļŠāļāļāļāļāļāļēāđāļāļ TrueMyVar = "45 Help" ' āļāđ āļēāļŦāļāļāļāļēMyCheck = IsNumeric(MyVar) ' āļŠāļāļāļāļāļāļēāđāļāļ False
IsObject FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Boolean āđāļāļ·āđāļāļāļĢāļ§āļāļŠāļāļāļ§āļē identifier āđāļāļāļāļāļāđāļāļāļŦāļĢāļ·āļāđāļĄ
āđāļ§āļĒāļēāļāļĢāļIsObject(identifier)āļāļēāļāļīāļ§āđāļĄāļāļ identifier āļāļāļāļāļēāļĢāļāļ·āđāļāļāļāļāļāļąāļ§āđāļāļĢ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļāļāļāļąāļ IsObject āđāļāļāļĢāļ°āđāļĒāļāļāđāļāļāļēāļĢāļŦāļēāļāļēāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant āļāļāļ VarType vbObject āļāļķāđāļāļāļ°āđāļāļīāļāļāļķāđāļāđāļĄāļ·āđāļāļāļąāļ§āđāļāļĢāļāļēāļāļāļķāļāļāļāļāđāļāļ āļŦāļĢāļ·āļ Nothing
widebase.net âVBA References
75
āļāļāļāļāļąāļ IsObject āļŠāļāļāļāļāļāļēāđāļāļ True āļāļē identifier āđāļāļāļāļąāļ§āđāļāļĢāļāļĩāđāļāļĢāļ°āļāļēāļĻāđāļāļāļāļāļāđāļāļ āļŦāļĢāļ·āļāļāļĢāļ°āđāļ āļāļāļāļ classāļāļĩāđāļĄāļĩāļāļĒāļđ āļŦāļĢāļ·āļ identifier āļāļĩāđāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant āļāļāļ VarType vbObject āļŦāļĢāļ·āļāļāļāļāđāļāļāļāļĩāđāļāļđāđāļāļāđ āļēāļŦāļāļ āļāļĢāļāļĩāļāļ·āđāļāđ āļŠāļāļāļēāđāļāļ False āđāļĨāļ°āļāļāļāļāļąāļ IsObject āļŠāļāļāļēāđāļāļ True āļāļąāļ§āđāļāļĢāļāđ āļēāļŦāļāļāđāļāļ Nothing
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ IsArray, āļāļāļāļāļąāļ IsDate, āļāļāļāļāļąāļ IsEmpty, āļāļāļāļāļąāļ IsError, āļāļāļāļāļąāļ IsMissing, āļāļāļāļāļąāļ IsNull,āļāļāļāļāļąāļ IsNumeric, āļāļāļāļāļąāļ TypeName, āļāļāļāļāļąāļ VarType, Set Statement, āļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Object, āļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant,
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļāļāļāļąāļ IsObject āđāļāđāļāļāļēāļĢāļŦāļēāļāļē āļāļē identifier āđāļŠāļāļāđāļāļāļāļąāļ§āđāļāļĢāļāļāļāđāļāļ MyObject āđāļĨāļ° YourObject āđāļāļāļāļąāļ§āđāļāļĢāļāļāļāđāļāļāļāļĢāļ°āđāļ āļāđāļāļĩāļĒāļ§āļāļąāļ
Dim MyInt As Integer, YourObject, MyCheck ' āļāļĢāļ°āļāļēāļĻāļāļąāļ§āđāļāļĢDim MyObject As ObjectSet YourObject = MyObject ' āļāđ āļēāļŦāļāļāļāļēāļĢāļāļēāļāļāļīāļāļāļāļāđāļāļMyCheck = IsObject(YourObject) ' āļŠāļāļāļāļāļāļēāđāļāļ TrueMyCheck = IsObject(MyInt) ' āļŠāļāļāļāļāļāļēāđāļāļ False
āļāļąāļ§āļāļĒāļēāļāļāļĢāļ°āļĒāļļāļāļāđāļ Accessāļāļąāļ§āļāļĒāļēāļāļāļāļāļāļąāļ IsObject āđāļāļāļēāļĢāļāļĢāļ§āļāļŠāļāļāļāļēāļāļīāļ§āđāļĄāļāļāļāļĩāđāļŠāļāļāļāļāđāļāļāđāļŦāļāļāļāļāļąāļ
Sub CheckObject(varAny As Variant) Dim varX as Variant If IsObject(varAny) Then Set varX = varAny Else varX = varAny End IfEnd Sub
Kill StatementāļĨāļāđāļāļĨāļāļēāļāļāļīāļŠāļ
āđāļ§āļĒāļēāļāļĢāļKill pathnamepathname āđāļāļāļāļēāļāļīāļ§āđāļĄāļāļāļāļąāļāļāļąāļ āļāļĩāđāđāļāļ string expression āļāļķāđāļāļĢāļ°āļāļļāļāļ·āđāļāđāļāļĨāļāļĩāđāļāļāļāļāļēāļĢāļĨāļ pathname
āļāļēāļāļāļ°āļĢāļ§āļĄāđāļāđāļĢāļāļāļāļĢāļĩāđāļŦāļĢāļ·āļāđāļāļĨāđāļāļāļĢ āđāļĨāļ°āđāļāļĢāļ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļKill āļŠāļāļąāļāļŠāļāļļāļāļāļēāļĢāđāļ * āļŠāđ āļēāļŦāļĢāļąāļāļŦāļĨāļēāļĒāļāļąāļ§āļāļąāļāļĐāļĢ āđāļĨāļ° ? āļŠāđ āļēāļŦāļĢāļąāļāļāļąāļ§āļāļąāļāļĐāļĢāđāļāļĩāļĒāļ§ āđāļāļ·āđāļāļĢāļ°āļāļļāļŦāļĨāļēāļĒāđāļāļĨāļāļēāļāļĒāļēāļĒāļēāļĄāļĨāļāđāļāļĨāļāļĩāđāđāļāļāļāļĒāļđ āļāļ°āđāļāļīāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļ
widebase.net âVBA References
76
āļŦāļĄāļēāļĒāđāļŦāļāļļ āļāļēāļĢāļĨāļāđāļāđāļĢāļāļāļāļĢāļĩ āđāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ RmDir
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ MacID, RmDir Statement
āļāļąāļ§āļāļĒāļēāļ
' āļŠāļĄāļĄāļāđāļīāļŦ TESTFILE āđāļāļāđāļāļĨāļāđāļĩāļĄāļĩāļāļāļĄāļđāļĨKill "TESTFILE" ' āļĨāļāđāļāļĨ' āļĨāļāđāļāļĨ *.txt āļāđāļąāļāļŦāļĄāļāđāļāđāļāđāļĢāļāļāļāļĢāļĩāļāļāļāļļāļāļąāļāđāļ Microsoft WindowKill "*.TXT"
Last Functionāļāļđ First Function
LBound FunctionāļŠāļāļāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Long āļāļĩāđāđāļāļāļāļēāļāļāļĒāļāļĩāđāļŠāļļāļāļŠāđ āļēāļŦāļĢāļąāļāļāļēāļĢāļĢāļ°āļāļļāļĄāļīāļāļīāļāļāļ array
āđāļ§āļĒāļēāļāļĢāļLBound(arrayname [,dimension])āļāļāļāļāļąāļ LBound āļĄāļĩāđāļ§āļĒāļēāļāļĢāļāļāļāļāļŠāļ§āļ āļāļąāļāļāļĩāđ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļarrayname āļāļąāļāļāļąāļ, āđāļāļāļāļ·āđāļāļāļāļāļāļąāļ§āđāļāļĢ array āļāļēāļĄāļĄāļēāļāļĢāļāļēāļāļāļēāļĢāļāļąāđāļāļāļ·āđāļ arraydimension āđāļĄāļāļąāļāļāļąāļ, āļĄāļĩāļāļēāđāļāļ Variant(Long) āļāļķāđāļāđāļāļāđāļĨāļāļāđ āļēāļāļ§āļāđāļāđāļĄāļāļāļāļĄāļīāļāļīāļāļāļāđāļāļāļāļēāļāļĨāļēāļāļāļĩāđāđāļāļĢāļąāļ
āļāļēāļĢāļŠāļāļāļāļ āđāļ 1 āļŠāđ āļēāļŦāļĢāļąāļāļĄāļīāļāļīāļāļĩāđ 1, 2 āļŠāđ āļēāļŦāļĢāļąāļāļĄāļīāļāļīāļāļĩāđ 2 āđāļĨāļ°āļāļāđāļ āļāļēāļĨāļ° dimension āļāļ°āļāđ āļēāļŦāļāļāļāļēāđāļāļ 1
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļāļāļāļąāļ LBound āļāļ°āđāļāļāļēāļāļĢāļ§āļĄāļāļąāļāļāļāļāļāļąāļ UBound āđāļāļ·āđāļāļāļāļŦāļēāļāļāļēāļāļāļāļ array āđāļāļĒāļāļāļāļāļąāļ UBound āđāļāļāļāļŦāļēāļāļāļāđāļāļāļāļēāļāļāļāļāļāļ arrayāļāļāļāļāļąāļ LBound āļŠāļāļāļāļāļāļēāļāļēāļĄāļāļēāļĢāļēāļāļāļĩāđāļŠāđ āļēāļŦāļĢāļąāļ array āļāļąāļ§āļāļĒāļēāļ
DIM A (1 To 100, 0 To 3, -3 To 4)
āļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ āļāļēāļŠāļāļāļāļLBound(A, 1) 1LBound(A, 2) 0LBound(A, 3) -3
widebase.net âVBA References
77
āļāļēāđāļĢāļīāđāļĄāļāļāļāļāļāļāļāļāđāļāļāļĨāļēāļāļŠāđ āļēāļŦāļĢāļąāļāļĄāļīāļāļīāđāļāđ āđāļāļ 0 āļŦāļĢāļ·āļ 1 āļāļķāđāļāļāļąāļāļāļēāļĢāļāļąāđāļāļāļēāļāļāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Option Base āļāļēāļāļāļāļ array āļāļĩāđāļŠāļĢāļēāļāļāļ§āļĒāļāļāļāļāļąāļ Array āļāļ·āļ āļĻāļđāļāļĒ āđāļāđāļĄāļĄāļĩāļāļĨāļāļĢāļ°āļāļāļāļēāļ Option BaseāļĄāļīāļāļīāļāļāļ array āļāļĩāđāļāļąāđāļāļāļēāļāļ§āļĒāļāļēāļĢāđāļ To clause āđāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Dim, Private, Public, ReDim āļŦāļĢāļ·āļ StaticāļŠāļēāļĄāļēāļĢāļāļĄāļĩāļāļē Integer āļāļēāļĄāļāļāļāđāļāļāļāļēāļāļĨāļēāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄDim Statement, Option Base Statement, Private Statement, Public Statement, ReDim Statement,Static Statement, āļāļāļāļāļąāļ UBound
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ LBound āļāļāļŦāļēāļāļēāļāļāļĒāļāļĩāđāļŠāļļāļāļŠāđ āļēāļŦāļĢāļąāļāļāļēāļĢāļĢāļ°āļāļļāļĄāļīāļāļīāļāļāļ array āđāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Option Base āđāļāļĩāļĒāļāļāļąāļāļāļēāļāļēāļāđāļĢāļīāđāļĄāļāļāļāļāļ array āđāļŦāļĄāļĩāļāļēāđāļāļāļĻāļđāļāļĒ
Dim LowerDim MyArray(1 To 10, 5 To 15, 10 To 20)Dim AnyArrya(10)Lower = LBound(MyArray, 1) ' āļŠāļāļāļāļāļāļē 1Lower = LBound(MyArray, 3) ' āļŠāļāļāļāļāļāļē 10Lower = LBound(AnyArray) ' āļŠāļāļāļāļāļāļē 0 āļŦāļĢāļ·āļ 1 āļāļķāđāļāļāļąāļāļāļēāļĢāļāļąāđāļāļāļēāļāļāļ Option Base
āļāļąāļ§āļāļĒāļēāļāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļ Excelāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļĩāļĒāļ element āļāļāļāļĢāļēāļĒāļāļēāļĢāļāļĩāđāđāļāļēāļ°āļāļāđāļāļāļāļĨāļąāļĄāļāđāļĢāļāļāļ Sheet1
listArray = Application.GetCustomListContents(1)For i = LBound(listArray, 1) To Ubound(listArray, 1)
Worksheets("Sheet1").Cells(i, 1).Value = listArray(i)Next i
LCase Function, LCase$ Functionāļāļāļāļāļąāļ LCase āļāļēāļŠāļāļāļāļāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (String) āļāļĩāđāđāļāļĨāļāđāļāļāļāļąāļāļĐāļĢāļāļąāļ§āđāļĨāđāļāļāļāļāļāļąāļ LCase$ āļāļēāļŠāļāļāļāļāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ String āļāļĩāđāđāļāļĨāļāđāļāļāļāļąāļāļĐāļĢāļāļąāļ§āđāļĨāđāļ
āđāļ§āļĒāļēāļāļĢāļLCase(string)LCase$(string)āļāļēāļāļīāļ§āđāļĄāļāļ string āļāļĩāđāļāļāļāļāļēāļĢāđāļāļ Expression āļāļĩāđāđāļāļāļāļĢāļīāļ āļāļē string āđāļāļāļāļēāļ§āļēāļ (Null) āļāļĨāļĨāļąāļāļāļāļ°āđāļāļ
āļāļēāļ§āļēāļ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļāļĨāđāļĩāļĒāļāđāļāļāļēāļ°āļāļąāļāļĐāļĢāļāļąāļ§āđāļŦāļāđāļŦāđāļāļāļāļąāļāļĐāļĢāļāļąāļ§āđāļĨāđāļ āđāļāļĒāļāļąāļāļĐāļĢāļāļąāļ§āđāļĨāđāļāđāļĨāļ°āļāļēāļāļĢāļ°āđāļ āļāļāļ·āđāļāļāļ°āđāļĄāļĄāļĩāļāļēāļĢāđāļāļĨāļĩāđāļĒāļāđāļāļĨāļ
widebase.net âVBA References
78
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ UCase, āļāļāļāļāļąāļ Ucase$
āļāļąāļ§āļāļĒāļēāļāļāļāļāļāļąāļ LCase āļāđ āļēāļĄāļēāđāļāđāļāļāļēāļĢāđāļāļĨāļāļāļąāļ§āļāļąāļāļĐāļĢāđāļŦāđāļāļāļāļąāļāļĐāļĢāļāļąāļ§āđāļĨāđāļ
Dim UpperCase, LowerCaseUpperCase = "Hello World 2000"LowerCase = LCase(UpperCase) ' āļāļĨāļĨāļąāļāļ LowerCase = "hello world 2000"
Left Function, Left$ Functionāļāļāļāļāļąāļ Left āļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (String) āļāļēāļĄāļāđ āļēāļāļ§āļāļāļąāļ§āļāļąāļāļĐāļĢāļāļĩāđāļĢāļ°āļāļļāđāļāļĒāđāļĢāļīāđāļĄāļāļāļāļēāļāļāļēāļāļāļēāļĒāļĄāļ·āļāļāļāļāļāļąāļ Left$ āļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ String āļāļēāļĄāļāđ āļēāļāļ§āļāļāļąāļ§āļāļąāļāļĐāļĢāļāļĩāđāļĢāļ°āļāļļāđāļāļĒāđāļĢāļīāđāļĄāļāļāļāļēāļāļāļēāļāļāļēāļĒāļĄāļ·āļ
āđāļ§āļĒāļēāļāļĢāļLeft(string, length)Left$(string, length)āļāļēāļāļīāļ§āđāļĄāļāļāļāļāļāļāļāļāļāļąāļ Left āļĄāļĩāđāļ§āļĒāļēāļāļĢāļ āļāļąāļāļāļĩāđ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļstring āļāļąāļāļāļąāļ, āđāļāļĒ Expression āļāļāļāļāļāļāļ§āļēāļĄāļāļĩāđāļāļāļāļāļēāļĢāļŠāļāļāļēāļāļēāļāļāļēāļĒ āļāļē string āđāļāļāļāļēāļ§āļēāļ (Null) āļāļĨ
āļĨāļąāļāļāļāļ°āđāļāļāļāļēāļ§āļēāļlength āļāļąāļāļāļąāļ, āđāļāļĒāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāđāļāļ Variant (Long) āļŦāļĢāļ·āļāđāļĨāļāļāđ āļēāļāļ§āļāđāļāđāļĄ āļāļķāđāļ Expression āļāļāļāļāļąāļ§āđāļĨāļ
āđāļāļāļāļēāļĢāļĢāļ°āļāļļāļāđ āļēāļāļ§āļāļāļąāļ§āļāļąāļāļĐāļĢāļāļĩāđāļāļāļāļāļēāļĢāđāļŦāļŠāļāļāļēāļāļāļāļĄāļē āļāļēāđāļāļ 0 āļāļēāļāļĩāđāļŠāļāļāļāļāļāļ°āđāļāļ Zero-legthstring (â â) āļāļēāļāļē length āļĄāļēāļāļāļ§āļēāļŦāļĢāļ·āļāđāļāļēāļāļąāļ string āļāļāļāļ§āļēāļĄāļāļĩāđāļĄāļĩāļāļĒāļđāļāļ°āđāļāļĢāļąāļāļāļēāļĢāļŠāļāļāļāļāļĄāļē
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļēāļāļāļāļāļēāļĢāļŦāļēāļāđ āļēāļāļ§āļāļāļąāļ§āļāļąāļāļĐāļĢāļāļāļāļāļāļāļ§āļēāļĄāđāļŦāđāļāļāļāļāļāļąāļ LenāļŦāļĄāļēāļĒāđāļŦāļāļļ
âĒ āļāļēāļĢāđāļāļāļāļāļāļąāļ LeftB āļāļąāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāđāļāļāļāļāļāļāļāļāļ§āļēāļĄ āļāļēāļĢāļĢāļ°āļāļļāļāļē length āļāļ°āđāļāļāļĢāļ°āļāļļāļāđ āļēāļāļ§āļāđāļāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Len, āļāļāļāļāļąāļ Mid, āļāļāļāļāļąāļ Mid$, āļāļāļāļāļąāļ Right, āļāļāļāļāļąāļ Right$
āļāļąāļ§āļāļĒāļēāļāļāļāļāļāļąāļ Left āļāđ āļēāļĄāļēāđāļāļŠāļāļāļēāļāļāļāļāđ āļēāļāļ§āļāļāļąāļ§āļāļąāļāļĐāļĢāļāļķāđāļāđāļĢāļīāđāļĄāļāļāļāļēāļāļāļēāļāļāļēāļĒ
widebase.net âVBA References
79
Dim anyString, myStranyString = "Hello World"myStr = Left(anyString, 1) ' āļāļĨāļĨāļąāļāļ "H"myStr = Left(anyString, 8) ' āļāļĨāļĨāļąāļāļ "Hello Wo"myStr = Left(anyString, 25) ' āļāļĨāļĨāļąāļāļ "Hello World"
Len FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Long āļāļĩāđāđāļŠāļāļāļāđ āļēāļāļ§āļāļāļąāļ§āļāļąāļāļĐāļĢāļāļāļāļāļāļāļ§āļēāļĄ āļŦāļĢāļ·āļāļāđ āļēāļāļ§āļāđāļāļ
āđāļ§āļĒāļēāļāļĢāļLen(string I varname)āļāļēāļāļīāļ§āđāļĄāļāļāļāļāļāļāļāļāļāļąāļ Len āļĄāļĩāđāļ§āļĒāļēāļāļĢāļ āļāļąāļāļāļĩāđ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļstring āđāļāļ expression āļāļāļāļāļāļāļ§āļēāļĄ āļāļē string āđāļāļāļāļēāļ§āļēāļ (Null) āļāļĨāļĨāļąāļāļāļāļ°āđāļāļāļāļēāļ§āļēāļvarname āđāļāļāļāļ·āđāļāļāļāļāļāļąāļ§āđāļāļĢ āļāļē varname āđāļāļāļāļēāļ§āļēāļ (Null) āļāļĨāļĨāļąāļāļāļāļ°āđāļāļāļāļēāļ§āļēāļ āļāļē varname āļĄāļĩāļāļĢāļ°āđāļ āļ
āļāļāļĄāļđāļĨāđāļāļ Variant āļāļāļāļāļąāļ Len āļāļ°āļāļāļīāļāļąāļāļīāđāļŦāļĄāļ·āļāļāđāļāļāļāļāļāļ§āļēāļĄ āđāļĨāļ°āļāļ°āļŠāļāļāļēāļāđ āļēāļāļ§āļāļāļąāļ§āļāļąāļāļĐāļĢāļŦāļĄāļēāļĒāđāļŦāļāļļ
âĒ āļāļēāļĢāđāļāļāļāļāļāļąāļ LenB āļāļąāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāđāļāļāļāļāļāļāļāļāļ§āļēāļĄ āļāļ°āļŠāļāļāļēāđāļāļāļāđ āļēāļāļ§āļāđāļāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ InStr
āļāļąāļ§āļāļĒāļēāļāļāļāļāļāļąāļ Len āļāļēāļāļĩāđāļŠāļāļāļāļāđāļāļāļāļąāļ§āđāļĨāļ āļāļĩāđāđāļŠāļāļāļāđ āļēāļāļ§āļāļāļąāļ§āļāļąāļāļĐāļĢāļāļāļāļāļāļāļ§āļēāļĄ āļŦāļĢāļ·āļāļāđ āļēāļāļ§āļāđāļāļ
Type CustomerRecord ' āļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāļāļĩāđāļāļđāđāļāļāđ āļēāļŦāļāļID As IntegerName As String * 10Address As String * 30
End Type
Dim Customer As CustomerRecordDim myInt As Integer, myCur As CurrencyDim myString, myLen
myString = "Hello World"myLen = Len(myInt) ' āļāļĨāļĨāļąāļāļ myLen = 2myLen = Len(Customer) ' āļāļĨāļĨāļąāļāļ myLen = 42myLen = Len(myString) ' āļāļĨāļĨāļąāļāļ myLen = 11myLen = Len(myCur) ' āļāļĨāļĨāļąāļāļ myLen = 8
widebase.net âVBA References
80
Line Input # Statementāļāļēāļāđāļāļ§āđāļāļĩāļĒāļ§āļāļēāļāđāļāļĨ Sequential āļāļĩāđāđāļāļ āđāļĨāļ°āļāđ āļēāļŦāļāļāļāļēāđāļŦāļāļąāļ§āđāļāļĢ String
āđāļ§āļĒāļēāļāļĢāļLine Input # filenumber, varnameāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Line Input # āļĄāļĩāđāļ§āļĒāļēāļāļĢāļāļŠāļ§āļāļāļąāļāļāļĩāđ
āļŠāļ§āļ āļāđ āļēāļāļāļīāļāļēāļĒFilenumber āļāļąāļāļāļąāļ, āđāļāļāļŦāļĄāļēāļĒāđāļĨāļāđāļāļĨVarname āļāļąāļāļāļąāļ, āļāļ·āđāļāļāļąāļ§āđāļāļĢ Variant āļŦāļĢāļ·āļ String
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļāļĄāļđāļĨāļāļĩāđāļāļēāļāļāļ§āļĒ Line Input # āļĄāļąāļāļāļ°āđāļāļĩāļĒāļāļĨāļāđāļāļĨāļāļ§āļĒ Print #āļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Line Input # āļāļēāļāļāļēāļāđāļāļĨāļāļĩāļĨāļ° 1 āļāļąāļ§āļāļąāļāļĐāļĢ āļāļāļāļĢāļ°āļāļąāđāļāļāļ carriage return (Chr(13)) āļŦāļĢāļ·āļ carriage return - linefeed (Chr(13) + Chr(10))
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Chr, Input # Statement
āļāļąāļ§āļāļĒāļēāļDim TextLineOpen "TESTFILE" For Input As #1 ' āđāļāļāđāļāļĨāļŠāđ āļēāļŦāļĢāļąāļ InputDo While Not EOF(1) ' āļāļēāļāļāļāļŠāļīāđāļāļŠāļļāļāđāļāļĨ Input #1, TextLine ' āļāļēāļāļāļĢāļĢāļāļąāļāđāļāļēāļŠāļđāļāļąāļ§āđāļāļĢ Debug.Print TextLine ' āļāļĄāļīāļāđāļ Debug windowLoopClose #1 ' āļāļāđāļāļĨ
Load StatementāđāļŦāļĨāļāļāļāļāđāļāļ āđāļāļāļ°āđāļĄāđāļŠāļāļāļāļāļāļĄāļē
āđāļ§āļĒāļēāļāļĢāļLoad objectobject āđāļŠāļāļāļāļ§āļĒ object expression āļāļĩāđāļāļĢāļ°āđāļĄāļīāļāļāļāļāđāļāļāļāļĩāđāļāļĢāļ°āļĒāļļāļāļāđāļāļēāļŠāļđāļĢāļēāļĒāļāļēāļĢ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļĄāļ·āđāļāđāļŦāļĨāļāļāļāļāđāļāļ āđāļāļāļāļēāļĢāļ§āļēāļāļāļāļāđāļāļāđāļ§āđāļāļŦāļāļ§āļĒāļāļ§āļēāļĄāļāđ āļē āđāļāļĄāļāļāđāļĄāđāļŦāđāļ āđāļāđāļĄāļāļāļ Show āđāļāļ·āđāļāļāđ āļēāđāļŦāļĄāļāļāđāļŦāđāļāļāļāļāđāļāļ āļāļđāđāļāđāļĄāļŠāļēāļĄāļēāļĢāļāļāļīāļāļāļāļāļąāļāļāļāļāđāļāļāļāļāļāļ§āļēāļĄāļāļāđāļŦāđāļ āļāļāļāđāļāļāļŠāļēāļĄāļēāļĢāļāļāļ§āļāļāļļāļĄāļāļ§āļĒāđāļāļĢāđāļāļĢāļĄāđāļ Initialize event procedure
widebase.net âVBA References
81
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄActivate Event, Deactivate Event, āđāļĄāļāļāļ Hide, āļāļļāļāļŠāļĄāļāļąāļāļī Startup Position, Unload Statement
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļ āļŠāļĄāļĄāļāļīāđāļŦ userForms 2 āļāļāļĢāļĄāđāļāđāļāļĢāđāļāļĢāļĄ āđāļ Initialise event āļāļāļ UserForm 1 āđāļŦāđāļŦāļĨāļāđāļĨāļ°āđāļŠāļāļ UserForm2 āđāļĄāļ·āđāļāļāļđāđāļāļāļĨāļīāļ UserForm 2 āđāļŦāļĒāļāđāļĨāļīāļāļāļāļĢāļĄ UserForm2 āđāļĄāļ·āđāļ UserForm1 āļāļĢāļēāļāļāļāļķāđāļ āđāļĨāļ°āđāļāļĢāļąāļāļāļēāļĢāļāļĨāļīāļ āđāļŦāļĒāļāđāļĨāļīāļāļāļāļĢāļĄ UserForm1
' Initialize event procedure āļŠāđ āļēāļŦāļĢāļąāļ UserForm1Private Sub Form_Initialize() Load UserForm2 UserForm2.ShowEnd Sub
' Click event āļāļāļ UserForm2Private Sub Form_Click() UserForm2.HideEnd Sub
' Click event āļāļāļ UserForm1Private Sub Form_Click() UserForm2.ShowEnd Sub
Loc FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Long āļāļĩāđāļĢāļ°āļāļļāļāđ āļēāđāļŦāļāļāļāļēāļāđāļĨāļ°āđāļāļĩāļĒāļāļāļāļāļļāļāļąāļāļ āļēāļĒāđāļāđāļāļĨāļāļĩāđāđāļāļ
āđāļ§āļĒāļēāļāļĢāļLoc(filenumber)āļāļēāļāļīāļ§āđāļĄāļāļ filenumber āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāđāļĨāļāļāđ āļēāļāļ§āļāđāļāđāļĄāđāļāđ āļāļāļāļŦāļĄāļēāļĒāđāļĨāļāđāļāļĨāļāļĩāđāļĄāļĩāļāļĢāļīāļ
āļāļēāļŠāļāļāļāļāļāļē number āļāļē SgnāļĄāļēāļāļāļ§āļēāļĻāļđāļāļĒ 1āđāļāļēāļāļąāļāļĻāļđāļāļĒ 0āļāļāļĒāļāļ§āļēāļĻāļđāļāļĒ -1
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāđ āļēāļāļāļīāļāļēāļĒāļāļāđāļāđāļāļāļāļēāļŠāļāļāļāļāļŠāđ āļēāļŦāļĢāļąāļāđāļāļĨāļ°āđāļŦāļĄāļāļāļāļāđāļāļĨāļāļĩāđāđāļāļēāļāļķāļ
āđāļŦāļĄāļ āļāļēāļāļĩāđāļŠāļāļāļāļRandom āļŦāļĄāļēāļĒāđāļĨāļāļāļāļāđāļĢāļāļāļāļĢāļāļŠāļļāļāļāļēāļĒāļāļāļāđāļāļĨāļāļĩāđāļāļēāļāļŦāļĢāļ·āļāđāļāļĩāļĒāļSequential āļāđ āļēāđāļŦāļāļāđāļāļāļāļāļāļļāļāļąāļāđāļāđāļāļĨāļŦāļēāļĢāļāļ§āļĒ 128 āđāļāļŠāļēāļĢāļŠāļāđāļāļĻāļāļĩāđāļŠāļāļāļāļāđāļāļĒāļāļāļāļāļąāļ Loc
āđāļĄāļĄāļĩāļāļēāļĢāđāļāļŦāļĢāļ·āļāļāļāļāļāļēāļĢ
widebase.net âVBA References
82
Binary āļāđ āļēāđāļŦāļāļāđāļāļāļŠāļļāļāļāļēāļĒāļāļĩāđāļāļēāļāļŦāļĢāļ·āļāđāļāļĩāļĒāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ EOF, āļāļāļāļāļąāļ LOF, āļāļāļāļāļąāļ Seek, Seek Statement
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ Loc āđāļāļ·āđāļāļŠāļāļāļēāļāđ āļēāđāļŦāļāļāļāļēāļāđāļĨāļ°āđāļāļĩāļĒāļāļāļāļāļļāļāļąāļāļ āļēāļĒāđāļāđāļāļĨāļāļĩāđāđāļāļ āļŠāļĄāļĄāļāļīāđāļŦ TESTFILE āđāļāļ text file āļāļĩāđāļĄāļĩāļāļāļĄāļđāļĨāļāļąāļ§āļāļĒāļēāļāļāđ āļēāļāļ§āļāļŦāļāļķāđāļ
Dim MyLocation, MyLineOpen "TESTFILE" For Binary As #1 ' āđāļāļāđāļāļĨāļāđāļĩāđāļāļīāđāļāļŠāļĢāļēāļDo While MyLocation < LOF(1) ' āļ§āļāļĢāļāļāļāļāļāļĢāļ°āļāļąāđāļāļŠāđāļīāļāļŠāļļāļāđāļāļĨ MyLine = MyLine & Input(1, #1) ' āļāļēāļāļāļąāļ§āļāļąāļāļĐāļĢāđāļāļāļāļąāļ§āđāļāļĢ MyLocation = Loc(1) ' āļāļāļķāļ āđāļēāđāļŦāļāļāļāļāļāļļāļāļąāļāļ āļēāļĒāđāļāđāļāļĨ Debug.Print MyLine; Tab; MyLocation ' āļāļĄāļīāļāļāļāļāđāļ Immediate windowLoopClose #1 ' āļāļāđāļāļĨ
Lock Statement, Unlock Statementāļāļ§āļāļāļļāļĄāļāļēāļĢāđāļāļēāļāļķāļāļāļēāļāļāļĢāļ°āļāļ§āļāļāļēāļĢāļāļ·āđāļ āđāļāļĒāļąāļāļāļēāļāļŠāļ§āļ āļŦāļĢāļ·āļāļāļąāđāļāļŦāļĄāļāļāļāļāđāļāļĨ āļāļĩāđāđāļāļāļāļ§āļĒāļāļēāļĢāđāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Open
āđāļ§āļĒāļēāļāļĢāļLock [#] filenumber [, recordrange]Unlock [#] filenumber [, recordrange]āđāļ§āļĒāļēāļāļĢāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Lock āđāļĨāļ° Unlock āļĄāļĩāļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāļŠāļ§āļāļāļąāļāļāļĩāđ
āļŠāļ§āļ āļāđ āļēāļāļāļīāļāļēāļĒfilenumber āļāļąāļāļāļąāļ, āđāļāļāļŦāļĄāļēāļĒāđāļĨāļāđāļāļĨrecordrange āđāļĄāļāļąāļāļāļąāļ, āđāļāļāļāļ§āļāļāļāļāđāļĢāļāļāļāļĢāļāļāļĩāđāļāļāļāļāļēāļĢāļĨāđāļāļ āļŦāļĢāļ·āļāļĒāļāđāļĨāļīāļāļāļēāļĢāļĨāđāļāļ
āļāļēāļĢāļāļąāđāļāļāļēāļāļēāļāļīāļ§āđāļĄāļāļ recordrange āļāļąāđāļāļāļē āļāļąāļāļāļĩāđ
recnumber | [start] To end
āļāļēāļĢāļāļąāđāļāļāļē āļāđ āļēāļāļāļīāļāļēāļĒrecnumber āļŦāļĄāļēāļĒāđāļĨāļāđāļĢāļāļāļāļĢāļ (āđāļāļĨāđāļŦāļĄāļ Random) āļŦāļĢāļ·āļāļŦāļĄāļēāļĒāđāļĨāļāđāļāļ (āđāļāļĨāđāļŦāļĄāļ Binary) āļāļĩāđ
āđāļĢāļīāđāļĄāļāļēāļĢāļĨāđāļāļ āļŦāļĢāļ·āļāļĒāļāđāļĨāļīāļāļāļēāļĢāļĨāđāļāļstart āļŦāļĄāļēāļĒāđāļĨāļāļāļāļāđāļĢāļāļāļāļĢāļāļŦāļĢāļ·āļāđāļāļāđāļĢāļ āļāļĩāđāļāļāļāļāļēāļĢāļĨāđāļāļ āļŦāļĢāļ·āļāļĒāļāđāļĨāļīāļāļāļēāļĢāļĨāđāļāļ
widebase.net âVBA References
83
āļāļēāļĢāļāļąāđāļāļāļē āļāđ āļēāļāļāļīāļāļēāļĒend āļŦāļĄāļēāļĒāđāļĨāļāļāļāļāđāļĢāļāļāļāļĢāļāļŦāļĢāļ·āļāđāļāļāļŠāļļāļāļāļēāļĒ āļāļĩāđāļāļāļāļāļēāļĢāļĨāđāļāļ āļŦāļĢāļ·āļāļĒāļāđāļĨāļīāļāļāļēāļĢāļĨāđāļāļ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Lock āđāļĨāļ° Unlock āđāļāđāļāļŠāļ āļēāļāđāļ§āļāļĨāļāļĄāļāļĩāđāļĄāļĩ āļŦāļĨāļēāļĒāļāļĢāļ°āļāļ§āļāļāļēāļĢāļāļāļāļāļēāļĢāđāļāļēāļāļķāļāđāļāļĨāđāļāļĩāļĒāļ§āļāļąāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Lock āđāļĨāļ° Unlock āđāļāļāļđāļāļąāļāđāļŠāļĄāļ āļāļēāļāļīāļ§āđāļĄāļāļāļāļāļ Lock āđāļĨāļ° Unlock āļāļāļāļāļĢāļāļāļąāļāđāļĢāļāļāļāļĢāļāļŦāļĢāļ·āļāđāļāļāđāļĢāļāđāļāđāļāļĨāļāļĒāļđāļāļĩāđāļāđ āļēāđāļŦāļāļāļāļĩāđ 1 āđāļĢāļāļāļāļĢāļāļŦāļĢāļ·āļāđāļāļāļāļĩāđ 2 āļāļĒāļđāļāļĩāđāļāđ āļēāđāļŦāļāļāļāļĩāđ 2 āđāļĨāļ°āļāļāđāļ āļāļēāļĢāļ°āļāļļāđāļāļĩāļĒāļāđāļĢāļāļāļāļĢāļāđāļāļĩāļĒāļ§ āļāļ°āļĄāļĩāļāļēāļĢāļĨāđāļāļ āļŦāļĢāļ·āļāļĒāļāđāļĨāļīāļāļāļēāļĢāļĨāđāļāļāđāļĢāļāļāļāļĢāļāļāļąāđāļ āđāļāļĩāļĒāļāđāļĢāļāļāļāļĢāļāđāļāļĩāļĒāļ§ āļāļēāļĢāļ°āļāļļāļāļ§āļāļāļāļāđāļĢāļāļāļāļĢāļāđāļāļĨāļ°āđāļĢāļāļāļāļĢāļāđāļĢāļīāđāļĄāļāļ (start) āđāļĢāļāļāļāļĢāļāļāļąāđāļāļŦāļĄāļ āļāļēāļāđāļĢāļāļāļāļĢāļāđāļĢāļāļāļāļāļķāļāļŠāđāļīāļāļŠāļļāļāļāļ§āļ (end) āđāļāļĢāļąāļāļāļēāļĢāļĨāđāļāļāļŦāļĢāļ·āļāļĒāļāđāļĨāļīāļāļāļēāļĢāļĨāđāļāļ āļāļēāļĢāđāļ Lock āđāļāļĒāđāļĄāļĄāļĩ recnumber āđāļāļĨāļāļĩāđāļĢāļ°āļāļļāļāļ°āļāļđāļāļĨāđāļāļ āļāļēāļĢāđāļ Unlock āđāļāļĒāđāļĄāļĄāļĩ recnumber āđāļāļĨāļāļĩāđāļĢāļ°āļāļļāļāļ°āļāļđāļāļĒāļāđāļĨāļīāļāļāļēāļĢāļĨāđāļāļāļāļēāđāļāļĨāđāļāļāđāļāļ Sequential āļŠāđ āļēāļŦāļĢāļąāļāļāļēāļĢāļāđ āļēāļŦāļĢāļ·āļāļŠāļāļāļāļ Lock āđāļĨāļ° Unlock āļĄāļĩāļāļĨāļāļąāļāļāļąāđāļāđāļāļĨ āđāļāļĒāđāļĄāļāļīāļāļēāļĢāļāļēāļāļāļāļāļĩāđāļĢāļ°āļāļļāļāļ§āļĒ start āđāļĨāļ° endāļāļāļāļ§āļĢāļĢāļ°āļ§āļąāļ āļāļāļāļĄāļąāđāļāđāļāļ§āļēāļĄāļĩāļāļēāļĢāļĒāļāđāļĨāļīāļāļāļēāļĢāļĨāđāļāļāļāļ§āļĒāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Unlock āļāļāļ āļāļēāļĢāļāļāđāļāļĨ āļŦāļĢāļ·āļāļāļāļāļāļēāļāđāļāļĢāđāļāļĢāļĄ āļāļ§āļēāļĄāļĨāļĄāđāļŦāļĨāļ§āđāļāļāļēāļĢāļĒāļāđāļĨāļīāļāļāļēāļĢāļĨāđāļāļ āļŠāļĢāļēāļāļāļĨāļĨāļąāļāļāļāļĩāđāđāļĄāļŠāļēāļĄāļēāļĢāļāļāļēāļāļāļēāļĢāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄOpen Statement
āļāļąāļ§āļāļĒāļēāļ
Type Record ' āļāđ āļēāļŦāļāļ User - define type ID As Integer Name As String * 20End Type
Dim MyRecord As Record, RecordNumber ' āļāļĢāļ°āļāļēāļĻāļāļąāļ§āđāļāļĢ' āđāļāļāđāļāļĨāļŠāđ āļēāļŦāļĢāļąāļāļāļēāļĢāđāļāļēāļāļķāļāđāļāļāļŠāļļāļĄ (random access)Open "TESTFILE" For Random As #1 Len = Len(MyRecord)
' āļāļēāļāđāļāļĨāļāļ§āļĒ GetRecordNumber = 4 ' āļāđ āļēāļŦāļāļāļŦāļĄāļēāļĒāđāļĨāļāđāļĢāļāļāļāļĢāļLock #1, RecordNumber ' āļĨāļāļāđāļĢāļāļāļāļĢāļGet #1, Position, MyRecord ' āļāļēāļāđāļĢāļāļāļāļĢāļāļāđāļĩ 3
MyRecord.ID = 234 ' āļāļĢāļāļąāļāļĢāļļāļāđāļĢāļāļāļāļĢāļMyRecord.Name = "John Smith"
Put #1, Position, MyRecord ' āđāļāļĒāļĩāļāđāļĢāļāļāļāļĢāļāļāđāļĩāļāļĢāļąāļāļāļĢāļļāļUnlock #1, RecordNumber ' āļĒāļāđāļĨāļīāļāļĨāļāļāđāļĢāļāļāļāļĢāļClose #1 ' āļāļāđāļāļĨ
widebase.net âVBA References
84
LOF FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Long āļāļĩāđāđāļŠāļāļāļāļāļēāļāđāļāļāđāļāļāļāļāļāđāļāļĨāļāļĩāđāđāļāļāļāļ§āļĒāļāđ āļēāļŠāđāļąāļ Open
āđāļ§āļĒāļēāļāļĢāļLOF(filenumber)āļāļēāļāļīāļ§āđāļĄāļāļ filenumber āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāđāļĨāļāļāđ āļēāļāļ§āļāđāļāđāļĄāļāļĩāđāđāļāđāļāļāļēāļŦāļĄāļēāļĒāđāļĨāļāđāļāļĨāļāļĩāđāļĄāļĩāļāļĢāļīāļāļŦāļĄāļēāļĒāđāļŦāļāļļ āđāļāļāļāļāļāļąāļ FileLen āļŦāļēāļāļēāļāļāļēāļāđāļāļĨāļāļĩāđāđāļĄāđāļāđāļāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ EOF, āļāļāļāļāļąāļ FileLen, āļāļāļāļāļąāļ Loc, Seek Statement
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ LOF āđāļāļ·āđāļāļŦāļēāļāļāļēāļāđāļāļĨāļāļĩāđāđāļāļ āļŠāļĄāļĄāļāļīāđāļŦ TESTFILE āđāļāļ text file āļāļĩāđāļĄāļĩāļāļāļĄāļđāļĨāļāļąāļ§āļāļĒāļēāļāļāđ āļēāļāļ§āļāļŦāļāļķāđāļ
Dim FileLengthOpen "TESTFILE" For Input As #1 ' āđāļāļāđāļāļĨFileLength = LOF(1) ' āļāļāļķāļāļ§āļēāļĄāļĒāļēāļ§āļāļāļāđāļāļĨClose #1 ' āļāļāđāļāļĨ
Log FunctionāļŠāļāļāļāļāļāļĨāļĨāļąāļāļāđāļāļāļāļē Log āļāļēāļāļāļĢāļĢāļĄāļāļēāļāļī (Log āļāļēāļ e) āđāļāļĒāļĄāļĩāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāđāļāļ Double
āđāļ§āļĒāļēāļāļĢāļLog(number)āļāļēāļāļīāļ§āđāļĄāļāļ number āđāļāļāļāļēāļāļĩāđāļĄāļĩāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāļāļąāļ§āđāļĨāļ āļŦāļĢāļ·āļ Expression āļāļĩāđāđāļŦāļāļēāļāļąāļāļāļĨāļēāļ§ āđāļĨāļ°āļĄāļĩāļāļēāļĄāļēāļ
āļāļ§āļēāļĻāļđāļāļĒ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļēāļāļāļāļāļēāļĢāđāļ Log āļāļĩāđāļĄāļĩāļāļēāļāļāļ·āđāļ āļŠāļēāļĄāļēāļĢāļāđāļāļĨāļāļāļēāđāļāļĒāļāļēāļĢāđāļāļŠāļđāļāļĢLogn(X) = Log(X) / Log(n)
āļāļēāļĢāđāļāļĨāļāļāļēāļŠāļēāļĄāļēāļĢāļāđāļāļĩāļĒāļāļāļāļāđāļāļāļāđ āļēāļŦāļāļāđāļ Access āđāļāļ āļāļēāļĢāđāļāļĨāļāļāļēāđāļāļ Log āļāļēāļ 10 āļāļ°āļĄāļĩāļāđ āļēāļŠāđāļąāļāļāļąāļāļāļĩāđ
Static Function Log10(X)Log10 = Log(X) / Log(10#)
End Function
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Exp
widebase.net âVBA References
85
āļāļąāļ§āļāļĒāļēāļDim myVar, myLogmyVar = 2.5myLog = Exp(myVar + 1.75)
LTrim Function, LTrim$ Function,RTrim Function, RTrim$ Function,Trim Function, Trim$ Functionāļāļāļāļāļąāļ LTrim, āļāļāļāļāļąāļ RTrim āđāļĨāļ° āļāļāļāļāļąāļ Trim āļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (String) āļāļ§āļĒāļāļēāļĢāļāđ āļēāļŠāđ āļēāđāļāļēāļāļāļāļ§āļēāļĄāđāļāļīāļĄāđāļāļāđ āļēāļāļąāļāļāļāļāļ§āļēāļ āđāļāļĒāļāļāļāļāļąāļ LTrim āļāđ āļēāļāļąāļāļāļāļāļ§āļēāļāļāļēāļāļāļēāļĒ āļāļāļāļāļąāļ RTrim āļāđ āļēāļāļąāļāļāļāļāļ§āļēāļāļāļēāļāļāļ§āļē āđāļĨāļ° āļāļāļāļāļąāļ Trim āļāđ āļēāļāļąāļāļāļąāđāļ 2 āļāļēāļāļāļāļāļāļąāļ LTrim$, āļāļāļāļāļąāļ RTrim$ āđāļĨāļ° āļāļāļāļāļąāļ Trim$ āļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ String āļāļ§āļĒāļāļēāļĢāļāđ āļēāļŠāđ āļēāđāļāļēāļāļāļāļ§āļēāļĄāđāļāļīāļĄāđāļāļāđ āļēāļāļąāļāļāļāļāļ§āļēāļ
āđāļ§āļĒāļēāļāļĢāļLTrim(string)LTrim$(string)RTrim(string)RTrim$(string)Trim(string)Trim$(string)āļāļēāļāļīāļ§āđāļĄāļāļ string āđāļāļ Expression āļāļāļāļāļāļāļ§āļēāļĄāļāļē string āđāļāļāļāļēāļ§āļēāļ (Null) āļāļĨāļĨāļąāļāļāļāļ°āđāļāļāļāļēāļ§āļēāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Left, āļāļāļāļāļąāļ Left$, āļāļāļāļāļąāļ Right, āļāļāļāļāļąāļ Right$
āļāļąāļ§āļāļĒāļēāļāļāļāļāļāļąāļ LTrim, āļāļāļāļāļąāļ RTrim āđāļĨāļ°āļāļāļāļāļąāļ Trim āđāļāđāļāļāļēāļĢāļāđ āļēāļāļąāļāļāļāļāļ§āļēāļ āđāļāļĒāļāļāļāļāļąāļ LTrim āļāđ āļēāļāļąāļāļāļāļāļ§āļēāļāļāļēāļāļāļēāļĒ āļāļāļāļāļąāļ RTrim āļāđ āļēāļāļąāļāļāļāļāļ§āļēāļāļāļēāļāļāļ§āļē āđāļĨāļ° āļāļāļāļāļąāļ Trim āļāđ āļēāļāļąāļāļāļąāđāļ 2 āļāļēāļ
Dim myString, myTrimMyString = " <--Trim--> "MyTrim = LTrim(myString) ' āļāļĨāļĨāļąāļāļ myTrim = "<--Trim--> "MyTrim = RTrim(myString) ' āļāļĨāļĨāļąāļāļ myTrim = " <--Trim-->"MyTrim = LTrim(RTrim(myString)) ' āļāļĨāļĨāļąāļāļ myTrim = "<--Trim-->"' āļāļēāļĢāđāļāļāļāļāļāļąāļ Trim āļāļ°āļĄāļāļĩāļĨāļĨāļąāļāļāđāļāļāđāļāļĩāļĒāļ§āļāļąāļMyTrim = Trim(myString) ' āļāļĨāļĨāļąāļāļ myTrim = "<--Trim-->"
widebase.net âVBA References
86
Mid Function, Mid$ Functionāļāļāļāļāļąāļ Mid āļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (String) āļāļēāļĄāļāđ āļēāļāļ§āļāļāļąāļ§āļāļąāļāļĐāļĢāļāļĩāđāļĢāļ°āļāļļāļāļāļāļāļąāļ Mid$ āļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ String āļāļēāļĄāļāđ āļēāļāļ§āļāļāļąāļ§āļāļąāļāļĐāļĢāļāļĩāđāļĢāļ°āļāļļ
āđāļ§āļĒāļēāļāļĢāļMid(string, start [,length])Mid$(string, start [,length])āļāļēāļāļīāļ§āđāļĄāļāļāļāļāļāļāļāļāļāļąāļ Mid āđāļĨāļ°āļāļāļāļāļąāļ Mid$ āļĄāļĩāđāļ§āļĒāļēāļāļĢāļ āļāļąāļāļāļĩāđ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļstring āļāļąāļāļāļąāļ, āđāļāļĒ Expression āļāļāļāļāļāļāļ§āļēāļĄāļāļĩāđāļāļāļāļāļēāļĢāļŠāļāļāļēāļāļēāļāļāļēāļĒ āļāļē string āđāļāļāļāļēāļ§āļēāļ
(Null) āļāļĨāļĨāļąāļāļāļāļ°āđāļāļāļāļēāļ§āļēāļstart āļāļąāļāļāļąāļ, āđāļāļāļāļēāļĢāļĢāļ°āļāļļāļāļļāļāđāļĢāļīāđāļĄāļāļāļāļĩāđāļāļāļāđāļāļāļāļāļ§āļēāļĄ āļāļē start āļĄāļĩāļāļēāļĄāļēāļāļāļ§āļēāļāđ āļēāļāļ§āļāļāļąāļ§āļāļąāļāļĐāļĢāđāļ
āļāļāļāļ§āļēāļĄ āļāļ°āļŠāļāļāļēāđāļāļ Zero-length stringlength āđāļĄāļāļąāļāļāļąāļ, āđāļāļĒāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāđāļāļ Variant (Long) āļŦāļĢāļ·āļāđāļĨāļāļāđ āļēāļāļ§āļāđāļāđāļĄ āđāļāļ·āđāļāļĢāļ°āļāļļāļāđ āļēāļāļ§āļāļāļąāļ§
āļāļąāļāļĐāļĢāļāļĩāđāđāļŦāļŠāļāļāļēāļāļāļāļĄāļē āļāļēāđāļĄāļĢāļ°āļāļļ āļŦāļĢāļ·āļ āļāļē length āđāļĄāļ·āđāļāļāļąāļāļāļēāļ startāđāļĨāļ§āļĄāļēāļāļāļ§āļēāļāļāļāļ§āļēāļĄāļāļēāļāļĩāđāļŠāļāļāļāļāļĄāļēāļāļ°āđāļāļāļāļąāļ§āļāļąāļāļĐāļĢāļāļĩāđāđāļĢāļīāđāļĄāļāļēāļ start āļāļąāđāļāļŦāļĄāļ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļēāļāļāļāļāļēāļĢāļŦāļēāļāđ āļēāļāļ§āļāļāļąāļ§āļāļąāļāļĐāļĢāļāļāļāļāļāļāļ§āļēāļĄāđāļŦāđāļāļāļāļāļāļąāļ LenāļŦāļĄāļēāļĒāđāļŦāļāļļ
âĒ āļāļēāļĢāđāļāļāļāļāļāļąāļ MidB āļāļąāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāđāļāļāļāļāļāļāļāļāļ§āļēāļĄ āļāļēāļĢāļĢāļ°āļāļļāļāļē length āļāļ°āđāļāļāļĢāļ°āļāļļāļāđ āļēāļāļ§āļāđāļāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Left, āļāļāļāļāļąāļ Left$, āļāļāļāļāļąāļ Len, āļāļāļāļāļąāļ LTrim, āļāļāļāļāļąāļ LTrim$, āļāļāļāļāļąāļ RTrim, āļāļāļāļāļąāļ RTrim$,āļāļāļāļāļąāļ Trim, āļāļāļāļāļąāļ Trim$, Mid Statment, āļāļāļāļāļąāļ Right, āļāļāļāļāļąāļ Right$
āļāļąāļ§āļāļĒāļēāļāļāļāļāļāļąāļ Mid āđāļāđāļāļāļēāļĢāļŠāļāļāļēāļāļąāļ§āļāļąāļāļĐāļĢāđāļāļāđ āļēāđāļŦāļāļāđāļĨāļ°āļāđ āļēāļāļ§āļāļāļĩāđāļāļāļāļāļēāļĢ
Dim myString, firstWord, lastWord, midWordmyString = "Mid Function Demo"firstWord = Mid(myString, 1, 3) ' āļāļĨāļĨāļąāļāļ "Mid"lastWord = Mid(myString, 14, 4) ' āļāļĨāļĨāļąāļāļ "Demo"midWord = Mid(myString, 5) ' āļāļĨāļĨāļąāļāļ "Function Demo"
widebase.net âVBA References
87
Minute FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (Integer) āđāļāļāļ§āļ 0 āļāļķāļ 59 āļāļēāļāļŠāļ§āļāļāļēāļāļĩāļāļāļāđāļ§āļĨāļē
āđāļ§āļĒāļēāļāļĢāļMinute(time)āļāļēāļāļīāļ§āđāļĄāļāļ time āļŠāļēāļĄāļēāļĢāļāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāļāļāļāļ§āļēāļĄ (String) āļāļąāļ§āđāļĨāļ āļŦāļĢāļ·āļ Expression āļāļĩāđāđāļŠāļāļāđāļāļĢāļđāļ
āđāļāļāļāļāļāđāļ§āļĨāļē āļāļē time āđāļāļāļāļēāļ§āļēāļ (Null) āļāļĨāļĨāļąāļāļāļāļ°āđāļāļāļāļēāļ§āļēāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Day, āļāļāļāļāļąāļ Hour, āļāļāļāļāļąāļ Now, āļāļāļāļāļąāļ Second, āļāļāļāļāļąāļ Time
āļāļąāļ§āļāļĒāļēāļāļāļāļāļāļąāļ Minute āļāđ āļēāļĄāļēāđāļāđāļāļāļēāļĢāđāļāļĨāļāđāļ§āļĨāļēāļāļĩāđāļāđ āļēāļŦāļāļ āđāļŦāđāļāļāļāļēāļāļāļāļāļēāļāļĩDim myTime, myMinutemyTime = #5:25:40 PM#myMinute = Minute(myTime) ' āļāļĨāļĨāļąāļāļ myMinute = 25
MIRR FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double āļāļāļāļāļąāļāļĢāļēāļāļĨāļāļāļāđāļāļāļ āļēāļĒāđāļāđāļāļāļāļĢāļąāļāļāļĢāļļāļ (Modified internal rate of return) āļāļāļāļāļĢāļ°āđāļŠāđāļāļīāļāļŠāļ (āļĢāļēāļĒāļāļēāļĒāđāļĨāļ°āļĢāļēāļĒāļĢāļąāļ)
āđāļ§āļĒāļēāļāļĢāļMIRR(value(), finance_rate, reinvest_rate)āļāļēāļāļīāļ§āđāļĄāļāļāļāļāļāļāļāļāļāļąāļ MIRR āļĄāļĩāļāļ§āļēāļĄāļŦāļĄāļēāļĒ āļāļ·āļ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļvalue āļāļąāļāļāļąāļ, āđāļāļ array āļāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double, āļĢāļ°āļāļļāļĄāļđāļĨāļāļēāļāļāļāļāļĢāļ°āđāļŠāđāļāļīāļ āđāļāļĒ array āļāļāļ
āđāļāđāļāļāļēāļāļĒāļēāļāļāļāļĒāđāļāļāļāļēāļĨāļ 1 āļāļē (āļĢāļēāļĒāļāļēāļĒ) āđāļĨāļ°āļāļēāļāļ§āļ 1 āļāļē (āļĢāļēāļĒāļĢāļąāļ)finance_rate āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double, āļĢāļ°āļāļļāļāļąāļāļĢāļēāļāļāļāđāļāļĩāđāļĒāļāļēāļĒāļāļĩāđāđāļāļāļāļāļāļļāļāļāļēāļāļāļēāļĢāđāļāļīāļreinvest_rate āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double, āļĢāļ°āļāļļāļāļąāļāļĢāļēāļāļāļāđāļāļĩāđāļĒāļĢāļąāļāļāļēāļāļĢāļēāļĒāđāļāđāļĨāļ§āļāđ āļēāđāļāļĨāļāļāļļāļāļāđāđ āļē
āļŦāļĄāļēāļĒāđāļŦāļāļļāļāļąāļāļĢāļēāļāļĨāļāļāļāđāļāļāļ āļēāļĒāđāļāđāļāļāļāļĢāļąāļāļāļĢāļļāļ āđāļāļāļāļąāļāļĢāļēāļāļĨāļāļāļāđāļāļāļ āļēāļĒāđāļāļāļĩāđāļĢāļēāļĒāļāļēāļĒāđāļĨāļ°āļĢāļēāļĒāļĢāļąāļāļĄāļĩāļāļąāļāļĢāļēāļāļāļāđāļāļĩāđāļĒāļāļāļĨāļ°āļāļąāļāļĢāļē āļāļāļāļāļąāļ MIRR āļĄāļĩāļāļ§āļēāļĄāļŠāđ āļēāļāļąāļāđāļāļāļēāļĢāļāđ āļēāļāļ§āļāļāļāļāļļāļāļāļāļāļāļēāļĢāļĨāļāļāļļāļ (finance_rate) āđāļĨāļ°āļāļąāļāļĢāļēāļāļāļāđāļāļĩāđāļĒāļĢāļąāļāļāļēāļāļāļēāļĢāļĨāļāļāļļāļāļāđāđ āļē (reinvest_rate)āļāļēāļāļīāļ§āđāļĄāļāļ finance_rate āđāļĨāļ° reinvest_rate āđāļāļāļāļąāļāļĢāļēāļĢāļāļĒāļĨāļ°āļāļĩāđāđāļŠāļāļāđāļāļĢāļđāļāļāļāļāļāļĻāļāļīāļĒāļĄ āđāļāļ 12% āļāļ°āđāļŠāļāļāļāļ§āļĒāļāļē 0.12
widebase.net âVBA References
88
āļāļāļāļāļąāļ MIRR āđāļāļĨāđ āļēāļāļąāļāļāļāļ value āļ āļēāļĒāđāļ array āđāļāļāļēāļĢāđāļāļĢāļāļ§āļēāļĄāļŦāļĄāļēāļĒāļĨāđ āļēāļāļąāļāļāļāļāļĢāļēāļĒāļāļēāļĒāđāļĨāļ°āļĢāļēāļĒāļĢāļąāļ āļāļąāļāļāļąāđāļāļāļķāļāļāļāļāļĄāļąāđāļāđāļāļ§āļēāļĢāļēāļĒāļāļēāļĒāđāļĨāļ°āļĢāļēāļĒāļĢāļąāļāļāļĒāļđāđāļāļĨāđ āļēāļāļąāļāļāļĩāđāļāļđāļāļāļāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ DDB, āļāļāļāļāļąāļ FV, āļāļāļāļāļąāļ IPmt, āļāļāļāļāļąāļ IRR, āļāļāļāļāļąāļ NPer, āļāļāļāļāļąāļ NPV, āļāļāļāļāļąāļ Pmt, āļāļāļāļāļąāļPPmt, āļāļāļāļāļąāļ PV, āļāļāļāļāļąāļ Rate, āļāļāļāļāļąāļ SLN, āļāļāļāļāļąāļ SYD
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ MIRR āđāļāļāļēāļĢāļŠāļāļāļāļāļāļēāļāļąāļāļĢāļēāļāļĨāļāļāļāđāļāļāļ āļēāļĒāđāļāļāļĢāļąāļāļāļĢāļļāļāļŠāđ āļēāļŦāļĢāļąāļāļāļĢāļ°āđāļŠāđāļāļīāļāļŠāļāļāļĩāđāđāļāđāļāđāļ array āļāļ·āđāļ Values() LoanAPR āđāļŠāļāļāļāļē finance_rate āđāļĨāļ° InvAPR āđāļŠāļāļāļāļē reinvest_rate
Dim LoanAPR, InvAPR, Fmt, RetRate, MsgStatic Values(5) As Double ' āļāđ āļēāļŦāļāļ arrayLoanAPR = .1 ' āļāļąāļāļĢāļēāļāļāļāđāļāļĩāđāļĒāđāļāļīāļāļāļđInvAPR = .12 ' āļāļąāļāļĢāļēāļāļāļāđāļāļĩāđāļĒāļāļēāļāļāļēāļĢāļĨāļāļāļļāļāļāđāđ āļēFmt = "#0.00" ' āļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļāļāļēāļĢāđāļāļīāļValues(0) = -70000 ' āļāļēāđāļāļāļēāļĒāđāļāļāļąāļāļāļąāđāļāļāļļāļĢāļāļīāļ
' āļāļĢāļ°āđāļŠāđāļāļāļīāļŠāļāđāļāļāļāļ§āļāđāļŠāļāļāļĢāļēāļĒāļĢāļąāļ 4 āļāđāļāļāļēāļĢāļāđ āļēāļāļļāļĢāļāļīāļValues(1) = 22000 : Values(2) = 25000Values(3) = 28000 : Values(4) = 31000RetRate = MIRR(Values(), LoanAPR, InvAPR) ' āļ āđāļēāļāļ§āļāļāļąāļāļĢāļēāļāļĨāļāļāļāđāļāļāļ āļēāļĒāđāļMsg = "The modified internal rate of return for these five cash flows is"Msg = Msg & Format(Abs(RetRate) * 100, Fmt) & "%."MsgBox Msg ' āđāļŠāļāļāļāļąāļāļĢāļēāļāļĨāļāļāļāđāļāļāļ āļēāļĒāđāļ
MkDir StatementāļŠāļĢāļēāļāđāļāđāļĢāļāļāļāļĢāļĩāļŦāļĢāļ·āļāđāļāļĨāđāļāļāļĢāđāļŦāļĄ
āđāļ§āļĒāļēāļāļĢāļMkDir pathpath āđāļāļāļāļēāļāļīāļ§āđāļĄāļāļāļāļąāļāļāļąāļ āļāļķāđāļāđāļāļ string express āļāļĩāđāļĢāļ°āļāļļāđāļāđāļĢāļāļāļāļĢāļĩ āļŦāļĢāļ·āļāđāļāļĨāđāļāļāļĢāļāļĩāđāļāļāļāļāļēāļĢ
āļŠāļĢāļēāļ path āļāļēāļāļāļ°āļĢāļ§āļĄāļāļķāļāđāļāļĢāļ āļāļēāđāļĄāļĄāļĩāļāļēāļĢāļĢāļ°āļāļļāđāļāļĢāļ MkDir āļāļ°āļŠāļĢāļēāļāđāļāđāļĢāļāļāļāļĢāļĩ āļŦāļĢāļ·āļāđāļāļĨāđāļāļāļĢāđāļŦāļĄāļāļāđāļāļĢāļāļāļāļāļļāļāļąāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄChDir Statement, āļāļāļāļāļąāļ CurDir, RmDir Statement
āļāļąāļ§āļāļĒāļēāļ
MkDir "MYDIR" ' āļŠāļĢāļēāļāđāļāđāļĢāļāļāļāļĢāļĩāļŦāļĢāļ·āļāđāļāļĨāđāļāļāļĢāđāļŦāļĄ
widebase.net âVBA References
89
Month FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (Integer) āļāļĒāļđāđāļāļāļ§āļ 1 āļāļķāļ 12 āļāļēāļāļŠāļ§āļāđāļāļ·āļāļāļāļāļāļ§āļąāļāļāļĩāđ
āđāļ§āļĒāļēāļāļĢāļMonth(date)āļāļēāļāļīāļ§āđāļĄāļāļ date āļŠāļēāļĄāļēāļĢāļāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāļāļāļāļ§āļēāļĄ (String) āļāļąāļ§āđāļĨāļ āļŦāļĢāļ·āļ Expression āļāļĩāđāđāļŠāļāļāđāļāļĢāļđāļ
āđāļāļāļāļāļāļ§āļąāļāļāļĩāđ āļāļē date āđāļāļāļāļēāļ§āļēāļ (Null) āļāļĨāļĨāļąāļāļāļāļ°āđāļāļāļāļēāļ§āļēāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Date, āļāļāļāļāļąāļ Day, āļāļāļāļāļąāļ Now, āļāļāļāļāļąāļ Weekday, āļāļāļāļāļąāļ Year
āļāļąāļ§āļāļĒāļēāļāļāļāļāļāļąāļ Month āļāđ āļēāļĄāļēāđāļāđāļāļāļēāļĢāđāļāļĨāļāļāļāļāļ§āļēāļĄāđāļāļĢāļđāļāđāļāļāļ§āļąāļāļāļĩāđ āđāļŦāđāļāļāļāļēāļāļāļāđāļāļ·āļāļDim myDate, myMonthmyDate = #June 12, 1968#myMonth = Month(myDate) ' āļāļĨāļĨāļąāļāļ myMonth =6
MsgBox FunctionāļŠāđ āļēāļŦāļĢāļąāļāļāļēāļĢāđāļŠāļāļāļāļēāļ§āļŠāļēāļĢāđāļ dialog box āđāļĨāļ°āļĢāļāđāļŦāļāļđāđāļāļāļĨāļīāļāļāļļāļĄ āđāļĨāļ°āļŠāļāļāļēāđāļāļāđāļĨāļāļāđ āļēāļāļ§āļāđāļāđāļĄ (Integer) āđāļāļ·āđāļāļĢāļ°āļāļļāļāļļāļĄāļāļĩāđāļāļđāđāļāļāļĨāļīāļ
āđāļ§āļĒāļēāļāļĢāļMsgBox(prompt[,button],title] [,, helpfile,context])āļāļāļāļāļąāļ MsgBox āļĄāļĩāđāļ§āļĒāļēāļāļĢāļāļāļāļāļŠāļ§āļ āļāļ·āļ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļprompt āļāļąāļāļāļąāļ, āđāļāļ expression āļāļāļāļ§āļēāļĄāđāļŠāļāļāļāļēāļ§āļŠāļēāļĢāđāļ dialog box āļāļ§āļēāļĄāļĒāļēāļ§āļŠāļđāļāļŠāļļāļāļāļāļ prompt
āļāļĢāļ°āļĄāļēāļ 1,024 āļāļąāļ§āļāļąāļāļĐāļĢ āļāļķāđāļāļāļąāļāļāļ§āļēāļĄāļāļ§āļēāļāļāļāļāļāļąāļ§āļāļąāļāļĐāļĢāļāļĩāđāđāļ āļāļē prompt āļĒāļēāļ§āļāļ§āļēāļŦāļāļķāđāļāļāļĢāļĢāļāļąāļ āđāļŦāđāļāļāļāļĢāļĢāļāļąāļāđāļāļĒāđāļāļāļąāļ§āļāļąāļāļĐāļĢ carriage return (Chr(13)) āļāļąāļ§āļāļąāļāļĐāļĢ linefeed (Chr(10)) āļŦāļĢāļ·āļāļĢāļ§āļĄāļāļąāļ§āļāļąāļāļĐāļĢ carriage return āđāļĨāļ° āļāļąāļ§āļāļąāļāļĐāļĢ linefeed (Chr(13) & Chr(10))āļĢāļ°āļŦāļ§āļēāļāđāļāļĨāļ°āļāļĢāļĢāļāļąāļ
button āđāļĄāļāļąāļāļāļąāļ, āđāļāļ expression āļāļąāļ§āđāļĨāļāļāļĩāđāđāļāļāļāļĨāļĢāļ§āļĄāļāļāļāļāļēāļāļĩāđāļĢāļ°āļāļļāļāđ āļēāļāļ§āļāđāļĨāļ°āļāļĢāļ°āđāļ āļāļāļāļāļāļļāļĄāļāļĩāđāđāļŠāļāļ, āļĢāļđāļāđāļāļāļāļēāļĢāđāļāļāļāļ icon, āđāļāļāļĨāļąāļāļĐāļāļāļāļāļāļļāļĄāđāļĢāļīāđāļĄāļāļ āđāļĨāļ° modal āļāļāļāļāļēāļ§āļŠāļēāļĢ āļāļēāđāļĄāļāđ āļēāļŦāļāļ āļāļēāđāļĢāļīāđāļĄāļāļāļāļāļ buttons āļāļ·āļ 0
title āđāļĄāļāļąāļāļāļąāļ, āđāļāļ expression āļāļāļāļ§āļēāļĄāđāļŠāļāļāļāļ·āđāļāļāļĩāđāđāļāļāđāļāđāļāļīāļĨ (Title bar) āļāļāļ dialog box āļāļēāđāļĄāļāđ āļēāļŦāļāļ title āļāļ°āđāļāđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļāđāļāļāļāļ·āđāļāļāļĩāđāđāļāļāđāļāđāļāļīāļĨ
helpfile āđāļĄāļāļąāļāļāļąāļ, āđāļāļ expression āļāļāļāļ§āļēāļĄāđāļŠāļāļāđāļāļĨ Help file āļāļĩāđāđāļŦāļāđ āļēāđāļāļ°āļāđ āļēāđāļĨāļ°āļāļēāļĢāļāļ§āļĒāđāļŦāļĨāļ·āļ
widebase.net âVBA References
90
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāļŠāđ āļēāļŦāļĢāļąāļ dialog box āļāļēāļāđ āļēāļŦāļāļ helpfile āļāļ°āļāļāļāļāđ āļēāļŦāļāļ context āļāļ§āļĒ
context āđāļĄāļāļąāļāļāļąāļ, āđāļāļ expression āļāļāļāļ§āļēāļĄāđāļŠāļāļāļŦāļĄāļēāļĒāđāļĨāļ Help context āļāļĩāđāļāđ āļēāļŦāļāļāļāļēāļĄāļŦāļąāļ§āļāļāļāļēāļĢāļāļ§āļĒāđāļŦāļĨāļ·āļāđāļāļĒāļāļđāđāļāļĩāļĒāļ Help āļāļēāļāđ āļēāļŦāļāļ context āļāļ°āļāļāļāļāđ āļēāļŦāļāļ helpfile āļāļ§āļĒ
āļāļēāļĢāļāļąāđāļāļāļēāļāļēāļāļīāļ§āđāļĄāļāļ buttons āļāđ āļēāļŦāļāļāļāļēāđāļāđāļāļ
āļāļēāļāļāļāļĩāđ āļāļē āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļVbOKOnly 0 āđāļŠāļāļāđāļāļāļēāļ°āļāļļāļĄ OK āđāļāļēāļāļąāđāļVbOKCancel 1 āđāļŠāļāļāļāļļāļĄ OK āđāļĨāļ° CancelVbAbortRetryIgnore 2 āđāļŠāļāļāļāļļāļĄ Abort, Retry, āđāļĨāļ° IgnoreVbYesNoCancel 3 āđāļŠāļāļāļāļļāļĄ Yes, No, āđāļĨāļ° CancelVbYesNo 4 āđāļŠāļāļāļāļļāļĄ Yes āđāļĨāļ° NoVbRetryCancel 5 āđāļŠāļāļāļāļļāļĄ Retry and Cancel buttonsVbCritical 16 āđāļŠāļāļ icon āļāļāļāļāļēāļ§āļŠāļēāļĢāļ§āļīāļāļĪāļāļī (Critical Message)vbQuestion 32 āđāļŠāļāļ icon āļāļēāļĢāđāļāļ·āļāļāļāļāļāļāļīāļ§āļĢāļĩāđ (Warning Query)vbExclamation 48 āđāļŠāļāļ icon āļāļāļāļāļēāļĢāđāļāļ·āļāļ (Warning Message)vbInformation 64 āđāļŠāļāļ icon āļāļāļāļŠāļēāļĢāļŠāļāđāļāļĻ (Information Message)vbDefaultButton1 0 āļāļļāļĄāđāļĢāļāđāļāļāļāļļāļĄāđāļĢāļīāđāļĄāļāļvbDefaultButton2 256 āļāļļāļĄāļāļĩāđāļŠāļāļāđāļāļāļāļļāļĄāđāļĢāļīāđāļĄāļāļvbDefaultButton3 512 āļāļļāļĄāļāļĩāđāļŠāļēāļĄāđāļāļāļāļļāļĄāđāļĢāļīāđāļĄāļāļvbDefaultButton4 768 āļāļļāļĄāļāļĩāđāļŠāđāļĩāđāļāļāļāļļāļĄāđāļĢāļīāđāļĄāļāļvbApplicationModal 0 modal āļāļāļāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļĩāđāļāļđāļāļāļāļāļāļāļŠāļāļāļāļāļąāļ message box āļāļāļāļāļĩāđ
āļāļ°āļāđ āļēāļāļēāļāļāļāđāļāđāļāđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļāļāļāļāļļāļāļąāļvbSystemModal 4096 modal āļāļāļāļĢāļ°āļāļāļāļĩāđāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļąāđāļāļŦāļĄāļāļāļ°āļāļđāļāļŦāļĒāļļāļāļāļāļāļ§āļēāļāļđāđāļāļāļāļ
āļŠāļāļāļāļāļąāļ message boxvbMsgBoxHelpButton 16384 āđāļāļīāđāļĄāļāļļāļĄ Help āđāļ message boxvbMsgBoxSetForeground 65536 āļāđ āļēāļŦāļāļ window āļāļāļ message box window āđāļāļ foreground
windowvbMsgBoxRtlReading 1048576 āļāđ āļēāļŦāļāļāđāļŦāļāļēāļāļāļēāļāļāļ§āļēāđāļāļāļēāļĒāļāļēāļĄāļĢāļ°āļāļ Hebrew āđāļĨāļ° Arabic
āļāļĨāļļāļĄāđāļĢāļ (0-5) āļāļāļīāļāļēāļĒāļŦāļĄāļēāļĒāđāļĨāļāđāļĨāļ°āļāļĢāļ°āđāļ āļāļāļāļāļāļļāļĄāļāļĩāđāļāļ°āđāļŠāļāļāđāļ dialog box, āļāļĨāļļāļĄāļāļĩāđ 2 (16, 32, 48, 64) āļāļāļīāļāļēāļĒāļĢāļđāļāđāļāļāļāļāļ icon, āļāļĨāļļāļĄāļāļĩāđ 3 (0, 256, 512) āļŦāļēāļāļļāļĄāđāļĢāļīāđāļĄāļāļ āđāļĨāļ°āļāļĨāļļāļĄāļāļĩāđ 4 (0, 4096) āļŦāļē modal āļāļāļ message box
widebase.net âVBA References
91
āļŦāļĄāļēāļĒāđāļŦāļāļļ āļāļēāļāļāļāļĩāđāđāļŦāļĨāļēāļāļĩāđāļāđ āļēāļŦāļāļāđāļāđāļāļĒ Visual Basic for Application (VBA) āļāđ āļēāđāļŦāļŠāļēāļĄāļēāļĢāļāđāļāđāļāļāļēāļĢāđāļāļĩāļĒāļāļāđ āļēāļŠāđāļąāļāđāļāļāļāļĩāđāļāļēāļĢāļāđ āļēāļŦāļāļāļāļē
āļāļēāļŠāļāļāļāļāļāļēāļāļāļāļĩāđ āļāļē āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļvbOK 1 OKvbCancel 2 CancelvbAbort 3 AbortvbRetry 4 RetryvbIgnore 5 IgnorevbYes 6 YesvbNo 7 No
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļĄāļ·āđāļāļĄāļĩāļāļēāļĢāļāđ āļēāļŦāļāļāļāļēāļāļīāļ§āđāļĄāļāļ helpfile āđāļĨāļ° context āļāļđāđāļāļŠāļēāļĄāļēāļĢāļāļāļāļāļļāļĄ F1 āđāļāļ·āđāļāļāļđāļŦāļąāļ§āļāļāļāļēāļĢāļāļ§āļĒāđāļŦāļĨāļ·āļāļāļĩāđāļāļĢāļāļāļąāļ context āđāļāļāļēāļāđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļ āđāļāļ Microsoft Excel āļāļ°āđāļāļīāđāļĄāļāļļāļĄ Help āđāļŦāđāļāļĒāļāļąāļāđāļāļĄāļąāļāļīāđāļ dialog boxāļāļē dialog box āđāļŠāļāļāļāļļāļĄ Cancel āļāļēāļĢāļāļāļāļļāļĄ ESC āļāļ°āļĄāļĩāļāļĨāđāļāļāđāļāļĩāļĒāļ§āļāļąāļāļāļēāļĢāļāļĨāļīāļāļāļļāļĄ Cancel āļāļē dialog box āļĄāļĩāļāļļāļĄ Help āļāļ°āļĄāļĩ context-sensitive Help āđāļŦāļŠāđ āļēāļŦāļĢāļąāļ dialog box āđāļāļāļ°āđāļĄāļĄāļĩāļāļēāļāļāļāļĄāļēāļāļāļāļ§āļēāļĄāļĩāļāļēāļĢāļāļĨāļīāļāļāļļāļĄāđāļāļāļļāļĄāļŦāļāļķāđāļāļāļ dialog boxāļŦāļĄāļēāļĒāđāļŦāļāļļ āļāļēāļĢāļāđ āļēāļŦāļāļāļāļēāļāļīāļ§āđāļĄāļāļāļāļāļāđāļŦāļāļ·āļāļāļēāļāļāļēāļāļīāļ§āđāļĄāļāļāđāļĢāļāđāļĨāļ§ āļāļāļāđāļāļāļāļāļāļąāļ MsgBox āđāļāļ expressionāļāļēāļĢāđāļĄāļāđ āļēāļŦāļāļāļāļēāļāļāđ āļēāđāļŦāļāļāļāļāļāļāļēāļāļīāļ§āđāļĄāļāļāļāļāļāđāļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļļāļĨāļ āļēāļ (,) āđāļāļāļēāļĢāļāļēāļĄāļāđ āļēāđāļŦāļāļāļāļąāđāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ InputBox, MsgBox action
āļ§āļīāļāļĩāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļ Accessāļāļāļāļāļąāļ MsgBox āļŠāļēāļĄāļēāļĢāļāđāļāđāļ Microsoft Access āđāļāļāļēāļĢāļŠāļĢāļēāļāļĢāļđāļāđāļāļāļāļāļāļāļēāļ§āļŠāļēāļĢāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļāļāļĨāļēāļĒāļāļąāļāļāļēāļ§āļŠāļēāļĢāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļāđāļāļ built-in āļāļāļ Microsoft Accessāļāļąāļ§āļāļĒāļēāļāļāļāđāļāļāļĩāđāđāļŠāļāļāļĢāļđāļāđāļāļāļāļāļ dialog box āļāļĩāđāđāļāļāļāļāļāļ§āļēāļĄāđāļāļāđāļāļāļŠāļ§āļ āļŠāļ§āļāđāļĢāļāđāļāļāļāļāļāļ§āļēāļĄāđāļāļāļŦāļąāļ§āđāļĢāļ·āđāļāļāļāļąāļ§āļŦāļāļē āļŠāļ§āļāļāļĩāđāļŠāļāļāđāļāļāļāļąāļ§āļāļąāļāļĐāļĢāļāļĢāļĢāļĄāļāļēāđāļāļŦāļąāļ§āđāļĢāļ·āđāļāļ āđāļĨāļ°āļŠāļ§āļāļāļĩāđāļŠāļēāļĄāđāļāļāļāļąāļ§āļāļąāļāļĐāļĢāļāļĢāļĢāļĄāļāļēāđāļŠāļāļāļāđ āļēāļāļāļāļāļāļāļŦāļąāļ§āđāļĢāļ·āđāļāļ āļāļēāļĄāļāļąāļ§āļāļĒāļēāļāļāļāļāļāļąāļ
MsgBox "Wrong button!" & chr(13) & "This button doesn't work." & chr(13) _& "Try another.", vbOKOnly + vbExclamation
āļāļēāļĢāđāļāļāļŠāļ§āļāļŠāļēāļĄāļēāļĢāļāđāļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒ (@) āđāļāđāļ Acc9TBD āļāļāļāļāļąāļ MsgBox āđāļĄāļĒāļīāļāļĒāļāļĄāđāļŦāđāļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒ (@)āđāļāļāļēāļĢāđāļāļāļŠāļ§āļ
widebase.net âVBA References
92
āļŦāļĄāļēāļĒāđāļŦāļāļļ āļāļēāļĢāđāļŠāļāļ message box āđāļāļĒāđāļĄāļĄāļĩāđāļāļāļāļ āđāļ Microsoft Access āļāđ āļēāđāļāļāļĒāļēāļāļāļēāļĒāđāđāļāļĒāļāļēāļĢāđāļĄāļāđ āļēāļŦāļāļāļāļēāļāļāļāļĩāđāļŠāđ āļēāļŦāļĢāļąāļ āđāļāļāļāļ āļŦāļĢāļ·āļāđāļŦāļāļēāđāļāļ 0 āļŠāđ āļēāļŦāļĢāļąāļāļāļēāļāļīāļ§āđāļĄāļāļ buttons āļāļēāļĄāļāļąāļ§āļāļĒāļēāļāļāļĩāđ
MsgBox "No icons included.", 0
āļ§āļīāļāļĩāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļ Excelāđāļ Microsoft Excel āļāļāļāļ§āļēāļĄāđāļāļāļēāļāļīāļ§āđāļĄāļāļ prompt āđāļāđāļāļāļāļāļ§āļēāļĄāđāļāđāļĄāđāļāļīāļ 256 āļāļąāļ§āļāļąāļāļĐāļĢ
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ MsgBox āđāļāļāļēāļĢāđāļŠāļāļāļāļēāļ§āļŠāļēāļĢāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļāļ§āļīāļāļĪāļāļī (Critical-error message) āđāļ dialog box āļāļĩāđāļĄāļĩāļāļļāļĄ Yes āđāļĨāļ° No āđāļāļĒāļāļļāļĄ No āļāđ āļēāļŦāļāļāđāļāļāļāļļāļĄāđāļĢāļīāđāļĄāļāļ āļāļēāļāļĩāđāļŠāļāļāļāļāļĄāļēāđāļāļĒāļāļāļāļāļąāļ MsgBox āļāļķāđāļāļāļąāļāļāļļāļĄāļāļĩāđāđāļĨāļ·āļāļāđāļāļĒāļāļđāđāļ āļāļēāļĄāļāļąāļ§āļāļĒāļēāļāļŠāļĄāļĄāļāļīāđāļŦāđāļāļĨ DEMO.HLP āđāļāļāđāļāļĨāļāļ§āļĒāđāļŦāļĨāļ·āļ (Help file) āļāļĩāđāđāļāđāļāļŦāļąāļ§āļāļāļāļ§āļĒāļŦāļĄāļēāļĒāđāļĨāļ Help context āđāļāļēāļāļąāļ 1000
Dim Msg, Style, Title, Help, Ctxt, Response, MyStringMsg = "Do you want to continue? " ' āļāđ āļēāļŦāļāļāļāļēāļ§āļŠāļēāļĢStyle = vbYesNo + vbCritical + vbDefaultButton2 ' āļāđ āļēāļŦāļāļāļāļļāļĄTitle = "MsgBox Demonstration" ' āļāđ āļēāļŦāļāļāđāļāļāđāļāđāļāļīāļĨHelp = "DEMO.HLP" ' āļāđ āļēāļŦāļāļ Help file.Ctxt = 1000 ' āļāđ āļēāļŦāļāļ topic contextResponse = MsgBox(Msg, Style, Title, Help, Ctxt) ' āđāļŠāļāļāļāļēāļ§āļŠāļēāļĢIf Response = vbYes Then ' āļāļđāđāļāđāļĨāļ·āļāļ Yes MyString = "Yes" ' āđāļāļĢāļĒāļĩāļĄāļāļēāļĢāļāđ āļēāļāļēāļElse ' āļāļđāđāļāđāļĨāļ·āļāļ No MyString = "No" ' āđāļāļĢāļĒāļĩāļĄāļāļēāļĢāļāđ āļēāļāļēāļEnd If
āļāļąāļ§āļāļĒāļēāļāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļ Accessāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ MsgBox āđāļāļāļēāļĢāļŠāļĢāļēāļāļĢāļđāļāđāļāļāļāļāļāļāļēāļ§āļŠāļēāļĢāđāļ Microsoft Access āļŦāļĄāļēāļĒāđāļŦāļāļļ āđāļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒ (@) āđāļāļāļēāļĢāđāļāļāļŠāļ§āļ
Sub CustomMessage() Dim strMsg As String, strInput As String ' āļāđ āļēāļŦāļāļāļāļāļāļ§āļēāļĄāđāļĢāļīāđāļĄāļāļ strMsg = "Number outside range.@You entered a number that is " & "less than 1 or greater than 10.@Press OK to enter the number again."' Prompt āļŠāđ āļēāļŦāļĢāļąāļāļāļđāđāļāļāļāļāļāļē strInput = InputBox("Enter a number between 1 and 10.") If strInput <> "" Then ' āļāļēāļĢāļŦāļēāļāļē āļāļēāļāļđāđāļāđāļĨāļ·āļāļ "Cancel" Do While strInput < 0 Or strInput > 10 ' āļāļāļŠāļāļāļāļēāļāļĩāđāļāļāļāļāļāļāļāļđāđāļ If MsgBox(strMsg, vbOKCancel, "Error!") = vbOK Then strInput = InputBox("Enter a number between 1 and 10.") Else Exit Sub End If Loop MsgBox "You entered the number " & strInput & "." ' āđāļŠāļāļāļ§āļēāļāļļāđāļāļāļāļāļāļēāļāļđāļāļāļāļ Else Exit Sub End IfEnd Sub
widebase.net âVBA References
93
Name StatementāđāļāļĨāđāļĩāļĒāļāļāļ·āđāļāđāļāļĨ
āđāļ§āļĒāļēāļāļĢāļName oldpathname As newpathnameāđāļ§āļĒāļēāļāļĢāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Name āļĄāļĩāļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāļŠāļ§āļ āļāļąāļāļāļĩāđ
āļŠāļ§āļ āļāđ āļēāļāļāļīāļāļēāļĒOldpathname āļāļąāļāļāļąāļ, āđāļāļ string expression āļāļĩāđāļĢāļ°āļāļļāļāļ·āđāļāđāļāļĨ āđāļĨāļ°āļāđ āļēāđāļŦāļāļ āļāļķāđāļāļāļēāļāļāļ°āļĢāļ§āļĄāļāļķāļāđāļāđāļĢāļāļāļāļĢāļĩ
āļŦāļĢāļ·āļāđāļāļĨāđāļāļāļĢ āđāļĨāļ°āđāļāļĢāļNewpathname āļāļąāļāļāļąāļ, āđāļāļ string expression āļāļĩāđāļĢāļ°āļāļļāļāļ·āđāļāđāļāļĨāđāļŦāļĄ āđāļĨāļ°āļāđ āļēāđāļŦāļāļ āļāļķāđāļāļāļēāļāļāļ°āļĢāļ§āļĄāļāļķāļāđāļāđāļĢāļ
āļāļāļĢāļĩ āļŦāļĢāļ·āļāđāļāļĨāđāļāļāļĢ āļāļ·āđāļāđāļāļĨāļāļĩāđāļĢāļ°āļāļļāļāļ§āļĒ newpathname āđāļĄāļŠāļēāļĄāļēāļĢāļāđāļāļāđāļāļĨāļāļĩāđāļĄāļĩāļāļĒāļđāđāļĨāļ§
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļąāđāļ newpathname āđāļĨāļ° oldpathname āļāļāļāļāļĒāļđāđāļāļĢāļāđāļāļĩāļĒāļ§āļāļąāļ āļāļēāļāļēāļĢāļāđāļ newpathname āļĄāļĩāļāļĒāļđāđāļĨāļ°āđāļāļāļāļēāļāļāļēāļāļāļēāļĢāļāđāļ oldpathname āļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Name āļāļ°āļĒāļēāļĒāđāļāļĨāđāļāļāļĩāđāđāļāđāļĢāļāļāļāļĢāļĩ āļŦāļĢāļ·āļāđāļāļĨāđāļāļāļĢāđāļŦāļĄāđāļĨāļ°āđāļāļĨāđāļĩāļĒāļāļāļ·āđāļāđāļāļĨ āļāļē newpathname āđāļĨāļ° oldpathname āļĄāļĩāļāļēāļĢāļāļāļēāļāļāļąāļ āđāļĨāļ°āļĄāļĩāļāļ·āđāļāđāļāļĨāđāļāļĩāļĒāļ§āļāļąāļ āļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Name āļāļ°āļĒāļēāļĒāđāļāļĨāđāļāļāļĩāđāļāđ āļēāđāļŦāļāļāđāļŦāļĄ āđāļĨāļ°āđāļāļāļ·āđāļāđāļāļīāļĄ āļāļēāļĢāđāļ Name āļŠāļēāļĄāļēāļĢāļāļĒāļēāļĒāđāļāļĨāļāļēāļāđāļāđāļĢāļāļāļāļĢāļĩāđāļŦāļĢāļ·āļāđāļāļĨāđāļāļāļĢāļŦāļāļķāđāļāđāļāļāļĩāđāļāļ·āđāļ āđāļāđāļĄāļŠāļēāļĄāļēāļĢāļāļĒāļēāļĒāđāļāđāļĢāļāļāļāļĢāļĩ āļŦāļĢāļ·āļāđāļāļĨāđāļāļāļĢ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄKill Statement
āļāļąāļ§āļāļĒāļēāļDim OldName, NewNameOldName = "OLDFILE" ' āļāđ āļēāļŦāļāļāļāļ·āđāļāđāļāļĨNewName = "NEWFILE"Name OldName As NewName ' āđāļāļĨāļĩāļĒāđāļāļāļ·āđāļāđāļāļĨOldName = "C:\MYDIR\OLDFILE"NewName = "C:\YOURDIR\NEWFILE"Name OldName As NewName ' āļĒāļēāļĒāđāļĨāļ°āđāļāļĨāļĩāđāļĒāļāļāļ·āđāļāđāļāļĨ
Now FunctionāļāļēāļāļĩāđāļŠāļāļāļāļāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (Date) āļāļ§āļĒāļāļēāļ§āļąāļāļāļĩāđ āđāļĨāļ°āđāļ§āļĨāļēāļāļāļāļļāļāļąāļ āļāļēāļĄāļāļēāļŽāļīāļāļēāļāļāļāļĢāļ°āļāļ
āđāļ§āļĒāļēāļāļĢāļNow
widebase.net âVBA References
94
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Date, āļāļāļāļāļąāļ Day, āļāļāļāļāļąāļ Hour, āļāļāļāļāļąāļ Minute, āļāļāļāļāļąāļ Month, āļāļāļāļāļąāļ Second, āļāļāļāļāļąāļ Time,āļāļāļāļāļąāļ Weekday, āļāļāļāļāļąāļ Year
āļāļąāļ§āļāļĒāļēāļDim myDate
myDate = Now â āļāđ āļēāļŦāļāļāļāļēāļ§āļąāļāļāđāļĩ āđāļĨāļ°āđāļ§āļĨāļēāļāļāļāļļāļāļąāļāļāļēāļāļāļēāļŽāļīāļāļēāļāļāļāđāļāļĢāļ·āđāļāļ
āļāļąāļ§āļāļĒāļēāļāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļ AccessāļāļēāļĢāļāđ āļēāļŦāļāļāļāļāļāļāļąāļ Date āļāļĩāđāļāļļāļāļŠāļĄāļāļąāļāļī ControlSource āđāļŦāļāđ āļēāļŦāļāļāđāļāļĢāļđāļāđāļāļāđāļāļ=Now()
NPer FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double āļāļĩāđāļĢāļ°āļāļļāļāđ āļēāļāļ§āļāļāļ§āļāļāļāļāļāļēāļĢāļāļēāļĒ āļāļĢāļēāļ āđāļāļĒāļĄāļĩāļāļ§āļāļāļēāļĢāļāļēāļĒāļŠāļĄāđāđ āļēāđāļŠāļĄāļ āļāļēāļĢāļāļēāļĒāļāļāļāļĩāđ āđāļĨāļ°āļāļąāļāļĢāļēāļāļāļāđāļāļĩāđāļĒāļāļāļāļĩāđ
āđāļ§āļĒāļēāļāļĢāļNPer(rate, pmt, pv [,fv [,type]])āļāļēāļāļīāļ§āđāļĄāļāļāļāļāļāļāļāļāļāļąāļ NPer āļĄāļĩāļāļ§āļēāļĄāļŦāļĄāļēāļĒ āļāļ·āļ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļrate āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double, āļĢāļ°āļāļļāļāļąāļāļĢāļēāļāļāļāđāļāļĩāđāļĒāļāļāļāļ§āļ āđāļāļ āļāļēāļĢāļāļđāđāļāļīāļāļāļ·āđāļāļĢāļāļĒāļāļāļāļĩāđāļāļąāļāļĢāļēāļāļāļāđāļāļĩāđāļĒ
10% āļāļāļ āđāļĨāļ°āļāļ§āļāļāļēāļĢāļāļēāļĒāđāļāļāļĢāļēāļĒāđāļāļ·āļāļ āļāļąāļāļĢāļēāļāļāļāđāļāļĩāđāļĒāļāļāđāļāļ·āļāļ āļāļ·āļ 0.1/12 āļŦāļĢāļ·āļ 0.0083pmt āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double, āļĢāļ°āļāļļāļāđ āļēāļāļ§āļāđāļāļīāļāļāļēāļĒāđāļāđāļāļĨāļ°āļāļ§āļ āļāļēāļĢāļāļēāļĒāļāļāļāļīāļĢāļ§āļĄāđāļāļīāļāļāļāđāļĨāļ°āļāļāļ
āđāļāļĩāđāļĒ āļāļķāđāļāđāļĄāļŠāļēāļĄāļēāļĢāļāđāļāļĨāļĩāđāļĒāļāđāļāļāļĨāļāļāļāļēāļĒāļļāļāļēāļĢāđāļāļāļēāļpv āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant, āļĄāļđāļĨāļāļēāļāļāļāļļāļāļąāļ (āļŦāļĢāļ·āļāđāļāļīāļāļĢāļ§āļĄāļāļąāđāļāļŦāļĄāļ) āļāļāļāļāļļāļāļāļēāļĢāļāļēāļĒāļŠāđ āļēāļŦāļĢāļąāļāļĄāļđāļĨāļāļē
āļāļāļēāļāļ āđāļāļ āļāļēāļĢāļĒāļ·āļĄāđāļāļīāļāđāļāļ·āđāļāļāļ·āđāļāļĢāļāļĒāļāļ āđāļāļīāļāļāļđ āļāļ·āļ āļĄāļđāļĨāļāļēāļāļāļāļļāļāļąāļāļāļĩāđāļāļđāļāļđāļāļāļāļāļēāļĒāđāļāļāļĢāļēāļĒāđāļāļ·āļāļ āļāļēāđāļĄāļāđ āļēāļŦāļāļāļāļ°āđāļāļāļēāđāļāļ 0
fv āđāļĄāļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double, āļĢāļ°āļāļļāļĄāļđāļĨāļāļēāđāļāļāļāļēāļāļ āļŦāļĢāļ·āļāļāđ āļēāļāļ§āļāļŠāļāļāļāđāļŦāļĨāļ·āļāđāļĄāļ·āđāļāļŠāđāļīāļāļŠāļļāļāļāļ§āļāļāļēāļĢāļāļēāļĒ āđāļāļ āļāļāļāļāļēāļĢāļāļēāļāđāļāļīāļāļāļāļĄāđāļāļ·āđāļāļŦāđāļ āļŋ50,000 āđāļāļĢāļ°āļĒāļ°āđāļ§āļĨāļē 18 āđāļāļ·āļāļ āđāļāļīāļāļāđ āļēāļāļ§āļ āļŋ50,000 āļāļ·āļ āļĄāļđāļĨāļāļēāļāļāļēāļāļ āļāļēāđāļĄāļāđ āļēāļŦāļāļ āļāļ°āđāļāļāļēāđāļāļ 0
type āđāļĄāļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant, āļĢāļ°āļāļļāļāđ āļēāļŦāļāļāļāļēāļĢāļāļēāļĒ āđāļ 0 āļāļēāļāđ āļēāļŦāļāļāļāđ āļēāļĢāļ°āđāļāļāļŠāđāļīāļāļāļ§āļ āļŦāļĢāļ·āļ 1 āļāļēāļāđ āļēāļŦāļāļāļāđ āļēāļĢāļ°āđāļāļāļāļāļāļ§āļ āļāļēāđāļĄāļāđ āļēāļŦāļāļ āļāļ°āđāļāļāļēāđāļāļ 0
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļ§āļāļāļēāļĢāļāļēāļĒāđāļāļāļāļļāļāļāļēāļĢāļāļēāļĒāļāļĩāđāļāļāļāļĩāđāļāļĨāļāļāļĢāļ°āļĒāļ°āđāļ§āļĨāļēāļāļąāđāļāļŦāļĄāļ āļāļēāļĢāļāļēāļĒāļŠāļēāļĄāļēāļĢāļāđāļāļāļāļēāļĢāļāđ āļēāļĢāļ°āđāļāļīāļāļāļđ ( āđāļāļ āļāļēāļāļ§āļāđāļāļīāļāļāļđāļāļ·āđāļāļāļēāļ) āļŦāļĢāļ·āļāļāļēāļĢāļĨāļāļāļļāļ ( āđāļāļ āļāļēāļĢāļāļēāļāđāļāļīāļāļāļāļĄāđāļāļāļĢāļēāļĒāđāļāļ·āļāļ)
widebase.net âVBA References
95
āļāļēāļāļīāļ§āđāļĄāļāļāļāļąāđāļāļŦāļĄāļ āđāļāļīāļāļŠāļāļāļēāļĒāļāļāļ ( āđāļāļ āļāļēāļĢāļāļēāļāđāļāļīāļāļāļāļĄ) āđāļŦāđāļāļāļāļēāļĨāļ āđāļāļīāļāļŠāļāļĢāļąāļāđāļāļē ( āđāļāļ āđāļāļīāļāļāļāļāļĨ) āđāļŦāđāļāļāļāļ§āļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ DDB, āļāļāļāļāļąāļ FV, āļāļāļāļāļąāļ IPmt, āļāļāļāļāļąāļ IRR, āļāļāļāļāļąāļ MIRR, āļāļāļāļāļąāļ NPV, āļāļāļāļāļąāļ Pmt, āļāļāļāļāļąāļPPmt, āļāļāļāļāļąāļ PV, āļāļāļāļāļąāļ Rate, āļāļāļāļāļąāļ SLN, āļāļāļāļāļąāļ SYD
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ NPer āđāļāļāļēāļĢāļŠāļāļāļāļāļāļēāļāđ āļēāļāļ§āļāļāļ§āļāļāļāļāļāļēāļĢāļāļēāļĒ āđāļāļĒāļāļēāļĢāļāļēāļĒāļāđ āļēāļĢāļ°āđāļāļīāļāļāļđāđāļāđāļāļāļēāđāļ PVal āļāļąāļāļĢāļēāļāļāļāđāļāļĩāđāļĒāļāļāļāļāļķāđāļāļāđ āļēāļŦāļāļāđāļāļāļāļ§āļ (APR / 12), āļāļēāļĢāļāļēāļĒ (Payment), āļĄāļđāļĨāļāļēāļāļāļēāļāļāļāļāļāđāļāļīāļāļāļđ (FVal) āđāļĨāļ°āļāļąāļ§āđāļĨāļāļāļĩāđāļĢāļ°āļāļļāļāđ āļēāļŦāļāļāļāļēāļĢāļāļēāļĒ (PayType)
Dim FVal, PVal, APR, Payment, PayType, TotPmtsConst ENDPERIOD = 0, BEGINPERIOD = 1 ' āđāļĄāļ·āļāđāļĄāļĩāļāļēāļĢāļāļēāļĒFVal = 0 ' āļāļē FV āļāļāļāđāļāļīāļāļāļđāļĄāļąāļāļāļ°āļāđ āļēāļŦāļāļāđāļāļ 0PVal = InputBox("How much do you want to borrow?")APR = InputBox("What is the annual percentage rate of your loan?")If APR > 1 Then APR = APR / 100 ' āļāļĢāļ§āļāļŠāļāļāļāļ§āļēāļĄāļāļđāļāļāļāļPayment = InputBox("How much do you want to pay each month?")PayType = MsgBox("Do you make payments at the end of month?", vbYesNo)If PayType = vbNo Then PayType = BEGINPERIOD Else PayType = ENDPERIODTotPmts = NPer(APR / 12, -Payment, PVal, FVal, PayType)If Int(TotPmts) <> TotPmts Then TotPmts = Int(TotPmts) + 1MsgBox "It will take you " & TotPmts & " months to pay off your loan."
NPV FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double āļāļāļāļĄāļđāļĨāļāļēāļāļāļāļļāļāļąāļāļŠāļļāļāļāļīāļāļāļāļāļēāļĢāļĨāļāļāļļāļāļāļĩāđāļāļķāđāļāļāļąāļāļāļ§āļāļāļēāļĢāļāļēāļĒāļŠāļĄāđāđ āļēāđāļŠāļĄāļ āļāļēāļĢāļāļēāļĒāļāļāļāļĩāđ āđāļĨāļ°āļāļąāļāļĢāļēāļāļāļāđāļāļĩāđāļĒāļāļāļāļĩāđ
āđāļ§āļĒāļēāļāļĢāļNPV(rate, value())āļāļēāļāļīāļ§āđāļĄāļāļāļāļāļāļāļāļāļāļąāļ NPV āļĄāļĩāļāļ§āļēāļĄāļŦāļĄāļēāļĒ āļāļ·āļ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļrate āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double, āļĢāļ°āļāļļāļāļąāļāļĢāļēāļāļāļāđāļāļĩāđāļĒāļŠāļ§āļāļĨāļāļāļĨāļāļāļāļ§āļāļāļēāļĢāļĨāļāļāļļāļ āđāļŠāļāļāļāļēāđāļāļāđāļĨāļ
āļāļĻāļāļīāļĒāļĄvalue āļāļąāļāļāļąāļ, āđāļāļ array āļāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double, āļĢāļ°āļāļļāļĄāļđāļĨāļāļēāļāļāļāļāļĢāļ°āđāļŠāđāļāļīāļ āđāļāļĒ array āļāļāļāđāļāđāļāļāļēāļāļĒāļēāļ
āļāļāļĒāđāļāļāļāļēāļĨāļ 1 āļāļē (āļĢāļēāļĒāļāļēāļĒ) āđāļĨāļ°āļāļēāļāļ§āļ 1 āļāļē (āļĢāļēāļĒāļĢāļąāļ)
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļĄāļđāļĨāļāļēāļāļāļāļļāļāļąāļāļŠāļļāļāļāļīāļāļāļāļāļēāļĢāļĨāļāļāļļāļāđāļāļāļāļĢāļ°āđāļŠāļāļāļāļĄāļđāļĨāļāļēāđāļāļāļāļāļĢāļēāļĒāļāļēāļĒāđāļĨāļ°āļĢāļēāļĒāļĢāļąāļāđāļāļāļāļēāļāļ
widebase.net âVBA References
96
āļāļāļāļāļąāļ NPV āđāļāļĨāđ āļēāļāļąāļāļāļāļ value āļ āļēāļĒāđāļ array āđāļāļāļēāļĢāđāļāļĢāļāļ§āļēāļĄāļŦāļĄāļēāļĒāļĨāđ āļēāļāļąāļāļāļāļāļĢāļēāļĒāļāļēāļĒāđāļĨāļ°āļĢāļēāļĒāļĢāļąāļ āļāļąāļāļāļąāđāļāļāļķāļāļāļāļāļĄāļąāđāļāđāļāļ§āļēāļĢāļēāļĒāļāļēāļĒāđāļĨāļ°āļĢāļēāļĒāļĢāļąāļāļāļĒāļđāđāļāļĨāđ āļēāļāļąāļāļāļĩāđāļāļđāļāļāļāļāļāļāļāļāļąāļ NPV āđāļŦāļāļēāļĢāļĨāļāļāļļāļāđāļĢāļīāđāļĄāļāļāļāļāļāđāļāļīāļāļāļĢāļ°āđāļŠāđāļāļīāļāļŠāļāļāļĢāļąāđāļāđāļĢāļāđāļĨāļ°āļŠāļīāđāļāļŠāļļāļāļāļĩāđāļŠāđāļīāļāļāļ§āļāļŠāļļāļāļāļēāļĒāļāļāļāļāļĢāļ°āđāļŠāđāļāļīāļāļŠāļāđāļarrayāļāļēāļĄāļđāļĨāļāļēāļāļāļāļļāļāļąāļāļŠāļļāļāļāļīāļāđ āļēāļāļ§āļāļāļāļāļ·āđāļāļāļēāļāļāļāļāļāļĢāļ°āđāļŠāđāļāļīāļāļŠāļāđāļāļāļāļēāļāļ āļāļēāļāļĢāļ°āđāļŠāđāļāļīāļāļŠāļāđāļĢāļāđāļāļīāļāļāļķāđāļāļāļĩāđāļāļāļāļ§āļ āļāļĢāļ°āđāļŠāđāļāļīāļāļŠāļāļāļ°āļāđ āļēāđāļāļĢāļ§āļĄāđāļāļāļāļēāļāļĩāđāļŠāļāļāļāļāļāļāļāļāļāļāļāļąāļ NPV āđāļĨāļ°āđāļĄāļāđ āļēāđāļāļĢāļ§āļĄāļāļąāļāļāļĢāļ°āđāļŠāđāļāļīāļāļŠāļāļāļāļ valueāļāļāļāļāļąāļ NPV āļāļĨāļēāļĒāļāļąāļāļāļāļāļāļąāļ PV āđāļāļĄāļĩāļāļāđāļāļāļāļēāļāļāļĩāđāļŠāđ āļēāļāļąāļāļĢāļ°āļŦāļ§āļēāļ NPV āđāļĨāļ° PV āļāļ·āļ PV āļĒāļāļĄāđāļŦāļāļĢāļ°āđāļŠāđāļāļīāļāļŠāļāļāļĩāđāļāļ§āļāđāļĢāļīāđāļĄāļŠāļēāļĄāļēāļĢāļāļāđ āļēāļŦāļāļāļāļĩāđāļāļāļāļ§āļāļŦāļĢāļ·āļāļāļĨāļēāļĒāļāļ§āļ āđāļĨāļ°āļāļąāļ§āđāļāļĢ value āļāļāļ PV āļāļāļāļāļāļāļĩāđāļāļĨāļāļāļāļēāļĢāļĨāļāļāļļāļ āđāļāļāļāļ°āļāļĩāđ NPV āđāļĄāļāđ āļēāđāļāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ DDB, āļāļāļāļāļąāļ FV, āļāļāļāļāļąāļ IPmt, āļāļāļāļāļąāļ IRR, āļāļāļāļāļąāļ MIRR, āļāļāļāļāļąāļ NPer, āļāļāļāļāļąāļ Pmt, āļāļāļāļāļąāļPPmt, āļāļāļāļāļąāļ PV, āļāļāļāļāļąāļ Rate, āļāļāļāļāļąāļ SLN, āļāļāļāļāļąāļ SYD
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ NPV āđāļāļāļēāļĢāļŠāļāļāļāļāļāļēāļĄāļđāļĨāļāļēāļāļāļāļļāļāļąāļāļŠāļļāļāļāļīāļŠāđ āļēāļŦāļĢāļąāļāļāļĢāļ°āđāļŠāđāļāļīāļāļŠāļāļāļĩāđāđāļāđāļāđāļ array āļāļ·āđāļ Values() RetRate āđāļŠāļāļāļāļēāļāļąāļāļĢāļēāļāļĨāļāļāļāđāļāļāļ āļēāļĒāđāļāļāļāļāļĩāđ
Dim Fmt, Guess, RetRate, NetPVal, MsgStatic Values(5) As Double ' āļāđ āļēāļŦāļāļ arrayFmt = "###,##0.00" ' āļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļāļāļēāļĢāđāļāļīāļGuess = .1 ' guess āđāļĢāļĄāļīāļāļāļāđāļĩ 10%RetRate = .0625 ' āļāđ āļēāļŦāļāļāļāļąāļāļĢāļēāļāļĨāļāļāļāđāļāļāļ āļēāļĒāđāļāļāļāļāļĩāđValues(0) = -70000 ' āļāļēāđāļāļāļēāļĒāđāļāļāļąāļāļāļąāđāļāļāļļāļĢāļāļīāļ
' āļāļĢāļ°āđāļŠāđāļāļāļīāļŠāļāđāļāļāļāļ§āļāđāļŠāļāļāļĢāļēāļĒāļĢāļąāļ 4 āļāđāļāļāļēāļĢāļāđ āļēāļāļļāļĢāļāļīāļValues(1) = 22000 : Values(2) = 25000Values(3) = 28000 : Values(4) = 31000NetPVal = NPV(RetRate, Values()) ' āļāļēāļĢāļ āđāļēāļāļ§āļāļāļĨāļāļāļāđāļāļāļ āļēāļĒāđāļāļŠāļļāļāļāļī
Msg = "The net present value of these cash flows is "Msg = Msg & Format(NetPVal, Fmt) & "."MsgBox Msg ' āđāļŠāļāļāļāļēāļāļĨāļāļāļāđāļāļāļ āļēāļĒāđāļāļŠāļļāļāļāļī
Oct Function, Oct$ Functionāļāļāļāļāļąāļ Oct āļŠāļāļāļāļāļāļēāđāļāļ Variant (String) āļāļĩāđāđāļŠāļāļāļāļēāđāļĨāļāļāļēāļāđāļāļāļāļāļāļāļąāļ Oct$ āļŠāļāļāļāļāļāļēāđāļāļ String āļāļĩāđāđāļŠāļāļāļāļēāđāļĨāļāļāļēāļāđāļāļ
āđāļ§āļĒāļēāļāļĢāļOct(number)Oct$(number)āļāļēāļāļīāļ§āđāļĄāļāļ number āđāļāļāļāļēāļāļąāļ§āđāļĨāļ āļŦāļĢāļ·āļ Expression āļāļāļāļāļąāļ§āđāļĨāļāļāļĩāđāļĄāļĩāļāļēāļāļĢāļīāļ
widebase.net âVBA References
97
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļē number āđāļĄāđāļāđāļĨāļāļāđ āļēāļāļ§āļāđāļāđāļĄāļāļ°āđāļāļĢāļąāļāļāļēāļĢāļāļĢāļąāļāļāļēāđāļāļāđāļĨāļāļāđ āļēāļāļ§āļāđāļāđāļĄāļāļĩāđāđāļāļĨāļāļĩāđāļŠāļļāļāļāļāļāļāļĢāļ°āļĄāļ§āļĨāļāļĨ
āļāļē number āđāļāļ āļāļēāļāļĩāđāļŠāļāļāļāļāļĄāļēNull NullEmpty āļĻāļđāļāļĒ (0)āļāļąāļ§āđāļĨāļāđāļāđ āđāļŠāļāļāļāļēāđāļĨāļāļāļēāļāđāļāļāđāļāļāļķāļ 8 āļāļąāļ§āļāļąāļāļĐāļĢ
āļāļēāļāļāļāļāļēāļĢāđāļŠāļāļāđāļĨāļāļāļēāļāđāļāļāđāļāļĒāļāļĢāļāļāļēāļĄāļāļēāļāļąāļ§āđāļĨāļāđāļāļāļ§āļāļāļĢāļīāļāļāļ§āļĒ &O āđāļāļ &O(10) āđāļāļ·āđāļāđāļŠāļāļāļāļĻāļāļīāļĒāļĄ āđāļāļĢāļđāļāđāļāļāļāļāļāđāļĨāļāļāļēāļāđāļāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Hex, āļāļāļāļāļąāļ Hex$
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ Oct āđāļāđāļŠāļāļāļāļąāļ§āđāļĨāļāđāļāļāđāļĨāļāļāļēāļāđāļāļ
Dim MyOctMyOct = Oct(4) ' āļŠāļāļāļāļāļāļē 4MyOct = Oct(8) ' āļŠāļāļāļāļāļāļē 10MyOct = Oct(459) ' āļŠāļāļāļāļāļāļē 713
Open Statementāļāđ āļēāđāļŦāļŠāļēāļĄāļēāļĢāļāļāđ āļēāđāļāļēāđāļĨāļ°āļŠāļāļāļāļ (input / output -I/O) āđāļāļāļĩāđāđāļāļĨāđāļ
āđāļ§āļĒāļēāļāļĢāļOpen pathname For mode [access] [lock] As [#] filenumber [Len = reclength]āđāļ§āļĒāļēāļāļĢāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Open āļĄāļĩāļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāļŠāļ§āļāļāļąāļāļāļĩāđ
āļŠāļ§āļ āļāđ āļēāļāļāļīāļāļēāļĒPathname āļāļąāļāļāļąāļ, āđāļāļ string expression āļāļĩāđāļĢāļ°āļāļļāļāļ·āđāļāđāļāļĨ āļāļēāļāļāļ°āļĢāļ§āļĄāļāļķāļāđāļāđāļĢāļāļāļāļĢāļĩ āļŦāļĢāļ·āļāđāļāļĨāđāļāļāļĢ
āđāļĨāļ°āđāļāļĢāļmode āļāļąāļāļāļąāļ, āđāļāļāļāļĩāļĒāđāļ§āļīāļĢāļāļĢāļ°āļāļļāđāļŦāļĄāļāļāļāļāđāļāļĨāļāļ·āļ Append, Binary, Input, output āļŦāļĢāļ·āļ
Random āļāļēāđāļĄāļāđ āļēāļŦāļāļ āđāļāļĨāļāļ°āđāļāļāļŠāđ āļēāļŦāļĢāļąāļāļāļēāļĢāđāļāļēāļāļķāļāđāļāļ Randomaccess āđāļĄāļāļąāļāļāļąāļ, āđāļāļāļāļĩāļĒāđāļ§āļīāļĢāļāļĢāļ°āļāļļāļāļēāļĢāļāļāļļāļāļēāļāļāđ āļēāļāļēāļāļāļ āđāļāļĨāļāļĩāđāđāļāļ āļāļ·āļ Read, Write āļŦāļĢāļ·āļ
Read Writelock āđāļĄāļāļąāļāļāļąāļ, āđāļāļāļāļĩāļĒāđāļ§āļīāļĢāļāļĢāļ°āļāļļāļāļēāļĢāļāļāļļāļāļēāļāļāđ āļēāļāļēāļāļāļ āđāļāļĨāļāļĩāđāđāļāļāđāļāļĒāļāļĢāļ°āļāļ§āļāļāļēāļĢāļāļ·āđāļ āļāļ·āļ
Shared, Lock Read, Lock Write āđāļĨāļ° Lock Read Write
widebase.net âVBA References
98
āļŠāļ§āļ āļāđ āļēāļāļāļīāļāļēāļĒfilenumber āļāļąāļāļāļąāļ, āđāļāļāļŦāļĄāļēāļĒāđāļĨāļāđāļāļĨāļ āļēāļĒāđāļāļāļ§āļ 1 āļāļķāļ 511 āđāļ āļāļāļāļāļąāļ FreeFile āļŠāļĢāļēāļāļŦāļĄāļēāļĒāđāļĨāļ
āđāļĨāļ°āđāļāļĨāļāļāđāļāđāļreclength āđāļĄāļāļąāļāļāļąāļ, āđāļāļāļāļąāļ§āđāļĨāļāļāļāļĒāļāļ§āļēāļŦāļĢāļ·āļāđāļāļēāļāļąāļ 32,767 (āđāļāļ) āļŠāđ āļēāļŦāļĢāļąāļāđāļāļĨāļāļĩāđāđāļāļāđāļŦāđāļāļēāļāļķāļ
āđāļāļ Random āļāļēāļāļĩāđāļāļ·āļ āļāļ§āļēāļĄāļĒāļēāļ§āđāļĢāļāļāļāļĢāļ āļŠāđ āļēāļŦāļĢāļąāļāđāļāļĨ Sequential āļāļēāļāļĩāđ āļāļ·āļ āļāđ āļēāļāļ§āļāļāļąāļ§āļāļąāļāļĐāļĢāļāļāļāļāļąāļāđāļāļāļĢ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļāļāļĄāļĩāļāļēāļĢāđāļāļāđāļāļĨāļāļāļāļāļēāļĢāļāđ āļēāļāļēāļāļāđ āļēāđāļāļēāđāļĨāļ°āļŠāļāļāļāļāļāļąāļāđāļāļĨ Open āļāļąāļāļŠāļĢāļĢāļāļąāļāđāļāļāļĢāļŠāđ āļēāļŦāļĢāļąāļāļāļēāļĢāļāđ āļēāđāļāļēāđāļĨāļ°āļŠāļāļāļāļāđāļŦāļāļąāļāđāļāļĨ āđāļĨāļ°āļŦāļēāđāļŦāļĄāļāļāļēāļĢāđāļāļēāļāļķāļ āđāļāļ·āđāļāđāļāļāļąāļāđāļāļāļĢ āļāļēāđāļāļĨāļĢāļ°āļāļļāđāļāļĒ pathname āđāļĄāļĄāļĩāļāļĢāļīāļ āļāļ°āđāļāļĢāļąāļāļāļēāļĢāļŠāļĢāļēāļāđāļĄāļ·āđāļāđāļāļĨāđāļāļĢāļąāļāļāļēāļĢāđāļāļāļŠāđ āļēāļŦāļĢāļąāļ āđāļŦāļĄāļ Append, Binary, Output āļŦāļĢāļ·āļ RandomāļāļēāđāļāļĨāđāļāļĢāļąāļāļāļēāļĢāđāļāļāđāļāļĒāļāļĢāļ°āļāļ§āļāļāļēāļĢāļāļ·āđāļ āđāļĨāļ°āļĢāļ°āļāļļāļāļĢāļ°āđāļ āļāļāļāļāļāļēāļĢāļŠāļāđāļāļāđāļĄāļĒāļīāļāļĒāļāļĄ āļāļēāļĢāđāļāļāđāļāļĨāļāļ°āļĨāļĄāđāļŦāļĨāļ§ āđāļĨāļ°āļāļĢāļēāļāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļ Len Clause āļāļ°āđāļāļĢāļąāļāļāļēāļĢāļĨāļ°āđāļĨāļĒ āļāļēāđāļŦāļĄāļ āļāļ·āļ Binary Important āđāļāđāļŦāļĄāļ Binary, Input āđāļĨāļ° Random āļŠāļēāļĄāļēāļĢāļāđāļāļāđāļāļĨāļāļ§āļĒāļāļēāļĢāđāļāļŦāļĄāļēāļĒāđāļĨāļāđāļāļĨāļāļĩāđāļāļēāļāļāļąāļ āđāļāļĒāđāļĄāļāļāļāļāļāđāļāļĨāļāļāļ āđāļāđāļŦāļĄāļ Append āđāļĨāļ° Output āļāļāļāļāļāđāļāļĨāļāļāļāļāļēāļĢāđāļāļāļāļ§āļĒāļŦāļĄāļēāļĒāđāļĨāļāđāļāļĨāļāļĩāđāļāļēāļāļāļąāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄClose Statement, āļāļāļāļāļąāļ FreeFile
āļāļąāļ§āļāļĒāļēāļ' āđāļāļāđāļāđāļŦāļĄāļ sequential - inputOpen "TESTFILE" For Input As #1' āļāļāđāļāļĨāļāļāļāđāļāļāđāļŦāļĄāļāļāļ·āđāļClose #1
' āđāļāļāđāļāđāļŦāļĄāļ binary āļŠāđ āļēāļŦāļĢāļąāļāļāļēāļĢāđāļāļĩāļĒāļOpen "TESTFILE" For Binary Access Write As #1' āļāļāđāļāļĨāļāļāļāđāļāļāđāļŦāļĄāļāļāļ·āđāļClose #1
' āđāļāļāđāļāļĨāļŠāđ āļēāļŦāļĢāļąāļāļāļēāļĢāđāļāļēāļāļķāļāđāļāļāļŠāļļāļĄ (random access)Type Record ' āļāđ āļēāļŦāļāļ User - define type ID As Integer Name As String * 20End Type
Dim MyRecord As Record, Position ' āļāļĢāļ°āļāļēāļĻāļāļąāļ§āđāļāļĢOpen "TESTFILE" For Random As #1 Len = Len(MyRecord)' āļāļāđāļāļĨāļāļāļāđāļāļāđāļŦāļĄāļāļāļ·āđāļClose #1
' āđāļāļāđāļāđāļŦāļĄāļ sequential - output āđāļĨāļ°āļāļĢāļ°āļāļ§āļāļāļēāļĢāļāļ·āđāļāļŠāļēāļĄāļēāļĢāļāļāļēāļāļŦāļĢāļ·āļāđāļāļĩāļĒāļāđāļOpen "TESTFILE" For Output Shared As #1' āļāļāđāļāļĨāļāļāļāđāļāļāđāļŦāļĄāļāļāļ·āđāļClose #1
' āđāļāļāđāļāđāļŦāļĄāļ binary āļŠāđ āļēāļŦāļĢāļāļąāļāļēāļĢāļāļēāļ āđāļĨāļ°āļāļĢāļ°āļāļ§āļāļāļēāļĢāļāļ·āđāļāđāļĄāļŠāļēāļĄāļēāļĢāļāļāļēāļāđāļ
widebase.net âVBA References
99
Open "TESTFILE" For Binary Access Read Lock Read As #1' āļāļāđāļāļĨāļāļāļāđāļāļāđāļŦāļĄāļāļāļ·āđāļClose #1
Partition FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (String) āļāļĩāđāļāļĩāđāļāļķāļāļāļēāļĢāļāļĢāļēāļāļāļāļāļāļāļāļĄāļđāļĨāļ āļēāļĒāđāļāļāļēāļĢāļāđ āļēāļāļ§āļāļāļēāļĄāļĨāđ āļēāļāļąāļāļāļāļāļāļ§āļāļāļāļĄāļđāļĨ
āđāļ§āļĒāļēāļāļĢāļPartition(number, start, stop, interval)āļāļēāļāļīāļ§āđāļĄāļāļāļāļāļāļāļāļāļāļąāļ Partition āļĄāļĩāļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļ āļāļ·āļ
āļāļēāļāļīāļ§āđāļĄāļāļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļnumber āļāļąāļāļāļąāļ, āđāļāļāđāļĨāļāļāđ āļēāļāļ§āļāđāļāđāļĄāļāļĩāđāļāļāļāļŦāļēāļāļēāđāļāļāļ§āļstart āļāļąāļāļāļąāļ, āđāļāļāđāļĨāļāļāđ āļēāļāļ§āļāđāļāđāļĄāļāļĩāđāđāļāļāļāļēāđāļĢāļīāđāļĄāļāļāļāļāļāļāļ§āļ āđāļĨāļ°āļāļēāđāļĄāļŠāļēāļĄāļēāļĢāļāļāļāļĒāļāļ§āļē 0stop āļāļąāļāļāļąāļ, āđāļāļāđāļĨāļāļāđ āļēāļāļ§āļāđāļāđāļĄāļāļĩāđāđāļāļāļāļēāļŠāđāļīāļāļŠāļļāļāļāļāļāļāļ§āļ āđāļĨāļ°āļāļēāđāļĄāļāļāļāļāļāļĒāļāļ§āļēāļŦāļĢāļ·āļāđāļāļēāļāļąāļāļāļē startinterval āļāļąāļāļāļąāļ, āđāļāļāđāļĨāļāļāđ āļēāļāļ§āļāđāļāđāļĄāļāļĩāđāđāļāļāļāļēāļ āļēāļĒāđāļāļāļāļāđāļāļāļāļāļāđāļāļĨāļ°āļāļ§āļāļāļēāļĄāļĨāđ āļēāļāļąāļāļāļēāļ start āļāļķāļ
stop āđāļĨāļ°āļāļēāđāļĄāļŠāļēāļĄāļēāļĢāļāļāļāļĒāļāļ§āļē 1
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļāļāļāļąāļ Partition āļāļĩāđāļāļķāļāļāļ§āļāļāļĩāđāļĢāļ°āļāļļāļāļĩāđ number āļĄāļĩāļāļēāļ āļēāļĒāđāļāļāļ§āļ āđāļĨāļ°āļŠāļāļāļēāļāļāļāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (String) āļāļĩāđāļāļāļīāļāļēāļĒāļāļ§āļ āļāļāļāļāļąāļ Partition āļĄāļĩāļāļĢāļ°āđāļĒāļāļāđāļāļāļīāļ§āļĢāļĩāđ āđāļāļĒāļŠāļĢāļēāļāļāļīāļ§āļĢāļĩāđ (Select query) āļāļĩāđāđāļŠāļāļāļĨāđ āļēāļāļąāļāļāļĩāđāļāļĒāļđāļ āļēāļĒāđāļāļāļ§āļāļāļēāļāđ āđāļāļ āļĨāđ āļēāļāļąāļāļāļēāļāļēāļ 1 āļāļķāļ 1000, 1001 āļāļķāļ 2000 āđāļĨāļ°āļāļ·āđāļāđāļāļēāļĢāļēāļāļāļāđāļāđāļāļāļāļēāļĢāđāļŠāļāļāļāļ§āļāļāļĩāđāļŦāļēāļāļ§āļĒāļāļēāļĢāļāļąāđāļāļāļē 3 āļāļēāļāļāļ start, stop āđāļĨāļ° interval āđāļāļĒāļāļāļĨāļąāļĄāļāļāļ§āļāļāļĩāđ 1 āđāļĨāļ°āļāļ§āļāļŠāļļāļāļāļēāļĒāđāļāļāļāļēāļāļĩāđāļŠāļāļāļāļāļĄāļēāļāļ§āļĒāļāļāļāļāļąāļ Partition āļāļ§āļāđāļŦāļĨāļēāļāļĩāđāđāļŠāļāļāļāļ§āļĒ āļāļēāļāļāļāđāļāļāļĨāļēāļ:āļāļēāļāļāļāđāļāļāļāļ āļāļķāđāļāļāļēāļāļāļāđāļāļāļĨāļēāļāđāļĒāļāļāļēāļāļāļēāļāļāļāđāļāļāļāļāļāļ§āļĒāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒ colon (:)
start stop interval Before First First Range Last Range After Last0 99 5 " :-1" " 0: 4" " 95: 99" " 100: "20 199 10 " : 19" " 20: 29" " 190: 199" " 200: "100 1010 20 " : 99" " 100: 119" " 1000: 1010" " 1011: "
āđāļāļāļēāļĢāļēāļāļāļēāļāļāļ āđāļāļ§āļāļĩāđ 3 āđāļŠāļāļāļāļķāļāļāļĨāļĨāļąāļāļāđāļĄāļ·āđāļ start āđāļĨāļ° stop āļāđ āļēāļŦāļāļāļāļĨāļļāļĄāļāļāļāļāļąāļ§āđāļĨāļāļāļĩāđāđāļĄāļŠāļēāļĄāļēāļĢāļāļŦāļēāļĢāļāļ§āļĒ interval āđāļāļĨāļāļāļąāļ§āđāļāļĒāļāļ§āļāļŠāļļāļāļāļēāļĒāļĄāļĩāļāļ§āļāļāļąāļ§āđāļĨāļāđāļāļ 11 āđāļāļāļāļ°āļāļĩāđ interval āļĄāļĩāļāļē 20āļāļēāļĄāļĩāļāļ§āļēāļĄāļāđ āļēāđāļāļ āļāļāļāļāļąāļ Partition āļāļ°āļŠāļāļāļāļāļāļ§āļāļāļĩāđāđāļāđāļ·āļāļāļāļāļ§āļēāļāļŦāļāļēāļāļąāļ§āđāļĨāļāļāļąāđāļāļāļēāļāļāļāđāļāļāļĨāļēāļāđāļĨāļ°āļāļāļāđāļāļāļāļ āđāļāļ·āđāļāļāđ āļēāđāļŦāļĄāđāļąāļāđāļāļ§āļēāļāļāļāļāļąāļ Partition āļŠāļēāļĄāļēāļĢāļāļāļđāđāļĨāļāļąāļ§āđāļĨāļāļāļēāļāđāļĨāļ°āļāļĨāļĨāļąāļāļāļāļāļāļāļāļāļ§āļēāļĄāđāļāļāļđāļāļāļāļ āļĢāļ°āļŦāļ§āļēāļāļāļēāļĢāļāļąāļāđāļĢāļĩāļĒāļāļĨāđ āļēāļāļąāļ
widebase.net âVBA References
100
āļāļē interval āđāļāļ 1 āļāļ°āđāļāļāļ§āļāđāļāļ number:number āđāļāļĒāđāļĄāļāļīāļāļēāļĢāļāļēāļāļēāļāļīāļ§āđāļĄāļāļ start āđāļĨāļ° stop āđāļāļ intervalāđāļāļ 1, number āđāļāļ 100 āđāļĨāļ° stop āđāļāļ 100 āļāļāļāļāļąāļ Partition āļŠāļāļāļāļāļāļēāđāļāļ â 100: 100âāļāļēāļĄāļĩāļŠāļ§āļāđāļāļŠāļ§āļāļŦāļāļķāđāļāđāļāļāļāļēāļ§āļēāļ āļāļāļāļāļąāļ Partition āļŠāļāļāļāļāļāļēāđāļāļ āļāļēāļ§āļēāļ (Null)
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ Partition āđāļāļĒāļŠāļĄāļĄāļāļīāļ§āļē Table āļāļ·āđāļ Orders āļĄāļĩāļāļĨāļāļāļ·āđāļ Freight āđāļŦāļŠāļĢāļēāļāļāļļāļāļāđ āļēāļŠāđāļąāļ SELECTāđāļāļ·āđāļāļāļąāļāļāđ āļēāļāļ§āļāđāļāļŠāļąāđāļāļāļ·āđāļāļāļĩāđāļāļąāļāļāļ§āļāļāļēāļāļāļŠāļāđāļāļāļāļ§āļāļāļēāļāđ āļāļāļāļāļąāļ Partition āļāļ°āđāļāļĢāļąāļāļāļēāļĢāđāļāļāļāļāđāļāļ·āđāļāļŠāļĢāļēāļāļāļ§āļ āļāļēāļāļāļąāđāļāļāļāļāļāļąāļ SQL Count āļāļ°āļāļąāļāđāļāļŠāđāļąāļāļāļ·āđāļāđāļāđāļāļĨāļ°āļāļ§āļ āđāļāļāļąāļ§āļāļĒāļēāļāļāļĩāđ āļāđ āļēāļŦāļāļāļāļēāļāļēāļāļīāļ§āđāļĄāļāļāļāļāļāļāļāļāļāļąāļ Partitionāļāļ·āļ start = 0, stop = 500, interval = 50 āļāļ°āđāļāļāļ§āļāļāļĩāđ 1 āđāļāļ 0:49 āđāļĨāļ°āļāļāđāļāļāļāļāļķāļ 500
SELECT DISTINCTROW Partition([freight],0, 500, 50) AS Range,Count(Orders.Freight) AS CountFROM OrdersGROUP BY Partition([freight],0,500,50);
āļāļąāļ§āļāļĒāļēāļāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļ AccessāļŠāļēāļĄāļēāļĢāļāđāļāļāļāļāļāļąāļ Partition āđāļāļāļēāļĢāļēāļāļāļēāļĢāļāļāļāđāļāļāļāļīāļ§āļĢāļĩāđāđāļĨāļ° SQL view āļāļāļ Query window āđāļāļāļēāļĢāļēāļāļāļēāļĢāļāļāļāđāļāļāļāļīāļ§āļĢāļĩāđāļŠāļēāļĄāļēāļĢāļāđāļāļāļāļāļāļąāļ Partition āđāļāļāļĨāļāļāđ āļēāļāļ§āļāļŦāļĢāļ·āļāļāđ āļēāļŦāļāļ Criteria āļŠāđ āļēāļŦāļĢāļąāļāļāļīāļ§āļĢāļĩāđāđāļāļ Selectāļāļąāļ§āļāļĒāļēāļāļāļāđāļāđāļŠāļāļāļāļēāļĢāđāļāļāļāļāļāļąāļ Partition āđāļāļāļēāļĢāļŠāļĢāļēāļāļāļĨāļāļāđ āļēāļāļ§āļāļāļĩāđāđāļŠāļāļāļĢāļēāļĒāļāļēāļĢāļāđ āļēāļāļ§āļāđāļĢāļāļāļāļĢāļāļāļĩāđāļāļĒāļđāđāļāļāļ§āļāļāļĩāđāļĢāļ°āļāļļ āļŠāļĄāļĄāļāļīāđāļŦ Table āļāļ·āđāļ Orders āļĄāļĩāļāļĨāļ Freight āđāļ Query window āđāļŦāļŠāļĢāļēāļāļāļīāļ§āļĢāļĩāđāđāļŠāļāļāļāļĨāļĢāļ§āļĄāđāļŦāļĄāđāļāļĒāļāļēāļĢāđāļāļīāđāļĄ Table āļāļ·āđāļ Orders āđāļĨāļ°āļāļĨāļīāļāļāļļāļĄ Total āļāļāđāļĄāļāļđāļāđ āļēāļŠāđāļąāļ Query āļāđ āļēāļāļēāļĢ drag āļāļĨāļ Freight āđāļāļāļĩāđāđāļāļĨāļĨāđāļĢāļāļāļāļāđāļāļ§ Field āļāļāļāļēāļĢāļēāļāļāļēāļĢāļāļāļāđāļāļāļāļīāļ§āļĢāļĩāđ āđāļĨāļ°āļāļąāđāļāļāļēāđāļ§āļĨāļĨāđāļāđāļāļ§ Totals āđāļāļ Count āđāļāļāļĨāļāļāļąāļāļĄāļēāđāļŦāļāđ āļēāļŦāļāļ expression
Range: Partition([Freight], 0, 1000, 50)āļāđ āļēāļŦāļāļāđāļāļĨāļĨ Total āļāļāļāļāļĨāļāļāļĩāđāđāļāļ Group by āđāļĨāļ°āđāļĢāļĩāļĒāļāđāļāļāļīāļ§āļĢāļĩāđ āļāļāļāļāļąāļ Partition āļāļ°āļŠāļāļāļāļāļāļēāđāļāļ 11 āļĢāļ°āļāļąāļ (0:99, 100:199, 200:299, āđāļĨāļ°āļāļāđāļ) āļāļīāļ§āļĢāļĩāđāđāļŠāļāļāļāđ āļēāļāļ§āļāđāļāļŠāļąāđāļāļāļ·āđāļāļāļĩāđāļāļĒāļđāđāļāđāļāļĨāļ°āļāļ§āļāļāļąāļ§āļāļĒāļēāļāļāļāđāļāđāļŠāļāļāļāļēāļĢāđāļāļāļāļāļāļąāļ Partition āđāļ SQL view āļāļāļ Query window āđāļāļĒāļāļēāļĢāļŠāļĢāļēāļāļāļīāļ§āļĢāļĩāđāđāļāļ crosstab āđāļāļ·āđāļāļŦāļēāļāļēāļāļāļāļāļĨāļ Freight āđāļ Table āļāļ·āđāļ Orders āđāļŦāļāđ āļēāļāļ§āļāļāđ āļēāļāļ§āļāđāļāļŠāļąāđāļāļāļ·āđāļāđāļĒāļāļāļēāļĄāļāļ§āļāļāļāļāļļāļāļāļēāļāļāļŠāļāļāļāļāļĨāļđāļāļāļēāđāļāļĨāļ°āļĢāļēāļĒ āđāļāļĒāļāļ§āļāļāđ āļēāļŦāļāļāļāļ§āļĒāļāļēāļāļīāļ§āđāļĄāļāļāđāļāļāļāļāļāļąāļ Partition āļāļąāļāļāļĩāđ start = 0, stop = 1000, interval = 50 āđāļŦāļāļāļ expression āđāļ SQL view āđāļĄāļ·āđāļāđāļĢāļĩāļĒāļāđāļāļāļīāļ§āļĢāļĩāđ āļāļ°āļāļĢāļēāļāļāļāļ·āđāļāļāļāļĨāļąāļĄāļāļāļāļāđāļāļĨāļ°āļāļ§āļ
TRANSFORM Count(Orders.[OrderID]) AS [CountOfOrderID]SELECT Orders.[CustomerID]FROM OrdersGROUP BY Orders.[CustomerID]PIVOT Partition(Int([Freight]), 0, 1000, 50);
widebase.net âVBA References
101
Pmt FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double āļāļĩāđāļĢāļ°āļāļļāļāđ āļēāļāļ§āļāđāļāļīāļāļāļēāļĒāđāļāđāļāļĨāļ°āļāļ§āļāļāļĩāđāļāļāļāļāļēāļĢāļāļĢāļēāļ āđāļāļĒāļĄāļĩāļāļ§āļāļāļēāļĢāļāļēāļĒāļŠāļĄāđāđ āļēāđāļŠāļĄāļ āļāļēāļĢāļāļēāļĒāļāļāļāļĩāđ āđāļĨāļ°āļāļąāļāļĢāļēāļāļāļāđāļāļĩāđāļĒāļāļāļāļĩāđ
āđāļ§āļĒāļēāļāļĢāļPmt(rate, nper, pv [,fv [,type]])āļāļēāļāļīāļ§āđāļĄāļāļāļāļāļāļāļāļāļāļąāļ Pmt āļĄāļĩāļāļ§āļēāļĄāļŦāļĄāļēāļĒ āļāļ·āļ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļrate āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double, āļĢāļ°āļāļļāļāļąāļāļĢāļēāļāļāļāđāļāļĩāđāļĒāļāļāļāļ§āļ āđāļāļ āļāļēāļĢāļāļđāđāļāļīāļāļāļ·āđāļāļĢāļāļĒāļāļāļāļĩāđāļāļąāļāļĢāļēāļāļāļ
āđāļāļĩāđāļĒ 10% āļāļāļ āđāļĨāļ°āļāļ§āļāļāļēāļĢāļāļēāļĒāđāļāļāļĢāļēāļĒāđāļāļ·āļāļ āļāļąāļāļĢāļēāļāļāļāđāļāļĩāđāļĒāļāļāđāļāļ·āļāļ āļāļ·āļ 0.1/12 āļŦāļĢāļ·āļ 0.0083per āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double, āļĢāļ°āļāļļāļāļ§āļāļāļēāļĢāļāļēāļĒ āļāļķāđāļāļāļĒāļđāđāļāļāļ§āļ 1 āļāļķāļ npernper āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Integer, āļĢāļ°āļāļļāļāđ āļēāļāļ§āļāļāļ§āļāļāļēāļĢāļāļēāļĒāļāļąāđāļāļŦāļĄāļ āđāļāļ āļāļēāļĢāļāļēāļĒāđāļāļīāļāļāļđāļĢāļēāļĒāđāļāļ·āļāļāļāļāļ
āđāļāļīāļāļāļđ 4 āļ āļāđ āļēāļāļ§āļāļāļ§āļāļāļąāđāļāļŦāļĄāļ āļāļ·āļ 4 * 12 (āļŦāļĢāļ·āļ 48) āļāļ§āļāļāļēāļĢāļāļēāļĒpv āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant, āļĄāļđāļĨāļāļēāļāļāļāļļāļāļąāļ (āļŦāļĢāļ·āļāđāļāļīāļāļĢāļ§āļĄāļāļąāđāļāļŦāļĄāļ) āļāļāļāļāļļāļāļāļēāļĢāļāļēāļĒāļŠāđ āļēāļŦāļĢāļąāļāļĄāļđāļĨ
āļāļēāļāļāļēāļāļ āđāļāļ āļāļēāļĢāļĒāļ·āļĄāđāļāļīāļāđāļāļ·āđāļāļāļ·āđāļāļĢāļāļĒāļāļ āđāļāļīāļāļāļđ āļāļ·āļ āļĄāļđāļĨāļāļēāļāļāļāļļāļāļąāļāļāļĩāđāļāļđāļāļđāļāļāļāļāļēāļĒāđāļāļāļĢāļēāļĒāđāļāļ·āļāļ āļāļēāđāļĄāļāđ āļēāļŦāļāļ āļāļ°āđāļāļāļēāđāļāļ 0
fv āđāļĄāļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double, āļĢāļ°āļāļļāļĄāļđāļĨāļāļēāđāļāļāļāļēāļāļ āļŦāļĢāļ·āļāļāđ āļēāļāļ§āļāļŠāļāļāļāđāļŦāļĨāļ·āļāđāļĄāļ·āđāļāļŠāđāļīāļāļŠāļļāļāļāļ§āļāļāļēāļĢāļāļēāļĒ āđāļāļ āļāļāļāļāļēāļĢāļāļēāļāđāļāļīāļāļāļāļĄāđāļāļ·āđāļāļŦāđāļ āļŋ50,000 āđāļāļĢāļ°āļĒāļ°āđāļ§āļĨāļē 18 āđāļāļ·āļāļ āđāļāļīāļāļāđ āļēāļāļ§āļ āļŋ50,000 āļāļ·āļ āļĄāļđāļĨāļāļēāļāļāļēāļāļ āļāļēāđāļĄāļāđ āļēāļŦāļāļ āļāļ°āđāļāļāļēāđāļāļ 0
type āđāļĄāļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant, āļĢāļ°āļāļļāļāđ āļēāļŦāļāļāļāļēāļĢāļāļēāļĒ āđāļ 0 āļāļēāļāđ āļēāļŦāļāļāļāđ āļēāļĢāļ°āđāļāļāļŠāđāļīāļāļāļ§āļ āļŦāļĢāļ·āļ 1āļāļēāļāđ āļēāļŦāļāļāļāđ āļēāļĢāļ°āđāļāļāļāļāļāļ§āļ āļāļēāđāļĄāļāđ āļēāļŦāļāļ āļāļ°āđāļāļāļēāđāļāļ 0
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļ§āļāļāļēāļĢāļāļēāļĒāđāļāļāļāļļāļāļāļēāļĢāļāļēāļĒāļāļĩāđāļāļāļāļĩāđāļāļĨāļāļāļĢāļ°āļĒāļ°āđāļ§āļĨāļēāļāļąāđāļāļŦāļĄāļ āļāļēāļĢāļāļēāļĒāļŠāļēāļĄāļēāļĢāļāđāļāļāļāļēāļĢāļāđ āļēāļĢāļ°āđāļāļīāļāļāļđ ( āđāļāļ āļāļēāļāļ§āļāđāļāļīāļāļāļđāļāļāļāļēāļ) āļŦāļĢāļ·āļāļāļēāļĢāļĨāļāļāļļāļ ( āđāļāļ āļāļēāļĢāļāļēāļāđāļāļīāļāļāļāļĄāđāļāļāļĢāļēāļĒāđāļāļ·āļāļ)āļāļēāļāļīāļ§āđāļĄāļāļ rate āđāļĨāļ° nper āļāļāļāļĄāļĩāļŦāļāļ§āļĒāđāļāļāļŦāļāļ§āļĒāđāļāļĩāļĒāļ§āļāļąāļ āđāļāļ rate āļāđ āļēāļāļ§āļāđāļāļāļāļąāļāļĢāļēāļāļāđāļāļ·āļāļ nper āļāļ°āļāļāļāđāļāļāļĢāļēāļĒāđāļāļ·āļāļāļāļ§āļĒāļāļēāļāļīāļ§āđāļĄāļāļāļāļąāđāļāļŦāļĄāļ āđāļāļīāļāļŠāļāļāļēāļĒāļāļāļ ( āđāļāļ āļāļēāļĢāļāļēāļāđāļāļīāļāļāļāļĄ) āđāļŦāđāļāļāļāļēāļĨāļ āđāļāļīāļāļŠāļāļĢāļąāļāđāļāļē ( āđāļāļ āđāļāļīāļāļāļāļāļĨ) āđāļŦāđāļāļāļāļ§āļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ DDB, āļāļāļāļāļąāļ FV āļāļāļāļāļąāļ IPmt, āļāļāļāļāļąāļ IRR, āļāļāļāļāļąāļ MIRR, āļāļāļāļāļąāļ NPer, āļāļāļāļāļąāļ NPV, āļāļāļāļāļąāļPPmt, āļāļāļāļāļąāļ PV, āļāļāļāļāļąāļ Rate, āļāļāļāļāļąāļ SLN, āļāļāļāļāļąāļ SYD
widebase.net âVBA References
102
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ Pmt āđāļāļāļēāļĢāļŠāļāļāļāļāļāļēāļāļēāļĢāļāļēāļĒāđāļāļĨāļ°āļāļ§āļāļŠāđ āļēāļŦāļĢāļąāļāđāļāļīāļāļāļđāļāļĨāļāļāļāļ§āļāđāļ§āļĨāļē āđāļāļĒāđāļŦāļāđ āļēāļŦāļāļāļāļąāļāļĢāļēāļāļāļāđāļāļĩāđāļĒāđāļāļāļāļ§āļ (APR / 12), āļāđ āļēāļāļ§āļāļāļ§āļāļāļēāļĢāļāļēāļĒāļāļąāđāļāļŦāļĄāļ (TotPmts), āļĄāļđāļĨāļāļēāļāļāļāļļāļāļąāļāļāļāļāļāļēāļĢāļĨāļāļāļļāļ (PVal), āļĄāļđāļĨāļāļēāđāļāļīāļāļāļđāđāļāļāļāļēāļāļ (FVal), āđāļĨāļ°āļāļąāļ§āđāļĨāļāļāļĩāđāļĢāļ°āļāļļāļāđ āļēāļŦāļāļāļāļēāļĢāļāļēāļĒ (PayType)
Dim Fmt, FVal, PVal, APR, TotPmts, PayType, PaymentConst ENDPERIOD = 0, BEGINPERIOD = 1 ' āđāļĄāļ·āļāđāļĄāļĩāļāļēāļĢāļāļēāļĒFmt = "###,###,##0.00" ' āļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļāļāļēāļĢāđāļāļīāļFVal = 0 ' āļāļē FV āļāļāļāđāļāļīāļāļāļđāļĄāļąāļāļāļ°āļāđ āļēāļŦāļāļāđāļāļ 0PVal = InputBox("How much do you want to borrow?")APR = InputBox("What is the annual percentage rate of your loan?")
If APR > 1 Then APR = APR / 100 ' āļāļĢāļ§āļāļŠāļāļāļāļ§āļēāļĄāļāļđāļāļāļāļTotPmts = InputBox("How many monthly payments will you make?")PayType = MsgBox("Do you make payments at the end of month?", vbYesNo)
If PayType = vbNo Then PayType = BEGINPERIOD Else PayType = ENDPERIODPayment = Pmt(APR / 12, TotPmts, -PVal, FVal, PayType)MsgBox "Your payment will be " & Format(Payment, Fmt) & " per month."
PPmt FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double āļāļĩāđāļĢāļ°āļāļļāļāļēāļĢāđāļāļīāļāļāļēāļĒāļāļāđāļāļāļ§āļāļāļĩāđāļāļāļāļāļēāļĢāļāļĢāļēāļ āđāļāļĒāļĄāļĩāļāļ§āļāļāļēāļĢāļāļēāļĒāļŠāļĄāđāđ āļēāđāļŠāļĄāļ āļāļēāļĢāļāļēāļĒāļāļāļāļĩāđ āđāļĨāļ°āļāļąāļāļĢāļēāļāļāļāđāļāļĩāđāļĒāļāļāļāļĩāđ
āđāļ§āļĒāļēāļāļĢāļPPmt(rate, per, nper, pv [,fv [,type]])āļāļēāļāļīāļ§āđāļĄāļāļāļāļāļāļāļāļāļāļąāļ PPmt āļĄāļĩāļāļ§āļēāļĄāļŦāļĄāļēāļĒ āļāļ·āļ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļrate āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double, āļĢāļ°āļāļļāļāļąāļāļĢāļēāļāļāļāđāļāļĩāđāļĒāļāļāļāļ§āļ āđāļāļ āļāļēāļĢāļāļđāđāļāļīāļāļāļ·āđāļāļĢāļāļĒāļāļāļāļĩāđāļāļąāļāļĢāļēāļāļāļ
āđāļāļĩāđāļĒ 10% āļāļāļ āđāļĨāļ°āļāļ§āļāļāļēāļĢāļāļēāļĒāđāļāļāļĢāļēāļĒāđāļāļ·āļāļ āļāļąāļāļĢāļēāļāļāļāđāļāļĩāđāļĒāļāļāđāļāļ·āļāļ āļāļ·āļ 0.1/12 āļŦāļĢāļ·āļ 0.0083per āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double, āļĢāļ°āļāļļāļāļ§āļāļāļēāļĢāļāļēāļĒ āļāļķāđāļāļāļĒāļđāđāļāļāļ§āļ 1 āļāļķāļ npernper āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Integer, āļĢāļ°āļāļļāļāđ āļēāļāļ§āļāļāļ§āļāļāļēāļĢāļāļēāļĒāļāļąāđāļāļŦāļĄāļ āđāļāļ āļāļēāļĢāļāļēāļĒāđāļāļīāļāļāļđāļĢāļēāļĒāđāļāļ·āļāļāļāļāļ
āđāļāļīāļāļāļđ 4 āļ āļāđ āļēāļāļ§āļāļāļ§āļāļāļąāđāļāļŦāļĄāļ āļāļ·āļ 4 * 12 (āļŦāļĢāļ·āļ 48) āļāļ§āļāļāļēāļĢāļāļēāļĒpv āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant, āļĄāļđāļĨāļāļēāļāļāļāļļāļāļąāļ (āļŦāļĢāļ·āļāđāļāļīāļāļĢāļ§āļĄāļāļąāđāļāļŦāļĄāļ) āļāļāļāļāļļāļāļāļēāļĢāļāļēāļĒāļŠāđ āļēāļŦāļĢāļąāļāļĄāļđāļĨ
āļāļēāļāļāļēāļāļ āđāļāļ āļāļēāļĢāļĒāļ·āļĄāđāļāļīāļāđāļāļ·āđāļāļāļ·āđāļāļĢāļāļĒāļāļ āđāļāļīāļāļāļđ āļāļ·āļ āļĄāļđāļĨāļāļēāļāļāļāļļāļāļąāļāļāļĩāđāļāļđāļāļđāļāļāļāļāļēāļĒāđāļāļāļĢāļēāļĒāđāļāļ·āļāļ āļāļēāđāļĄāļāđ āļēāļŦāļāļ āļāļ°āđāļāļāļēāđāļāļ 0
fv āđāļĄāļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double, āļĢāļ°āļāļļāļĄāļđāļĨāļāļēāđāļāļāļāļēāļāļ āļŦāļĢāļ·āļāļāđ āļēāļāļ§āļāļŠāļāļāļāđāļŦāļĨāļ·āļāđāļĄāļ·āđāļāļŠāđāļīāļāļŠāļļāļāļāļ§āļāļāļēāļĢāļāļēāļĒ āđāļāļ āļāļāļāļāļēāļĢāļāļēāļāđāļāļīāļāļāļāļĄāđāļāļ·āđāļāļŦāđāļ āļŋ50,000 āđāļāļĢāļ°āļĒāļ°āđāļ§āļĨāļē 18 āđāļāļ·āļāļ āđāļāļīāļāļāđ āļēāļāļ§āļ āļŋ50,000 āļāļ·āļ āļĄāļđāļĨāļāļēāļāļāļēāļāļ āļāļēāđāļĄāļāđ āļēāļŦāļāļ āļāļ°āđāļāļāļēāđāļāļ 0
type āđāļĄāļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant, āļĢāļ°āļāļļāļāđ āļēāļŦāļāļāļāļēāļĢāļāļēāļĒ āđāļ 0 āļāļēāļāđ āļēāļŦāļāļāļāđ āļēāļĢāļ°āđāļāļāļŠāđāļīāļāļāļ§āļ āļŦāļĢāļ·āļ 1āļāļēāļāđ āļēāļŦāļāļāļāđ āļēāļĢāļ°āđāļāļāļāļāļāļ§āļ āļāļēāđāļĄāļāđ āļēāļŦāļāļ āļāļ°āđāļāļāļēāđāļāļ 0
widebase.net âVBA References
103
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļ§āļāļāļēāļĢāļāļēāļĒāđāļāļāļāļļāļāļāļēāļĢāļāļēāļĒāļāļĩāđāļāļāļāļĩāđāļāļĨāļāļāļĢāļ°āļĒāļ°āđāļ§āļĨāļēāļāļąāđāļāļŦāļĄāļ āļāļēāļĢāļāļēāļĒāļŠāļēāļĄāļēāļĢāļāđāļāļāļāļēāļĢāļāđ āļēāļĢāļ°āđāļāļīāļāļāļđ ( āđāļāļ āļāļēāļāļ§āļāđāļāļīāļāļāļđāļāļāļāļēāļ) āļŦāļĢāļ·āļāļāļēāļĢāļĨāļāļāļļāļ ( āđāļāļ āļāļēāļĢāļāļēāļāđāļāļīāļāļāļāļĄāđāļāļāļĢāļēāļĒāđāļāļ·āļāļ)āļāļēāļāļīāļ§āđāļĄāļāļ rate āđāļĨāļ° nper āļāļāļāļĄāļĩāļŦāļāļ§āļĒāđāļāļāļŦāļāļ§āļĒāđāļāļĩāļĒāļ§āļāļąāļ āđāļāļ rate āļāđ āļēāļāļ§āļāđāļāļāļāļąāļāļĢāļēāļāļāđāļāļ·āļāļ nper āļāļ°āļāļāļāđāļāļāļĢāļēāļĒāđāļāļ·āļāļāļāļ§āļĒāļāļēāļāļīāļ§āđāļĄāļāļāļāļąāđāļāļŦāļĄāļ āđāļāļīāļāļŠāļāļāļēāļĒāļāļāļ ( āđāļāļ āļāļēāļĢāļāļēāļāđāļāļīāļāļāļāļĄ) āđāļŦāđāļāļāļāļēāļĨāļ āđāļāļīāļāļŠāļāļĢāļąāļāđāļāļē ( āđāļāļ āđāļāļīāļāļāļāļāļĨ) āđāļŦāđāļāļāļāļ§āļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ DDB, āļāļāļāļāļąāļ FV, āļāļāļāļāļąāļ IPmt, āļāļāļāļāļąāļ IRR, āļāļāļāļāļąāļ MIRR, āļāļāļāļāļąāļ NPer, āļāļāļāļāļąāļ NPV,
āļāļāļāļāļąāļ Pmt, āļāļāļāļāļąāļ PV, āļāļāļāļāļąāļ Rate, āļāļāļāļāļąāļ SLN, āļāļāļāļāļąāļ SYD
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ PPmt āđāļāļāļēāļĢāļāđ āļēāļāļ§āļāļāļēāļĢāđāļāļīāļāļāļāđāļāļāļ§āļāļāļĩāđāļāļāļāļāļēāļĢāļāļĢāļēāļāđāļāļĒāļāļēāļĢāļāļēāļĒāļāļļāļāļāļ§āļāđāļāļēāļāļąāļ āđāļāļĒāđāļŦāļāđ āļēāļŦāļāļāļāļąāļāļĢāļēāļāļāļāđāļāļĩāđāļĒāđāļāļāļāļ§āļ (APR / 12), āļāļ§āļāļāļĩāđāļāļāļāļāļĢāļēāļāļāļēāļĢāļāļēāļĒāđāļāļīāļāļāļ (Period), āļāđ āļēāļāļ§āļāļāļ§āļāļāļēāļĢāļāļēāļĒāļāļąāđāļāļŦāļĄāļ (TotPmts), āļĄāļđāļĨāļāļēāļāļāļāļļāļāļąāļāļāļāļāļāļēāļĢāļĨāļāļāļļāļ (PVal), āļĄāļđāļĨāļāļēāđāļāļīāļāļāļđāđāļāļāļāļēāļāļ (FVal), āđāļĨāļ°āļāļąāļ§āđāļĨāļāļāļĩāđāļĢāļ°āļāļļāļāđ āļēāļŦāļāļāļāļēāļĢāļāļēāļĒ (PayType)
Dim NL, TB, Fmt, FVal, PVal, APR, TotPmts, PayType, Payment, Msg, MakeChart, Period, P, IConst ENDPERIOD = 0, BEGINPERIOD = 1 ' āđāļĄāļ·āļāđāļĄāļĩāļāļēāļĢāļāļēāļĒNL = Chr(13) & Chr(10) ' āļāđ āļēāļŦāļāļāđāļāļ§āđāļŦāļĄTB = Chr(9) ' āļāđ āļēāļŦāļāļāđāļāļFmt = "###,###,##0.00" ' āļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļāļāļēāļĢāđāļāļīāļFVal = 0 ' āļāļē FV āļāļāļāđāļāļīāļāļāļđāļĄāļąāļāļāļ°āļāđ āļēāļŦāļāļāđāļāļ 0PVal = InputBox("How much do you want to borrow?")APR = InputBox("What is the annual percentage rate of your loan?")
If APR > 1 Then APR = APR / 100 ' āļāļĢāļ§āļāļŠāļāļāļāļ§āļēāļĄāļāļđāļāļāļāļTotPmts = InputBox("How many monthly payments do you have to make?")PayType = MsgBox("Do you make payments at the end of month?", vbYesNo)
If PayType = vbNo Then PayType = BEGINPERIOD Else PayType = ENDPERIODPayment = Abs(-Pmt(APR / 12, TotPmts, PVal, FVal, PayType))Msg = "Your monthly payment is " & Format(Payment, Fmt) & ". "Msg = Msg & "Would you like a breakdown of your principal and "Msg = Msg & "interest per period?"
MakeChart = MsgBox(Msg, vbYesNo) ' āļāļēāļāļāļāļāļēāļĢāļŠāļĢāļēāļāļāļĢāļēāļIf MakeChart <> vbNo Then If TotPmts > 12 Then MsgBox "Only first year will be shown." Msg = "Month Payment Principal Interest" & NL For Period = 1 To TotPmts If Period > 12 Then Exit For ' āđāļŠāļāļāđāļāļāļēāļ° 12 āļāļēāđāļĢāļ P = PPmt(APR / 12, Period, TotPmts, -PVal, FVal, PayType) P = (Int((P + .005) * 100) / 100) ' āļāļĢāļāļąāļāļēāđāļāļīāļāļāļ I = Payment - P I = (Int((I + .005) * 100) / 100) ' āļāļĢāļāļąāļāļēāļāļāļāđāļāļĩāđāļĒ Msg = Msg & Period & TB & Format(Payment, Fmt) Msg = Msg & TB & Format(P, Fmt) & TB & Format(I, Fmt) & NL
widebase.net âVBA References
104
Next Period MsgBox Msg ' āđāļŠāļāļāļāļēāļĢāļēāļEnd If
Print # StatementāđāļāļĩāļĒāļāļāļāļĄāļđāļĨāļāļēāļĄāļĢāļđāļāđāļāļāļāļĩāđāđāļŠāļāļāđāļāļāļĩāđāđāļāļĨ Sequential
āđāļ§āļĒāļēāļāļĢāļPrint # filenumber, [outputlist]āđāļ§āļĒāļēāļāļĢāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Print # āļĄāļĩāļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāļŠāļ§āļāļāļąāļāļāļĩāđ
āļŠāļ§āļ āļāđ āļēāļāļāļīāļāļēāļĒfilenumber āļāļąāļāļāļąāļ, āđāļāļāļŦāļĄāļēāļĒāđāļĨāļāđāļāļĨoutputlist āđāļĄāļāļąāļāļāļąāļ, āđāļāļ expression āļŦāļĢāļ·āļāļĢāļēāļĒāļāļēāļĢ expression āļāļĩāđāđāļāļāļīāļĄāļ
āļāļēāļĢāļāļąāđāļāļāļēāļāļēāļāļīāļ§āđāļĄāļāļ outputlist āļāļąāđāļāļāļēāļāļąāļāļāļĩāđ
[{Spc(n) / Tab [(n)]}] [expression] [charpos]
āļāļēāļĢāļāļąāđāļāļāļē āļāđ āļēāļāļāļīāļāļēāļĒSpc(n) āđāļāļāļēāļĢāđāļāļĢāļāļāļāļāļ§āļēāļāđāļāļāļĨāļĨāļąāļāļāļŠāļāļāļāļ āđāļāļĒ n āđāļāļāļāđ āļēāļāļ§āļāļāļāļāļāļāļāļ§āļēāļāļāļĩāđāđāļāļĢāļTab(n) āđāļāļāđ āļēāļŦāļāļāļāđ āļēāđāļŦāļāļāļāļļāļāđāļāļĢāļāđāļāļāļĩāđāļŦāļĄāļēāļĒāđāļĨāļāļāļāļĨāļąāļĄāļ āļŠāļĄāļāļđāļĢāļ āđāļāļĒ n āđāļāļāļŦāļĄāļēāļĒāđāļĨāļāļāļāļĨāļąāļĄāļ
āđāļ Tab āļāļĩāđāđāļĄāļĄāļĩāļāļēāļāļīāļ§āđāļĄāļāļāļāđ āļēāļŦāļāļāļāđ āļēāđāļŦāļāļāļāļļāļāđāļāļĢāļāļāļĩāđāļāļļāļāđāļĢāļīāđāļĄāļāļāļāļāļāļāļ·āđāļāļāļĩāđāļāļēāļĢāļāļīāļĄāļāļāļāđāļexpression numeric expression āļŦāļĢāļ·āļ string expression āļāļĩāđāļāļīāļĄāļcharpos āļĢāļ°āļāļļāļāļļāļāđāļāļĢāļāļŠāđ āļēāļŦāļĢāļąāļāļāļąāļāļĐāļĢāļāļāđāļ āđāļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒ semicolon (;) āđāļāļ·āđāļāļāđ āļēāļŦāļāļāļāđ āļēāđāļŦāļāļāļāļļāļ
āđāļāļĢāļāļāļąāļāļāļĩ āļŦāļĨāļąāļāļāļēāļāļāļąāļ§āļāļąāļāļĐāļĢāļŠāļļāļāļāļēāļĒāđāļŠāļāļāļāļāļāļĄāļē āđāļ Tab (n) āļāđ āļēāļŦāļāļāļāđ āļēāđāļŦāļāļāļāļļāļāđāļāļĢāļāļāļĩāđāļŦāļĄāļēāļĒāđāļĨāļāļāļāļĨāļąāļĄāļ āļŠāļĄāļāļđāļĢāļ āđāļ Tab āļāļĩāđāđāļĄāļāļēāļāļīāļ§āđāļĄāļāļ āļāđ āļēāļŦāļāļāļāđ āļēāđāļŦāļāļ āđāļāļĢāļāļāļĩāđāļāļļāļāđāļĢāļīāđāļĄāļāļāļāļāļāļāļ·āđāļāļāļĩāđāļāļēāļĢāļāļīāļĄāļāļāļāđāļ āļāļē āļĨāļ° charpos āļāļąāļ§āļāļąāļāļĐāļĢāļāļāđāļāļāļ°āļāļīāļĄāļāđāļāļāļĢāļĢāļāļąāļāļāļāđāļ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļāļĄāļđāļĨāļāļĩāđāđāļāļĩāļĒāļāļāļ§āļĒ Print # āļĄāļąāļāļāļ°āļāļēāļāļāļēāļāđāļāļĨāļāļ§āļĒ Line Input # āļŦāļĢāļ·āļ InputāļāļēāļĨāļ° outputlist āđāļĨāļ°āļĢāļ§āļĄāđāļāļāļēāļ°āļĢāļēāļĒāļāļēāļĢāļāļĩāđāđāļĒāļāļŦāļĨāļąāļ filenumber āđāļĨāļ°āļāļĢāļĢāļāļąāļāļ§āļēāļāđāļāļĢāļąāļāļāļēāļĢāļāļīāļĄāļāđāļāļāļĩāđāđāļāļĨ āļŦāļĨāļēāļĒ expression āļŠāļēāļĄāļēāļĢāļāđāļĒāļāļāļ§āļĒāļāļāļāļ§āļēāļ āļŦāļĢāļ·āļ semicolon āļāļāļāļ§āļēāļāļĄāļĩāļāļĨāđāļŦāļĄāļ·āļāļāļāļąāļ semicolonāļŠāđ āļēāļŦāļĢāļąāļāļāļāļĄāļđāļĨ Boolean āļāļąāđāļ True āđāļĨāļ° False āđāļāļĢāļąāļāļāļēāļĢāļāļīāļĄāļ āļāļĩāļĒāđāļ§āļīāļĢāļ True āđāļĨāļ° False āđāļĄāļĄāļĩāļāļēāļĢāđāļāļĨāļāļāļĄāļđāļĨ Date āđāļāļĢāļąāļāļāļēāļĢāđāļāļĩāļĒāļāļāļ§āļĒāļāļēāļĢāđāļāļĢāļđāļāđāļāļāļĄāļēāļāļĢāļāļēāļ short date āļāļĩāđāļĢāļ°āļāļāļāļāļāđāļāļĢāļ·āđāļāļāļāļĩāđāđāļāļĢāļđāļāļąāļ āđāļĄāļ·āđāļāļŠāļ§āļāļ§āļąāļāļāļĩāđāļŦāļĢāļ·āļāđāļ§āļĨāļēāļŦāļēāļĒāđāļāļŦāļĢāļ·āļāđāļāļāļĻāļđāļāļĒ āļŠāļ§āļāļāļĩāđāļĄāļĩāļāļĒāļđāļāļ°āđāļāļĢāļąāļāļāļēāļĢāđāļāļĩāļĒāļāļĨāļāļŠāļđāđāļāļĨ
widebase.net âVBA References
105
āđāļĄāļĄāļĩāļāļēāļĢāđāļāļĩāļĒāļāļāļāļĄāļđāļĨāļĨāļāļŠāļđāđāļāļĨ āļāļēāļāļāļĄāļđāļĨāļāļāļ outputlist āļ§āļēāļāđāļāļĨāļē āđāļāļāļēāļāļāļĄāļđāļĨāļāļāļ outputlist āđāļāļ Null āļāļē Null āļāļ°āđāļāļĢāļąāļāļāļēāļĢāđāļāļĩāļĒāļāļĨāļāļŠāļđāđāļāļĨāļŠāđ āļēāļŦāļĢāļąāļāļāļāļĄāļđāļĨ Error āļāļĩāđāļĄāļĩāļāļĨāļĨāļąāļāļāļāļĢāļēāļāļāđāļāļāļĢāļŦāļąāļŠāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļ āļāļĩāļĒāđāļ§āļīāļĢāļ Error āļāļ°āđāļĄāļĄāļĩāļāļēāļĢāđāļāļĨāļāļāļĄāļđāļĨāļāļąāđāļāļŦāļĄāļāļāļĩāđāđāļāļĩāļĒāļāļĨāļāđāļāļĨāļāļ§āļĒāļāļēāļĢāđāļ Print # āļāļāļāļĢāļ°āļ§āļąāļāļāļēāļĢāļāļąāđāļāļāļē International āđāļāļ·āđāļāļāļāļēāļāļāļēāļĢāļāļąāļāļĢāļđāļāđāļāļāļāļāļĄāļđāļĨāļāļēāļāļāļēāļĢāđāļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāđāļāļāļāļĻāļāļīāļĒāļĄ āđāļāļ·āđāļāļāļāļēāļ Print # āđāļāļĩāļĒāļāļ āļēāļāļāļāļāļāļāļĄāļđāļĨāļĨāļāļŠāļđāđāļāļĨ āļāļķāļāļāļāļāļĨāļāļāļēāļĢāļāđ āļēāļāļąāļ āđāļāļ·āđāļāļāđ āļēāđāļŦāļāļēāļĢāļāļīāļĄāļāļāļđāļāļāļāļ āļāļēāđāļ Tab āļāļĩāđāđāļĄāļĄāļĩāļāļēāļāļīāļ§āđāļĄāļāļ āđāļāļ·āđāļāļĒāļēāļĒāļāđ āļēāđāļŦāļāļāļāļēāļĢāļāļīāļĄāļāđāļāļāļĩāđāļāļ·āđāļāļāļĩāđāļāļēāļĢāļāļīāļĄāļāļāļāđāļ Print # āļŠāļēāļĄāļēāļĢāļāđāļāļĩāļĒāļāļāļāļāļ§āļēāļāļĢāļ°āļŦāļ§āļēāļāļāļēāļĢāļāļīāļĄāļāļāļĨāļāđāļāļāļĩāđāđāļāļĨāļŦāļĄāļēāļĒāđāļŦāļāļļ āļāļēāļĄāļĩāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļāđāļāļīāļāļāļķāđāļ āļāļāļāļāļēāļāļāļāļĄāļđāļĨāļāļēāļāđāļāļĨāļāļ§āļĒāļāļēāļĢāđāļ āļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Input #āđāļŦāđāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Write # āđāļāļāļāļĩāđ Print # āđāļāļ·āđāļāđāļāļĩāļĒāļāļāļāļĄāļđāļĨāļĨāļāļŠāļđāđāļāļĨ āļāļēāļĢāđāļ Write # āļāđ āļēāđāļŦāļĄāđāļąāļāđāļāļ§āļē Integrity āļāļāļāđāļāļĨāļ°āļāļĨāļāļāļāļĄāļđāļĨ āđāļĒāļāđāļāļĒāļāļąāļ§āđāļāļāļāļāļĄāļđāļĨ āļāļąāļāļāļąāđāļ āļāđ āļēāđāļŦāļŠāļēāļĄāļēāļĢāļ āļāļēāļāļāļĨāļąāļāđāļāļĒāļāļēāļĢāđāļ Input # āļāļēāļĢāđāļ Write # āļāđ āļēāđāļŦāļĄāđāļąāļāđāļāļ§āļēāļĄāļĩāļāļēāļĢāļāļēāļāļāļĒāļēāļāļāļđāļāļāļāļāđāļāļāļļāļ locale
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄOpen Statement, āđāļĄāļāļāļ Print, āļāļāļāļāļąāļ Spc, āļāļāļāļāļąāļ Tab, Write # Statement
āļāļąāļ§āļāļĒāļēāļ
' āļāļ§āļąāļāļĒāļēāļāļāļēāļĢāđāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ printOpen "TESTFILE" For Output As #1 ' āđāļāļāđāļāļĨāļŠāđ āļēāļŦāļĢāļąāļāļāļĨāļĨāļąāļāļPrint #1, "This is a Test" ' āļāļĄāļīāļāļāļāļāļ§āļēāļĄāđāļāļāļĩāđāđāļāļĨPrint #1, ' āļāļĄāļīāļāđāļāļ§āļ§āļēāļāđāļāđāļāļĨPrint #1, "Zone 1"; Tab; "Zone 2" ' āļāļĄāļīāļāđāļ 2 āļāļ·āđāļāļāđāļĩāļāļīāļĄāļPrint #1, "Hello"; " "; "World" ' āđāļĒāļāļāļāļāļ§āļēāļĄāļāļ§āļĒāļāļāļāļ§āļēāļPrint #1, Spc(5); "5 āļāļāļāļ§āļēāļāļāļēāļāļŦāļāļē" ' āļāļĄāļīāļ 5 āļāļāļāļ§āļēāļāļāļēāļāļŦāļāļēPrint #1, Tab(10); "Hello" ' āļāļĄāļīāļāļāđ āļēāļāļĩāđāļāļāļĨāļąāļĄāļ 10
' āļāđ āļēāļŦāļāļāļāļē boolean, date, null āđāļĨāļ° errorDim MyBool, MyDate, MyNull, MyErrorMyBool = False: MyDate = #February 12, 2002#: MyNull = NullMyError = CVErr(32767)' True, False, Null āđāļĨāļ° Error āļāļ°āđāļāļāļēāļĢāđāļāļĨāļāļ§āļĒāļāļēāļĢāļāļąāđāļāļāļē locale' Date āļāļ°āđāļāļĢāļāļąāļāļēāļĢāļāļ§āļĒāļĢāļđāļāđāļāļ short datePrint #1, MyBool; " is a boolean value"Print #1, MyDate; " is a date"Print #1, MyNull; " is a null value"Print #1, MyError; " is an error value"Close #1 ' āļāļāđāļāļĨ
Put StatementāđāļāļĩāļĒāļāļāļāļĄāļđāļĨāļāļēāļāļāļąāļ§āđāļāļĢāļĨāļāļŠāļđāđāļāļĨāđāļāļāļīāļŠāļ
āđāļ§āļĒāļēāļāļĢāļPut [#] filenumber, [recnumber], varnameāđāļ§āļĒāļēāļāļĢāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Put āļĄāļĩāļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāļŠāļ§āļ āļāļąāļāļāļĩāđ
widebase.net âVBA References
106
āļŠāļ§āļ āļāđ āļēāļāļāļīāļāļēāļĒfilenumber āļāļąāļāļāļąāļ, āđāļāļāļŦāļĄāļēāļĒāđāļĨāļāđāļāļĨrecnumber āđāļĄāļāļąāļāļāļąāļ, āļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (Long), āļŦāļĄāļēāļĒāđāļĨāļāđāļĢāļāļāļāļĢāļ (āđāļāļĨāđāļŦāļĄāļ Random)
āļŦāļĢāļ·āļāļŦāļĄāļēāļĒāđāļĨāļāđāļāļ (āđāļāļĨāđāļŦāļĄāļ Binary) āļāļĩāđāđāļĢāļīāđāļĄāļāļāļāļēāļĢāđāļāļĩāļĒāļvarname āļāļąāļāļāļąāļ, āļāļ·āđāļāļāļāļāļāļąāļ§āđāļāļĢāđāļāđāļāļāļāļĄāļđāļĨāļāļĩāđāđāļāļĩāļĒāļāļĨāļāļŠāļđāļāļīāļŠāļ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļāļĄāļđāļĨāļāļĩāđāđāļāļĩāļĒāļāļāļ§āļĒ Put āļĄāļąāļāļāļ°āļāļēāļāļāļēāļāđāļāļĨāļāļ§āļĒ GetāđāļĢāļāļāļāļĢāļ āļŦāļĢāļ·āļāđāļāļāđāļĢāļāđāļāđāļāļĨ āļāļ·āļ āļāđ āļēāđāļŦāļāļāļāļĩāđ 1 āđāļĢāļāļāļāļĢāļāļŦāļĢāļ·āļāđāļāļāļāļĩāđ 2 āļāļ·āļ āļāđ āļēāđāļŦāļāļāļāļĩāđ 2 āđāļĨāļ°āļāļāđāļ āļāļēāļĨāļ° recnumber āđāļĢāļāļāļāļĢāļāļŦāļĢāļ·āļāđāļāļāļāļāđāļāļ āļēāļĒāļŦāļĨāļąāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Get āļŦāļĢāļ·āļ Put āļŠāļļāļāļāļēāļĒ āļŦāļĢāļ·āļāļāđāļĩāđāļāļĒāļāļāļāļāļąāļ Seek āļāļ°āđāļāļĢāļąāļāļāļēāļĢāđāļāļĩāļĒāļ āļāļāļāļĢāļ§āļĄāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļļāļĨāļ āļēāļāđāļ āļāļēāļĢāđāļāļāļāļ§āļĒ
Put # 4, , FileBuffer
āļŠāđ āļēāļŦāļĢāļąāļāļāļēāļĢāđāļāļāđāļāļĨāđāļāđāļŦāļĄāļ Random āļāļāļāļāđ āļēāļāļēāļĄāļāļāļāļĩāđ- āļāļēāļāļ§āļēāļĄāļĒāļēāļ§āļāļāļāļāļāļĄāļđāļĨāļāļĩāđāļāđ āļēāļĨāļąāļāļāļēāļāļāļāļĒāļāļ§āļēāļāļ§āļēāļĄāļĒāļēāļ§āļāļĩāđāļĢāļ°āļāļļāđāļ Len Clause āļāļāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Open āļāļēāļĢ
āļāļēāļāđāļĢāļāļāļāļĢāļāļāļāļ Get āļāļēāļāļāļēāļĄāļāļāļāđāļāļāļāļ§āļēāļĄāļĒāļēāļ§āđāļĢāļāļāļāļĢāļ āļāļāļāļ§āļēāļāļĢāļ°āļŦāļ§āļēāļāļāļļāļāļŠāđāļīāļāļŠāļļāļāļāļāļāđāļĢāļāļāļāļĢāļāļŦāļāļķāđāļāļāļąāļāļāļļāļāđāļĢāļīāđāļĄāļāļāļāļāļāđāļĢāļāļāļāļĢāļāļāļāđāļ āļĄāļĩāļāļēāļĢāļĢāļāļāļĢāļąāļāļāļ§āļĒāļāļāļĄāļđāļĨāļāļĩāđāļĄāļĩāļāļĒāļđāļāļāļāđāļāļĨāļāļąāļāđāļāļāļĢ āđāļāļ·āđāļāļāļāļēāļāļāđ āļēāļāļ§āļāļāļāļāļāļāļĄāļđāļĨāļĢāļāļāļĢāļąāļāđāļĄāļŠāļēāļĄāļēāļĢāļāļāļāļŦāļēāđāļāđāļāļāļāļ āđāļāļĒāļāļąāđāļ§āđāļ āđāļāļ§āļāļīāļāļāļĩāđāļāļĩ āļāļ·āļ āļĄāļĩāļāļ§āļēāļĄāļĒāļēāļ§āđāļĢāļāļāļāļĢāļāļāļĢāļāļāļąāļāļāļ§āļēāļĄāļĒāļēāļ§āļāļāļāļāļāļĄāļđāļĨāļāļĩāđāļāđ āļēāļĨāļąāļāļāļēāļ
- āļāļēāļāļąāļ§āđāļāļĢāļāļĩāđāļāđ āļēāļĨāļąāļāļĢāļąāļāļāļāļĄāļđāļĨāđāļāļ Variable - Length String āļāļēāļĢāļāļēāļāļāļāļ Get āļāļēāļāļāļāļĄāļđāļĨ 2 āđāļāļ āļāļĩāđāļāļ§āļēāļĄāļĒāļēāļ§āļāļāļāļ§āļēāļĄ āđāļĨāļ°āļāļāđāļāļāļēāļāļāļāļĄāļđāļĨāđāļāļēāļŠāļđāļāļąāļ§āđāļāļĢ āļāļąāļāļāļąāđāļ āļāļ§āļēāļĄāļĒāļēāļ§āđāļĢāļāļāļāļĢāļāļĢāļ°āļāļļāđāļāļĒ Len clause āđāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Open āļāļāļāļĒāļēāļ§āļĄāļēāļāļāļ§āļēāļāļĒāļēāļāļāļāļĒ 2 āđāļāļāļāļāļāļāļ§āļēāļĄāļĒāļēāļ§āļāļĢāļīāļāļāļāļāļāļāļāļ§āļēāļĄ
- āļāļēāļāļąāļ§āđāļāļĢāļāļĩāđāļāđ āļēāļĨāļąāļāļĢāļąāļāļāļāļĄāļđāļĨāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant āļāļĩāđāđāļāļāļāļąāļ§āđāļĨāļ Get āļāļēāļ 2 āđāļāļāļāļēāļĄāļāļēāļĢāļĢāļ°āļāļļ Vartype āļāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant āđāļĨāļ§āļāļāļĄāļđāļĨāđāļāļŠāļđāļāļąāļ§āđāļāļĢ āļāļąāļ§āļāļĒāļēāļ āđāļĄāļ·āđāļāļāļēāļ Variant āļāļāļ Vartype 3 āļāļēāļĢāļāļēāļāļāļāļ Get āļāļ·āļ āļāļēāļĢāļāļēāļ 6 āđāļāļ āđāļāđāļ 2 āđāļāļ āļŠāđ āļēāļŦāļĢāļąāļāļāļēāļĢāļĢāļ°āļāļļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant āđāļāļ Vartype 3 (Long) āđāļĨāļ° 4 āđāļāļāđāļāđāļāļāļāļĄāļđāļĨ āļāļ§āļēāļĄāļĒāļēāļ§āļāļāļāđāļĢāļāļāļāļĢāļāļāļĩāđāļĢāļ°āļāļļāđāļāļĒ Len Clause āđāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Open āļāļāļāļāļēāļĢāļāļĒāļēāļāļāļāļĒ 2 āđāļāļāļĄāļēāļāļāļ§āļēāļāđ āļēāļāļ§āļāđāļāļāļāļĢāļīāļāļāļāļāļāļāļĄāļđāļĨāļāļĩāđāļāļāļāļāļēāļĢāđāļāļ·āđāļāđāļāđāļāđāļāļāļąāļ§āđāļāļĢ
āļŦāļĄāļēāļĒāđāļŦāļāļļ āļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Get āļŠāļēāļĄāļēāļĢāļāđāļāļāļēāļ Variant array āļāļēāļāļāļīāļŠāļ āđāļāđāļĄāļŠāļēāļĄāļēāļĢāļāđāļ Get āļāļēāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant āđāļāļāļāļĢāļīāļĄāļēāļāļāļĩāđāđāļāđāļāđāļ array āđāļĨāļ°āđāļĄāļŠāļēāļĄāļēāļĢāļāđāļ Get āļāļēāļāļāļāļāđāļāļāļāļēāļāļāļīāļŠāļ- āļāļēāļāļąāļ§āđāļāļĢāļāļĩāđāļĢāļąāļāļāļāļĄāļđāļĨāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant āļāļāļ Vartype 8 (String) āļāļēāļĢāļāļēāļāļāļāļ Get āļāļēāļ 2 āđāļāļ
āļĢāļ°āļāļļ Vartype, 2 āđāļāļāļĢāļ°āļāļļāļāļ§āļēāļĄāļĒāļēāļ§āļāļāļāļāļāļāļ§āļēāļĄ āđāļĨāļ°āļāļēāļāļāļāļĄāļđāļĨāļāļāļāļāļāļāļ§āļēāļĄ āļāļēāļĢāļĢāļ°āļāļļāļāļ§āļēāļĄāļĒāļēāļ§āļāļāļ Len clause āđāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Open āļāļāļāļāļēāļĢāļāļĒāļēāļāļāļāļĒ 4 āđāļāļāļĄāļēāļāļāļ§āļēāļāļ§āļēāļĄāļĒāļēāļ§āļāļāļāļāļāļāļ§āļēāļĄāļāļĢāļīāļ
- āļāļēāļāļąāļ§āđāļāļĢāļāļĩāđāļĢāļąāļāļāļāļĄāļđāļĨ āļāļ·āļ dynamic array āļāļēāļĢāļāļēāļāļāļāļ Get āļāļēāļ descriptor āļāļķāđāļāļĒāļēāļ§āđāļāļēāļāļąāļ 2 āļāļ§āļ 8 āđāļāļēāļāļāļāļāđ āļēāļāļ§āļāļĄāļīāļāļī āļāļ·āļ 2 + 8 * āļāđ āļēāļāļ§āļāļāļāļāļĄāļīāļāļī āļāļ§āļēāļĄāļĒāļēāļ§āđāļĢāļāļāļāļĢāļāļāļĩāđāļĢāļ°āļāļļ āđāļāļĒ Len Clause āđāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ
widebase.net âVBA References
107
Open āļāļāļāļĄāļēāļāļāļ§āļēāļŦāļĢāļ·āļāđāļāļēāļāļąāļāļāđ āļēāļāļ§āļāļĢāļ§āļĄāđāļāļāļāļąāđāļāļŦāļĄāļāļāļĩāđāļāļāļāļāļēāļĢ āđāļāļ·āđāļāļāļēāļāļāļāļĄāļđāļĨ array āđāļĨāļ° descriptor āļāļāļ array āļāļąāļ§āļāļĒāļēāļāđāļāļ āļāļēāļĢāļāļĢāļ°āļāļēāļĻ array āļāļāđāļāļāļāļāļāļēāļĢ 118 āđāļāļ āđāļĄāļ·āđāļ array āđāļāļĢāļąāļāļāļēāļĢāđāļāļĩāļĒāļāđāļāļāļĩāđāļāļīāļŠāļDim MyArray (1 To 5, 1 To 10) As Integer
āļāđ āļēāļāļ§āļ 118 āđāļāļ āļāļ·āļ 18 āđāļāļ āļŠāđ āļēāļŦāļĢāļąāļ descriptor (2+8*2) āđāļĨāļ° 100 āđāļāļ āļŠāđ āļēāļŦāļĢāļąāļāļāļāļĄāļđāļĨ (5*10*2)- āļāļēāļāļąāļ§āđāļāļĢāļĢāļąāļāļāļāļĄāļđāļĨ āļāļ·āļ static array āļāļēāļĢāļāļēāļāļāļāļ Get āļāļēāļāđāļāļāļēāļ°āļāļāļĄāļđāļĨ āđāļĄāļĄāļĩāļāļēāļĢāļāļēāļ descriptor- āļāļēāļāļąāļ§āđāļāļĢāļĢāļąāļāļāļāļĄāļđāļĨāđāļāļāļāļąāļ§āđāļāļĢāļāļĢāļ°āđāļ āļāļāļ·āđāļ (āļāļāļāļāļēāļ Variable-Length string āļŦāļĢāļ·āļ Variant) āļāļēāļĢāļāļēāļāļāļāļ
Get āļāļēāļāđāļāļāļēāļ°āļāļāļĄāļđāļĨāļāļāļāļāļąāļ§āđāļāļĢ āļāļ§āļēāļĄāļĒāļēāļ§āļāļāļāđāļĢāļāļāļāļĢāļāļĢāļ°āļāļļ āđāļāļĒ Len Clause āđāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Open āļāļāļāļĄāļēāļāļāļ§āļēāļŦāļĢāļ·āļāđāļāļēāļāļąāļāļāļ§āļēāļĄāļĒāļēāļ§āļāļāļāļāļāļĄāļđāļĨāļāļĩāđāđāļāļĢāļąāļāļāļēāļĢāļāļēāļ
- Get āļāļēāļ element āļāļāļ User-defined type āđāļŦāļĄāļ·āļāļāļāļąāļāļāļēāļĢāļāļēāļāļāļĒāļēāļāđāļāļāđāļāļĻ āļĒāļāđāļ§āļ āđāļĄāļĄāļĩāļāļēāļĢāļĢāļāļāļĢāļąāļāļĢāļ°āļŦāļ§āļēāļ element āļāļāļāļīāļŠāļ dynamic array āđāļ User - define type (āđāļāļĩāļĒāļāļāļ§āļĒ Put) āļĄāļĩāļāđ āļēāļāđ āļēāļŦāļāļēāđāļāļĒ descriptor āļāļķāđāļāļĒāļēāļ§āđāļāļēāļāļąāļ 2 āļāļ§āļ 8 āđāļāļēāļāļāļāļāđ āļēāļāļ§āļāļĄāļīāļāļī āđāļāļēāļāļąāļ 2 + 8 * āļāđ āļēāļāļ§āļāļāļāļāļĄāļīāļāļī āļāļ§āļēāļĄāļĒāļēāļ§āđāļĢāļāļāļāļĢāļāļāļĩāđāļĢāļ°āļāļļāđāļāļĒ Len Clause āđāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Open āļāļāļāļĄāļēāļāļāļ§āļē āļŦāļĢāļ·āļāđāļāļēāļāļąāļāļāđ āļēāļāļ§āļāļĢāļ§āļĄāļāļāļāđāļāļāļāļąāđāļāļŦāļĄāļāļāļĩāđāļāļāļāļāļēāļĢ āđāļāļ·āđāļāļāļēāļāđāļāļĨāļ° element āļĢāļ§āļĄāļāļķāļ array āđāļĨāļ° descriptor
āļŠāđ āļēāļŦāļĢāļąāļāđāļāļĨāļāļĩāđāđāļāļāđāļāđāļŦāļĄāļ Binary āļāļ Random āļāļąāđāļāļŦāļĄāļāđāļāļĢāļąāļāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļ āļĒāļāđāļ§āļ- Len Clause āđāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Open āđāļĄāļĄāļĩāļāļĨāļāļĢāļ°āļāļ āļāļēāļĢāļāļēāļāļāļāļ Get āļāļēāļ āļāļąāļ§āđāļāļĢāļāļąāđāļāļŦāļĄāļāļāļīāļāļāļāļāļąāļ āļāļķāđāļ
āđāļĄāļĄāļĩāļāļēāļĢāđāļāļāļĢāļ°āļŦāļ§āļēāļāđāļĢāļāļāļāļĢāļ- array āļāļ·āđāļ āļāļāļāļāļēāļ array āđāļ User - defined type āļāļēāļĢāļāļēāļāļāļāļ Get āļāļēāļāđāļāļāļēāļ°āļāļāļĄāļđāļĨ āđāļĄāļĄāļĩāļāļēāļĢāļāļēāļ
descriptor- Get āļāļēāļ Variable - Length String āļāļĩāđāđāļĄāđāļ element āļāļāļ User â defined type āđāļāļĒāđāļĄāļĄāļĩāļāļēāļĢāļĒāļāđāļ§āļ
āļāļ§āļēāļĄāļĒāļēāļ§ descriptor 2 āđāļāļ āļāđ āļēāļāļ§āļāļāļāļāđāļāļāļāļĩāđāļāļēāļāđāļāļēāļāļąāļāļāđ āļēāļāļ§āļāļāļąāļ§āļāļąāļāļĐāļĢāđāļāļāļāļāļ§āļēāļĄāļāļąāļ§āļāļĒāļēāļ āļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļāļāļāđāļāļāļēāļ 10 āđāļāļ āļāļēāļāđāļāļĨāļŦāļĄāļēāļĒāđāļĨāļ 1
VarString = String (10, " " )Put # 1, VarString
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄGet Statement, Open Statement, āļāļāļāļāļąāļ Seek, Type Statement, āļāļāļāļāļąāļ VarType
āļāļąāļ§āļāļĒāļēāļ
Type Record ' āļāđ āļēāļŦāļāļ User - define type ID As Integer Name As String * 20End Type
Dim MyRecord As Record, RecordNumber ' āļāļĢāļ°āļāļēāļĻāļāļąāļ§āđāļāļĢ
' āđāļāļāđāļāļĨāļŠāđ āļēāļŦāļĢāļąāļāļāļēāļĢāđāļāļēāļāļķāļāđāļāļāļŠāļļāļĄ (random access)Open "TESTFILE" For Random As #1 Len = Len(MyRecord)For RecordNumber = 1 To 5 ' loop 5 āļĢāļāļ MyRecord.ID = RecordNumber ' āļāđ āļēāļŦāļāļ id MyRecord.Name = "My Name" & RecordNumber ' āļŠāļĢāļēāļāļāļāļāļ§āļēāļĄ Put #1, RecordNumber, MyRecord ' āđāļāļĒāļĩāļāđāļĢāļāļāļāļĢāļāļĨāļāđāļāļĨ
widebase.net âVBA References
108
Next RecordNumberClose #1 ' āļāļāđāļāļĨ
PV FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double āļāļĩāđāļĢāļ°āļāļļāļĄāļđāļĨāļāļēāļāļāļāļļāļāļąāļāļāļāļāļāļēāļĢāļĨāļāļāļļāļ āđāļāļĒāļĄāļĩāļāļ§āļāļāļēāļĢāļāļēāļĒāļŠāļĄāđāđ āļēāđāļŠāļĄāļ āļāļēāļĢāļāļēāļĒāļāļāļāļĩāđ āđāļĨāļ°āļāļąāļāļĢāļēāļāļāļāđāļāļĩāđāļĒāļāļāļāļĩāđ
āđāļ§āļĒāļēāļāļĢāļPV(rate,nper,pv[,fv[,type]])āļāļēāļāļīāļ§āđāļĄāļāļāļāļāļāļāļāļāļāļąāļ PV āļĄāļĩāļāļ§āļēāļĄāļŦāļĄāļēāļĒ āļāļ·āļ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļrate āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double, āļĢāļ°āļāļļāļāļąāļāļĢāļēāļāļāļāđāļāļĩāđāļĒāļāļāļāļ§āļ āđāļāļ āļāļēāļĢāļāļđāđāļāļīāļāļāļ·āđāļāļĢāļāļĒāļāļāļāļĩāđāļāļąāļāļĢāļēāļāļāļ
āđāļāļĩāđāļĒ 10% āļāļāļ āđāļĨāļ°āļāļ§āļāļāļēāļĢāļāļēāļĒāđāļāļāļĢāļēāļĒāđāļāļ·āļāļ āļāļąāļāļĢāļēāļāļāļāđāļāļĩāđāļĒāļāļāđāļāļ·āļāļ āļāļ·āļ 0.1/12 āļŦāļĢāļ·āļ 0.0083nper āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Integer, āļĢāļ°āļāļļāļāđ āļēāļāļ§āļāļāļ§āļāļāļēāļĢāļāļēāļĒāļāļąāđāļāļŦāļĄāļ āđāļāļ āļāļēāļĢāļāļēāļĒāđāļāļīāļāļāļđāļĢāļēāļĒāđāļāļ·āļāļāļāļāļ
āđāļāļīāļāļāļđ 4 āļ āļāđ āļēāļāļ§āļāļāļ§āļāļāļąāđāļāļŦāļĄāļ āļāļ·āļ 4 * 12 (āļŦāļĢāļ·āļ 48) āļāļ§āļāļāļēāļĢāļāļēāļĒpv āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant, āļĄāļđāļĨāļāļēāļāļāļāļļāļāļąāļ (āļŦāļĢāļ·āļāđāļāļīāļāļĢāļ§āļĄāļāļąāđāļāļŦāļĄāļ) āļāļāļāļāļļāļāļāļēāļĢāļāļēāļĒāļŠāđ āļēāļŦāļĢāļąāļāļĄāļđāļĨ
āļāļēāļāļāļēāļāļ āđāļāļ āļāļēāļĢāļĒāļ·āļĄāđāļāļīāļāđāļāļ·āđāļāļāļ·āđāļāļĢāļāļĒāļāļ āđāļāļīāļāļāļđ āļāļ·āļ āļĄāļđāļĨāļāļēāļāļāļāļļāļāļąāļāļāļĩāđāļāļđāļāļđāļāļāļāļāļēāļĒāđāļāļāļĢāļēāļĒāđāļāļ·āļāļ āļāļēāđāļĄāļāđ āļēāļŦāļāļ āļāļ°āđāļāļāļēāđāļāļ 0
fv āđāļĄāļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double, āļĢāļ°āļāļļāļĄāļđāļĨāļāļēāđāļāļāļāļēāļāļ āļŦāļĢāļ·āļāļāđ āļēāļāļ§āļāļŠāļāļāļāđāļŦāļĨāļ·āļāđāļĄāļ·āđāļāļŠāđāļīāļāļŠāļļāļāļāļ§āļāļāļēāļĢāļāļēāļĒ āđāļāļ āļāļāļāļāļēāļĢāļāļēāļāđāļāļīāļāļāļāļĄāđāļāļ·āđāļāļŦāđāļ āļŋ50,000 āđāļāļĢāļ°āļĒāļ°āđāļ§āļĨāļē 18 āđāļāļ·āļāļ āđāļāļīāļāļāđ āļēāļāļ§āļ āļŋ50,000 āļāļ·āļ āļĄāļđāļĨāļāļēāļāļāļēāļāļ āļāļēāđāļĄāļāđ āļēāļŦāļāļ āļāļ°āđāļāļāļēāđāļāļ 0
type āđāļĄāļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant, āļĢāļ°āļāļļāļāđ āļēāļŦāļāļāļāļēāļĢāļāļēāļĒ āđāļ 0 āļāļēāļāđ āļēāļŦāļāļāļāđ āļēāļĢāļ°āđāļāļāļŠāđāļīāļāļāļ§āļ āļŦāļĢāļ·āļ 1āļāļēāļāđ āļēāļŦāļāļāļāđ āļēāļĢāļ°āđāļāļāļāļāļāļ§āļ āļāļēāđāļĄāļāđ āļēāļŦāļāļ āļāļ°āđāļāļāļēāđāļāļ 0
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļ§āļāļāļēāļĢāļāļēāļĒāđāļāļāļāļļāļāļāļēāļĢāļāļēāļĒāļāļĩāđāļāļāļāļĩāđāļāļĨāļāļāļĢāļ°āļĒāļ°āđāļ§āļĨāļēāļāļąāđāļāļŦāļĄāļ āļāļēāļĢāļāļēāļĒāļŠāļēāļĄāļēāļĢāļāđāļāļāļāļēāļĢāļāđ āļēāļĢāļ°āđāļāļīāļāļāļđ ( āđāļāļ āļāļēāļāļ§āļāđāļāļīāļāļāļđāļāļāļāļēāļ) āļŦāļĢāļ·āļāļāļēāļĢāļĨāļāļāļļāļ ( āđāļāļ āļāļēāļĢāļāļēāļāđāļāļīāļāļāļāļĄāđāļāļāļĢāļēāļĒāđāļāļ·āļāļ)āļāļēāļāļīāļ§āđāļĄāļāļ rate āđāļĨāļ° nper āļāļāļāļĄāļĩāļŦāļāļ§āļĒāđāļāļāļŦāļāļ§āļĒāđāļāļĩāļĒāļ§āļāļąāļ āđāļāļ rate āļāđ āļēāļāļ§āļāđāļāļāļāļąāļāļĢāļēāļāļāđāļāļ·āļāļ nper āļāļ°āļāļāļāđāļāļāļĢāļēāļĒāđāļāļ·āļāļāļāļ§āļĒāļāļēāļāļīāļ§āđāļĄāļāļāļāļąāđāļāļŦāļĄāļ āđāļāļīāļāļŠāļāļāļēāļĒāļāļāļ (āđāļāļ āļāļēāļĢāļāļēāļāđāļāļīāļāļāļāļĄ) āđāļŦāđāļāļāļāļēāļĨāļ āđāļāļīāļāļŠāļāļĢāļąāļāđāļāļē (āđāļāļ āđāļāļīāļāļāļāļāļĨ) āđāļŦāđāļāļāļāļ§āļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ DDB, āļāļāļāļāļąāļ FV āļāļāļāļāļąāļ IPmt, āļāļāļāļāļąāļ IRR, āļāļāļāļāļąāļ MIRR, āļāļāļāļāļąāļ NPer, āļāļāļāļāļąāļ NPV, āļāļāļāļāļąāļPmt, āļāļāļāļāļąāļ PPmt, āļāļāļāļāļąāļ Rate, āļāļāļāļāļąāļ SLN, āļāļāļāļāļąāļ SYD
widebase.net âVBA References
109
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ PV āđāļāļāļēāļĢāļŠāļāļāļāļāļāļēāļāļāļāļĄāļđāļĨāļāļēāļāļāļāļļāļāļąāļāļāļāļāļāļēāļĢāļāļāļĄ āļŋ1,000,000 āđāļāļĒāđāļāļāļāļēāļāđāļāļāļāļĨāļ° āļŋ50,000 āļāļĨāļāļāļĢāļ°āļĒāļ° 20 āļ āđāļŦāļāļąāļāļĢāļēāļāļāļāđāļāļĩāđāļĒāļāļāļ (APR), āļāđ āļēāļāļ§āļāļāļ§āļāļāļēāļĢāļāļēāļĒāļāļąāđāļāļŦāļĄāļ (TotPmts), āļāđ āļēāļāļ§āļāļāļēāļĢāļāļāļāđāļāļĨāļ°āļāļ§āļ (YrIncome), āļĄāļđāļĨāļāļēāđāļāļāļāļēāļāļ (FVal), āđāļĨāļ°āļāļąāļ§āđāļĨāļāļāļĩāđāļĢāļ°āļāļļāļāđ āļēāļŦāļāļāļāļēāļĢāļāļēāļĒ (PayType) āļāļķāđāļ YrIncome āđāļāļāļāļēāļĨāļāđāļāļĢāļēāļ°āđāļāļāļāļēāļĢāđāļŠāļāļāļāļēāļĢāļāļēāļĒāđāļāļīāļāļāļāļāđāļāļ·āđāļāļāđ āļēāđāļāļāļēāļāđāļāļāđāļāļīāļāļāļāļĄ
Dim Fmt, APR, TotPmts, YrIncome, FVal, PayType, PValConst ENDPERIOD = 0, BEGINPERIOD = 1 ' āđāļĄāļ·āļāđāļĄāļĩāļāļēāļĢāļāļēāļĒ
Fmt = "###,##0.00" ' āļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļāļāļēāļĢāđāļāļīāļAPR = .0825 ' āļāļąāļāļĢāļēāļāļāļāđāļāļĩāđāļĒāļĢāļēāļĒāļTotPmts = 20 ' āļ āđāļēāļāļ§āļāļāļ§āļāļāļąāđāļāļŦāļĄāļYrIncome = 50000 ' āđāļāļāļīāļāļēāļāļĢāļēāļĒāļFVal = 1000000 ' āļĄāļĨāļđāļāļēāđāļāļāļāļēāļāļPayType = BEGINPERIOD ' āļāļēāļĢāļāļēāļĒāļāļĩāđāļāļāļāļ§āļ
PVal = PV(APR, TotPmts, -YrIncome, FVal, PayType)MsgBox "The present value is " & Format(PVal, Fmt) & "."
QBColor FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Long āļāļĩāđāđāļŠāļāļāļĢāļŦāļąāļŠāļŠāļĩ RGB āļāļēāļĄāļŦāļĄāļēāļĒāđāļĨāļāļŠāļĩāļāļĩāđāļāđ āļēāļŦāļāļ
āđāļ§āļĒāļēāļāļĢāļQBColor(color)āļāļēāļāļīāļ§āđāļĄāļāļ color āđāļāļāđāļĨāļāļāđ āļēāļāļ§āļāđāļāđāļĄāđāļāļāļ§āļ 0-15
āļāļēāļĢāļāļąāđāļāļāļēāļāļēāļāļīāļ§āđāļĄāļāļ color āļāļąāđāļāļāļēāđāļ āļāļąāļāļāļĩāđ
āļŦāļĄāļēāļĒāđāļĨāļ āļŠāļĩ āļŦāļĄāļēāļĒāđāļĨāļ āļŠāļĩ0 āļāđ āļē (Black) 8 āđāļāļē (Gray)1 āļāđāđ āļēāđāļāļīāļ (Blue) 9 āļāđāđ āļēāđāļāļīāļāļāļāļ (Light Blue)2 āđāļāļĩāļĒāļ§ (Green) 10 āđāļāļĩāļĒāļ§āļāļāļ (Light Green)3 Cyan 11 Light Cyan4 āđāļāļ (Red) 12 āđāļāļāļāļāļ (Light Red)5 Magenta 13 Light Magenta6 āđāļŦāļĨāļ·āļāļ (Yellow) 14 āđāļŦāļĨāļ·āļāļāļāļāļ (Light Yellow)7 āļāļēāļ§ (White) 15 Bright Yellow
widebase.net âVBA References
110
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļēāļāļīāļ§āđāļĄāļāļ color āđāļŠāļāļāļāļēāļāļāļāļŠāļĩāļāļĩāđāđāļāļāļąāļāļ āļēāļĐāļē Visual Basic āđāļ§āļāļĢāļāļąāļāđāļĢāļīāđāļĄāđāļĢāļ (āđāļāļ Microsoft Visual BaiscāļŠāđ āļēāļŦāļĢāļąāļ MS-DOS āđāļĨāļ°āļāļāļĄāđāļāļĨāđāļĨāļāļĢāļ āļēāļĐāļē Basic) āļāļēāļĢāđāļĢāļīāđāļĄāļāļāļāļ§āļĒāđāļāļāļāļĩāđāļāļāļĒāļāļĩāđāļŠāļļāļ āđāļāļ·āđāļāļāļēāļĢāļĢāļ°āļāļļāļāļēāļŠāļĩāđāļāļ, āđāļāļĩāļĒāļ§ āđāļĨāļ°āļāđāđ āļēāđāļāļīāļ āđāļāļĒāļāļēāļĢāļāļąāđāļāļāļēāļŠāļĩāđāļāļĢāļ°āļāļ RGB
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ RGB
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ QBColor āđāļāļ·āđāļāđāļāļĨāđāļĩāļĒāļāļāļļāļāļŠāļĄāļāļąāļāļī BackColor āļāļāļāļāļāļĢāļĄ āļāļēāļāļāļēāļĢāļŠāļāļāļēāļāļāļēāđāļ MyForm āđāļāļāļŠāļĩāļāļĩāđāļĢāļ°āļāļļāļāļ§āļĒ ColorCode āļāļāļāļāļąāļ QBColor āļĒāļāļĄāļĢāļąāļāļāļēāļāđ āļēāļāļ§āļāđāļāđāļĄāļĢāļ°āļŦāļ§āļēāļ 0 āļāļķāļ 15
Sub ChangeBackColor (ColorCode As Integer, MyForm As Form) MyForm.BackColor = QBColor(ColorCode)End Sub
Randomize Statementinitial āļāļąāļ§āļŠāļĢāļēāļāđāļĨāļāļŠāļļāļĄ
āđāļ§āļĒāļēāļāļĢāļRandomize [number]number āđāļāļāļāļēāļāļīāļ§āđāļĄāļāļāđāļĄāļāļąāļāļāļąāļ āđāļĨāļ°āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ variant āļŦāļĢāļ·āļ numeric expression
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļRandomize āđāļ number āđāļāļāļēāļĢ initial āļāļāļāļāļąāļ Rnd āļāļĩāđāđāļāļāļāļąāļ§āļŠāļĢāļēāļāđāļĨāļāļŠāļļāļĄ āđāļāļ·āđāļāđāļŦāļāļēāđāļĢāļīāđāļĄāļāļ (seed value) āđāļŦ āļāļēāļĨāļ° number āļāļēāļŠāļāļāļāļāđāļāļĒāđāļ§āļĨāļēāļāļāļāļĢāļ°āļāļāđāļāđāļāļāļāļēāđāļĢāļīāđāļĄāļāļāđāļŦāļĄāļāļēāđāļĄāđāļ Randomize āļāļāļāļāļąāļ Rnd āļāļĩāđāđāļĄāļĄāļĩāļāļēāļāļīāļ§āđāļĄāļāļ āđāļāļāļąāļ§āđāļĨāļāđāļāļĩāļĒāļ§āļāļąāļāļāļēāđāļĢāļīāđāļĄāļāļāļāļēāļāļāļēāļĢāđāļĢāļĩāļĒāļāļāļĢāļąāđāļāđāļĢāļ āđāļĨāļ°āđāļāļŦāļĄāļēāļĒāđāļĨāļāļāļĩāđāļŠāļĢāļēāļāļāļĢāļąāđāļāļŠāļļāļāļāļēāļĒāđāļāļāļāļēāđāļĢāļīāđāļĄāļāļāļŦāļĄāļēāļĒāđāļŦāļāļļ āļāļēāļĢāļāđāđ āļēāļāļāļļāļāļĢāļĄāļāļāļāđāļĨāļāļŠāļļāļĄāđāļŦāđāļĢāļĩāļĒāļ Rnd āļāļ§āļĒ āļāļēāļāļīāļ§āđāļĄāļāļāļāļēāļĨāļāļāļąāļāļāļĩāļāļāļāļāļēāļĢāđāļRandomize āļāļ§āļĒāļāļēāļāļīāļ§āđāļĄāļāļāļāļąāļ§āđāļĨāļ āļāļēāļĢāđāļ Randomize āļāļ§āļĒāļāļēāđāļāļĩāļĒāļ§āļāļąāļ number āļāļ°āđāļĄāļāđāđ āļēāļāļāļļāļāļĢāļĄāļāļāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Rnd, āļāļāļāļāļąāļ Timer
āļāļąāļ§āļāļĒāļēāļ
Dim MyValeRondomize ' initial āļāļēāļĢāļŠāļĢāļēāļāđāļĨāļāļŠāļļāļĄMyValue = Int((6 * Rnd) + 1) ' āļŠāļĢāļēāļāđāļĨāļāļŠāļļāļĄāļĢāļ°āļŦāļ§āļēāļ 1 āļāļķāļ 6
widebase.net âVBA References
111
Rate FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double āļāļĩāđāļĢāļ°āļāļļāļāļąāļāļĢāļēāļāļāļāđāļāļĩāđāļĒāđāļāļāļēāļĢāļāđ āļēāļāļ§āļ
āđāļ§āļĒāļēāļāļĢāļRate(nper, pv [,fv [,type [,guess]]])āļāļēāļāļīāļ§āđāļĄāļāļāļāļāļāļāļāļāļāļąāļ Rate āļĄāļĩāļāļ§āļēāļĄāļŦāļĄāļēāļĒ āļāļ·āļ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļnper āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Integer, āļĢāļ°āļāļļāļāđ āļēāļāļ§āļāļāļ§āļāļāļēāļĢāļāļēāļĒāļāļąāđāļāļŦāļĄāļ āđāļāļ āļāļēāļĢāļāļēāļĒāđāļāļīāļāļāļđāļĢāļēāļĒāđāļāļ·āļāļāļāļāļ
āđāļāļīāļāļāļđ 4 āļ āļāđ āļēāļāļ§āļāļāļ§āļāļāļąāđāļāļŦāļĄāļ āļāļ·āļ 4 * 12 (āļŦāļĢāļ·āļ 48) āļāļ§āļāļāļēāļĢāļāļēāļĒpv āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant, āļĄāļđāļĨāļāļēāļāļāļāļļāļāļąāļ (āļŦāļĢāļ·āļāđāļāļīāļāļĢāļ§āļĄāļāļąāđāļāļŦāļĄāļ) āļāļāļāļāļļāļāļāļēāļĢāļāļēāļĒāļŠāđ āļēāļŦāļĢāļąāļāļĄāļđāļĨ
āļāļēāļāļāļēāļāļ āđāļāļ āļāļēāļĢāļĒāļ·āļĄāđāļāļīāļāđāļāļ·āđāļāļāļ·āđāļāļĢāļāļĒāļāļ āđāļāļīāļāļāļđ āļāļ·āļ āļĄāļđāļĨāļāļēāļāļāļāļļāļāļąāļāļāļĩāđāļāļđāļāļđāļāļāļāļāļēāļĒāđāļāļāļĢāļēāļĒāđāļāļ·āļāļ āļāļēāđāļĄāļāđ āļēāļŦāļāļ āļāļ°āđāļāļāļēāđāļāļ 0
fv āđāļĄāļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double, āļĢāļ°āļāļļāļĄāļđāļĨāļāļēāđāļāļāļāļēāļāļ āļŦāļĢāļ·āļāļāđ āļēāļāļ§āļāļŠāļāļāļāđāļŦāļĨāļ·āļāđāļĄāļ·āđāļāļŠāđāļīāļāļŠāļļāļāļāļ§āļāļāļēāļĢāļāļēāļĒ āđāļāļ āļāļāļāļāļēāļĢāļāļēāļāđāļāļīāļāļāļāļĄāđāļāļ·āđāļāļŦāđāļ āļŋ50,000 āđāļāļĢāļ°āļĒāļ°āđāļ§āļĨāļē 18 āđāļāļ·āļāļ āđāļāļīāļāļāđ āļēāļāļ§āļ āļŋ50,000 āļāļ·āļ āļĄāļđāļĨāļāļēāļāļāļēāļāļ āļāļēāđāļĄāļāđ āļēāļŦāļāļ āļāļ°āđāļāļāļēāđāļāļ 0
type āđāļĄāļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant, āļĢāļ°āļāļļāļāđ āļēāļŦāļāļāļāļēāļĢāļāļēāļĒ āđāļ 0 āļāļēāļāđ āļēāļŦāļāļāļāđ āļēāļĢāļ°āđāļāļāļŠāđāļīāļāļāļ§āļ āļŦāļĢāļ·āļ 1āļāļēāļāđ āļēāļŦāļāļāļāđ āļēāļĢāļ°āđāļāļāļāļāļāļ§āļ āļāļēāđāļĄāļāđ āļēāļŦāļāļ āļāļ°āđāļāļāļēāđāļāļ 0
guess āđāļĄāļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant, āļĢāļ°āļāļļāļāļēāđāļāļāļēāļĢāļāļĢāļ°āļĄāļēāļāļāļēāļŠāļāļāļāļāļāļāļāļāļāļāļāļąāļ IRR āļāļēāđāļĄāļāđ āļēāļŦāļāļ āļāļ°āđāļŦāļāļē guess āđāļāļ 0.1 (10%)
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļ§āļāļāļēāļĢāļāļēāļĒāđāļāļāļāļļāļāļāļēāļĢāļāļēāļĒāļāļĩāđāļāļāļāļĩāđāļāļĨāļāļāļĢāļ°āļĒāļ°āđāļ§āļĨāļēāļāļąāđāļāļŦāļĄāļ āļāļēāļĢāļāļēāļĒāļŠāļēāļĄāļēāļĢāļāđāļāļāļāļēāļĢāļāđ āļēāļĢāļ°āđāļāļīāļāļāļđ ( āđāļāļ āļāļēāļāļ§āļāđāļāļīāļāļāļđāļāļāļāļēāļ) āļŦāļĢāļ·āļāļāļēāļĢāļĨāļāļāļļāļ ( āđāļāļ āļāļēāļĢāļāļēāļāđāļāļīāļāļāļāļĄāđāļāļāļĢāļēāļĒāđāļāļ·āļāļ)āļāļēāļāļīāļ§āđāļĄāļāļāļāļąāđāļāļŦāļĄāļ āđāļāļīāļāļŠāļāļāļēāļĒāļāļāļ (āđāļāļ āļāļēāļĢāļāļēāļāđāļāļīāļāļāļāļĄ) āđāļŦāđāļāļāļāļēāļĨāļ āđāļāļīāļāļŠāļāļĢāļąāļāđāļāļē (āđāļāļ āđāļāļīāļāļāļāļāļĨ) āđāļŦāđāļāļāļāļ§āļāļāļāļāļāļąāļ Rate āļāđ āļēāļāđ āļēāļāļ§āļāđāļāļāļāđāđ āļē (iteration) āđāļāļĒāđāļĢāļīāđāļĄāļāļēāļāļāļēāļāļāļ guess āđāļāļĒāļāļāļāļāļąāļ Rate āļāļ°āļāđ āļēāļāļ§āļāļāļāļāļĢāļ°āļāļąāđāļāđāļāļāļēāđāļĄāļāļĒāđ āļēāļ āļēāļĒāđāļ 0.00001% āļāļēāļāļāļāļāļąāļ Rate āđāļĄāļŠāļēāļĄāļēāļĢāļāļŦāļēāđāļāļ āļēāļĒāđāļ 20 āļĢāļāļ āļāļ°āđāļĄāļŠāļēāļĄāļēāļĢāļāļŦāļēāļāđ āļēāļāļāļāđāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ DDB, āļāļāļāļāļąāļ FV āļāļāļāļāļąāļ IPmt, āļāļāļāļāļąāļ IRR, āļāļāļāļāļąāļ MIRR, āļāļāļāļāļąāļ NPer, āļāļāļāļāļąāļ NPV, āļāļāļāļāļąāļPmt, āļāļāļāļāļąāļ PPmt, āļāļāļāļāļąāļ PV, āļāļāļāļāļąāļ SLN, āļāļāļāļāļąāļ SYD
widebase.net âVBA References
112
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ Rate āđāļāļāļēāļĢāļāđ āļēāļāļ§āļāļāļąāļāļĢāļēāļāļāļāđāļāļĩāđāļĒāļāļāļāđāļāļīāļāļāļđāļāļĩāđāļāđ āļēāļŦāļāļāļāđ āļēāļāļ§āļāļāļ§āļāļāļąāđāļāļŦāļĄāļ (TotPmts), āļāļēāļĢāļāļēāļĒāđāļāļīāļāļāļđ (Payment), āļĄāļđāļĨāļāļēāļāļāļāļļāļāļąāļāļŦāļĢāļ·āļāđāļāļīāļāļāļ (PVal), āļĄāļđāļĨāļāļēāđāļāļīāļāļāļđāđāļāļāļāļēāļāļ (FVal), āļāļąāļ§āđāļĨāļāļāļĩāđāļĢāļ°āļāļļāļāđ āļēāļŦāļāļāļāļēāļĢāļāļēāļĒ (PayType), āđāļĨāļ°āļāļēāļāļĢāļ°āļĄāļēāļāļāļāļāļāļąāļāļĢāļēāļāļāļāđāļāļĩāđāļĒ (Guess)
Dim Fmt, FVal, Guess, PVal, Payment, TotPmts, PayType, APRConst ENDPERIOD = 0, BEGINPERIOD = 1 ' āđāļĄāļ·āļāđāļĄāļĩāļāļēāļĢāļāļēāļĒ
Fmt = "##0.00" ' āļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļāļĢāļāļĒāļĨāļ°FVal = 0 ' āļāļē FV āļāļāļāđāļāļīāļāļāļđāļĄāļąāļāļāļ°āļāđ āļēāļŦāļāļāđāļāļ 0Guess = .1 ' āļāļē Guess 10%PVal = InputBox("How much did you borrow?")Payment = InputBox("What's your monthly payment?")TotPmts = InputBox("How many monthly payments do you have to make?")PayType = MsgBox("Do you make payments at the end of the month?", vbYesNo)
If PayType = vbNo Then PayType = BEGINPERIOD Else PayType = ENDPERIODAPR = (Rate(TotPmts, -Payment, PVal, FVal, PayType, Guess) * 12) * 100MsgBox "Your interest rate is " & Format(CInt(APR), Fmt) & " percent."
Reset StatementāļāļāđāļāļĨāļāļąāđāļāļŦāļĄāļāļāļĩāđāđāļāļāļāļ§āļĒāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Open
āđāļ§āļĒāļēāļāļĢāļReset
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Reset āļāļāđāļāļĨāļāļąāđāļāļŦāļĄāļāļāļĩāđāđāļāļāđāļāļĒāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Open āđāļĨāļ°āđāļāļĩāļĒāļāļāļāļĄāļđāļĨāļāļēāļāđāļāļĨāļāļąāļāđāļāļāļĢāļāļąāđāļāļŦāļĄāļāļĨāļāļŠāļđāļāļīāļŠāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄClose Statement, End Statement, Open Statement
āļāļąāļ§āļāļĒāļēāļ
Dim FileNumber ' āļāļĢāļ°āļāļēāļĻāļāļąāļ§āđāļāļĢFor FileNumber = 1 To 5 ' loop 5 āļĢāļāļ' āđāļāļāđāļāļĨāļŠāđ āļēāļŦāļĢāļąāļ output, FileName āļ āđāļēāđāļāļāļāļāļāļāļ§āļēāļĄ TEST āļŠāđ āļēāļŦāļĢāļąāļāļāļ·āđāļāđāļāļĨ, āļŦāļĄāļēāļĒāđāļĨāļāļāļāļāļēāļĒ # Open "TEST" & FileNumber For Output As #FileNumber Write #FileName, "Hello World" ' āđāļāļĒāļĩāļāļāļāļĄāļđāļĨāļĨāļāđāļāļĨNext FileNameReset ' āļāļāđāļāļĨāđāļĨāļ°āđāļāļĩāļĒāļāļāļāļĄāļđāļĨāļĨāļāļāļīāļŠāļ
widebase.net âVBA References
113
RGB FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Long āļāļĩāđāđāļŠāļāļāļĢāļŦāļąāļŠāļŠāļĩ RGB
āđāļ§āļĒāļēāļāļĢāļRGB(red, green, blue)āļāļāļāļāļąāļ RGB āļĄāļĩāđāļ§āļĒāļēāļāļĢāļāļāļāļāļāļēāļāļīāļ§āđāļĄāļāļ āļāļ·āļ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļRed āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (Integer) āđāļāļĒāļŦāļĄāļēāļĒāđāļĨāļāļĄāļĩāļāļ§āļāļĢāļ°āļŦāļ§āļēāļ 0-255 āļāļķāđāļāđāļāļāļāļēāļĢāđāļŠāļāļ
āļŠāļ§āļāļāļĢāļ°āļāļāļāļāļāļāļŠāļĩāđāļāļgreen āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (Integer) āđāļāļĒāļŦāļĄāļēāļĒāđāļĨāļāļĄāļĩāļāļ§āļāļĢāļ°āļŦāļ§āļēāļ 0-255 āļāļķāđāļāđāļāļāļāļēāļĢāđāļŠāļāļ
āļŠāļ§āļāļāļĢāļ°āļāļāļāļāļāļāļŠāļĩāđāļāļĩāļĒāļ§blue āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (Integer) āđāļāļĒāļŦāļĄāļēāļĒāđāļĨāļāļĄāļĩāļāļ§āļāļĢāļ°āļŦāļ§āļēāļ 0-255 āļāļķāđāļāđāļāļāļāļēāļĢāđāļŠāļāļ
āļŠāļ§āļāļāļĢāļ°āļāļāļāļāļāļāļŠāļĩāļāđāđ āļēāđāļāļīāļ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļĄāļāļāļ Application āđāļĨāļ°āļāļļāļāļŠāļĄāļāļąāļāļīāļĒāļāļĄāļĢāļąāļāļāļēāļĢāļāđ āļēāļŦāļāļāļŠāļĩ āļĒāļāđāļ§āļāļāļēāļĢāļāđ āļēāļŦāļāļāļāļĩāđāđāļāļāļŦāļĄāļēāļĒāđāļĨāļāļāļĩāđāļāļēāļŠāļĩ RGB āđāļāļĒāļāļēāļāļāļāļŠāļĩ RGB āļĢāļ°āļāļļāļāļēāļĄāļāļ§āļēāļĄāđāļāļĄāļāļāļāļāļāļŠāļĩāđāļāļ, āđāļāļĩāļĒāļ§ āđāļĨāļ°āļāđāđ āļēāđāļāļīāļ āđāļāļ·āđāļāļāļŠāļĄāđāļāļāļŠāļĩāļāļĩāđāļāđ āļēāļŦāļāļāļāļēāļŠāđ āļēāļŦāļĢāļąāļāļāļēāļāļīāļ§āđāļĄāļāļāļāļāļāļāļāļāļāļąāļ RGB āļāļĩāđāđāļāļīāļāļāļ§āļē 255 āļāļ°āđāļāļāļē 255āļāļēāļĢāļēāļāđāļāļāļāļąāļ§āļāļĒāļēāļāļĢāļēāļĒāļāļēāļĢāļāļāļāļŠāļĩāļĄāļēāļāļĢāļāļēāļ
āļŠāļĩ āļŠāļĩāđāļāļ āļŠāļĩāđāļāļĩāļĒāļ§ āļŠāļĩāļāđāđ āļēāđāļāļīāļāļāđ āļē 0 0 0āļāđāđ āļēāđāļāļīāļ 0 0 255āđāļāļĩāļĒāļ§ 0 255 0Cyan 0 255 255āđāļāļ 255 0 0Magenta 255 0 255āđāļŦāļĨāļ·āļāļ 255 255 0āļāļēāļ§ 255 255 255
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ QBColor
widebase.net âVBA References
114
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ RGB āđāļāļ·āđāļāđāļāļŠāļāļāļēāļŦāļĄāļēāļĒāđāļĨāļāđāļāļāļāļēāļŠāļĩ RGB āļāļķāđāļāđāļāļŠāđ āļēāļŦāļĢāļąāļāđāļĄāļāļāļ Application āđāļĨāļ°āļāļļāļāļŠāļĄāļāļąāļāļīāļāļķāđāļāļĒāļāļĄāļāļēāļĢāļāđ āļēāļŦāļāļ āđāļāļĒāļāļāļāđāļāļāđāļĨāļ°āļāļļāļāļŠāļĄāļāļąāļāļīāļāļāļ MyObject āđāļāļŠāđ āļēāļŦāļĢāļąāļāđāļāļēāļŦāļĄāļēāļĒāļāļēāļāļāļ āļāļēāđāļĄāļĄāļĩ MyObject āļŦāļĢāļ·āļāđāļĄāļĄāļĩāļāļļāļāļŠāļĄāļāļąāļāļī Color āļāļ°āđāļāļīāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļ
Dim RED, I, RGBValue, MyObjectRed = RGB(255, 0, 0) ' āļŠāļāļāļāļāļāļēāļāļāļāļŠāļĩāđāļāļI = 75 ' āļāļēāļĢāļāđ āļēāļŦāļāļāļāļēāđāļĢāļīāđāļĄāļāļRGBValue = RGB(I, 64 + I, 128 + I) ' āđāļŦāļĄāļāļ·āļāļāļąāļ RGB(75, 139, 203).MyObject.Color = RGB(255, 0, 0) ' āļāđ āļēāļŦāļāļāļāļļāļāļŠāļĄāļāļąāļāļī Color āļāļāļ MyObject āđāļāļāļŠāļĩāđāļāļ
Right Function, Right$ Functionāļāļāļāļāļąāļ Right āļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (String) āļāļēāļĄāļāđ āļēāļāļ§āļāļāļąāļ§āļāļąāļāļĐāļĢāļāļĩāđāļĢāļ°āļāļļāđāļāļĒāđāļĢāļīāđāļĄāļāļāļāļēāļāļāļēāļāļāļ§āļēāļĄāļ·āļāļāļāļāļāļąāļ Right $ āļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ String āļāļēāļĄāļāđ āļēāļāļ§āļāļāļąāļ§āļāļąāļāļĐāļĢāļāļĩāđāļĢāļ°āļāļļāđāļāļĒāđāļĢāļīāđāļĄāļāļāļāļēāļāļāļēāļāļāļ§āļēāļĄāļ·āļ
āđāļ§āļĒāļēāļāļĢāļRight(starting, length)Right$(starting, length)āļāļēāļāļīāļ§āđāļĄāļāļāļāļāļāļāļāļāļāļąāļ Right āđāļĨāļ°āļāļāļāļāļąāļ Right$ āļĄāļĩāļāļāļāđ āļēāļŦāļāļ āļāļ·āļ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļstring āļāļąāļāļāļąāļ, āđāļāļĒ Expression āļāļāļāļāļāļāļ§āļēāļĄāļāļĩāđāļāļāļāļāļēāļĢāļŠāļāļāļēāļāļēāļāļāļēāļĒ āļāļē string āđāļāļāļāļēāļ§āļēāļ (Null) āļāļĨ
āļĨāļąāļāļāļāļ°āđāļāļāļāļēāļ§āļēāļlength āļāļąāļāļāļąāļ, āđāļāļĒāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāđāļāļ Variant (Long) āļŦāļĢāļ·āļāđāļāļāđāļĨāļāļāđ āļēāļāļ§āļāđāļāđāļĄ āļāļķāđāļ Expression āļāļāļāļāļąāļ§
āđāļĨāļāđāļāļāļāļēāļĢāļĢāļ°āļāļļāļāđ āļēāļāļ§āļāļāļąāļ§āļāļąāļāļĐāļĢāļāļĩāđāļāļāļāļāļēāļĢāđāļŦāļŠāļāļāļēāļāļāļāļĄāļē āļāļēāđāļāļ 0 āļāļēāļāļĩāđāļŠāļāļāļāļāļāļ°āđāļāļ Zero-legth string (â â) āļāļēāļāļē length āļĄāļēāļāļāļ§āļēāļŦāļĢāļ·āļāđāļāļēāļāļąāļ string āļāļāļāļ§āļēāļĄāļāļĩāđāļĄāļĩāļāļĒāļđāļāļ°āđāļāļĢāļąāļāļāļēāļĢāļŠāļāļāļāļāļĄāļē
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļēāļāļāļāļāļēāļĢāļŦāļēāļāđ āļēāļāļ§āļāļāļąāļ§āļāļąāļāļĐāļĢāļāļāļāļāļāļāļ§āļēāļĄāđāļŦāđāļāļāļāļāļāļąāļ LenāļŦāļĄāļēāļĒāđāļŦāļāļļ
âĒ āļāļēāļĢāđāļāļāļāļāļāļąāļ RightB āļāļąāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāđāļāļāļāļāļāļāļāļāļ§āļēāļĄ āļāļēāļĢāļĢāļ°āļāļļāļāļē length āļāļ°āđāļāļāļĢāļ°āļāļļāļāđ āļēāļāļ§āļāđāļāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Left, āļāļāļāļāļąāļ Left$, āļāļāļāļāļąāļ Len, āļāļāļāļāļąāļ Mid, āļāļāļāļāļąāļ Mid$
āļāļąāļ§āļāļĒāļēāļāļāļāļāļāļąāļ Right āļāđ āļēāļĄāļēāđāļāļŠāļāļāļēāļāļāļāļāđ āļēāļāļ§āļāļāļąāļ§āļāļąāļāļĐāļĢāļāļķāđāļāđāļĢāļīāđāļĄāļāļāļāļēāļāļāļēāļāļāļēāļĒ
widebase.net âVBA References
115
Dim anyString, myStranyString = "Hello World"myStr = Left(anyString, 1) ' āļāļĨāļĨāļąāļāļ "d"myStr = Left(anyString, 8) ' āļāļĨāļĨāļąāļāļ "lo World"myStr = Left(anyString, 25) ' āļāļĨāļĨāļąāļāļ "Hello World"
RmDir StatementāļĨāļāđāļāđāļĢāļāļāļāļĢāļĩāđāļŦāļĢāļ·āļāđāļāļĨāđāļāļāļĢāļāļĩāđāļĄāļĩāļāļĒāļđ
āđāļ§āļĒāļēāļāļĢāļRmDir pathpath āđāļāļāļāļēāļāļīāļ§āđāļĄāļāļāļāļąāļāļāļąāļ āđāļĨāļ°āđāļāļ string expression āļāļĩāđāļĢāļ°āļāļļāđāļāđāļĢāļāļāļāļĢāļĩ āļŦāļĢāļ·āļāđāļāļĨāđāļāļāļĢāļāļĩāđāļāļāļāļāļēāļĢāļĨāļ
path āļāļēāļāļāļ°āļĢāļ§āļĄāļāļķāļāđāļāļĢāļ āļāļēāđāļĄāļĢāļ°āļāļļāđāļāļĢāļ RmDir āļĨāļāđāļāđāļĢāļāļāļāļĢāļĩ āļŦāļĢāļ·āļāđāļāļĨāđāļāļāļĢāļāļāđāļāļĢāļāļāļāļāļļāļāļąāļ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļēāđāļ RmDir āļāļąāļāđāļāđāļĢāļāļāļāļĢāļĩ āļŦāļĢāļ·āļāđāļāļĨāđāļāļāļĢāļāļĩāđāļĄāļĩāđāļāļĨāļāļĒāļđ āļāļ°āđāļāļīāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļ āđāļŦāđāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Kill āļĨāļāđāļāļĨāļāļąāđāļāļŦāļĄāļ āļāļāļāļāļēāļĢāļĨāļāđāļāđāļĢāļāļāļāļĢāļĩ āļŦāļĢāļ·āļāđāļāļĨāđāļāļāļĢ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄChDir Statement, āļāļāļāļāļąāļ CurDir, Kill Statement, MkDir Statement
āļāļąāļ§āļāļĒāļēāļ
' āļŠāļĄāļĄāļāļ§āļīāļē "MYDIR" āđāļāļāđāļāđāļĢāļāļāļāļĢāļĩāļŦāļĢāļ·āļāđāļāļĨāđāļāļāļĢāļ§āļēāļRmDir "MyDir" ' āļĨāļāđāļāđāļĢāļāļāļāļĢāļĩāļŦāļĢāļ·āļāđāļāļĨāđāļāļāļĢāļ§āļēāļ
Rnd FunctionāļŠāļāļāļāļāļāļēāđāļāļāđāļĨāļāļŠāļļāļĄāļāļĩāđāļĄāļĩāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Single
āđāļ§āļĒāļēāļāļĢāļRnd[(number)]āļāļēāļāļīāļ§āđāļĄāļāļ number āđāļāļāļāļąāļ§āđāļĨāļ·āļāļ (āđāļĄāļāļąāļāļāļąāļ) āđāļĨāļ°āļĄāļĩāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Single āļŦāļĢāļ·āļ Expression āļāļĩāđāđāļŦāļāļē
āļāļąāļāļāļĨāļēāļ§
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļāļāļāļąāļ Rnd āļāļ°āļŠāļāļāļēāļāļāļāđāļāļāļāļēāļāļĩāđāļāļāļĒāļāļ§āļē 1 āđāļāļĄāļēāļāļāļ§āļēāļŦāļĢāļ·āļāđāļāļēāļāļąāļāļĻāļđāļāļĒāļāļąāļ§āļāļĒāļēāļDim myValuemyValue = Int((6*Rnd)+1) ' āļŠāļĢāļēāļāļāļēāļŠāļļāļĄāļĢāļ°āļŦāļ§āļēāļ 1 āļāļķāļ 6
widebase.net âVBA References
116
RTrim, RTrim$ Functionāļāļđ LTrim, LTrim$ Function
SaveSetting StatementāđāļāđāļāļāļēāļĢāļāļąāļāļāļķāļāļāļēāļŦāļĢāļ·āļāļŠāļĢāļēāļ application entry āđāļ Windows Register
āđāļ§āļĒāļēāļāļĢāļSaveSetting appname, section, key, settingāļāļāļāļāļąāļ SaveSetting āļĄāļĩāđāļ§āļĒāļēāļāļĢāļāļāļāļāļāļēāļāļīāļ§āđāļĄāļāļ āļāļ·āļ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļappname āļāļąāļāļāļąāļ, āđāļāļ expression āļāļāļāļāļāļāļ§āļēāļĄāļāļĩāđāđāļāđāļāļāđāļ·āļāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļŦāļĢāļ·āļāđāļāļĢāļāļāļēāļĢāļāļĩāđ key setting āļāļāļāļāļēāļĢsection āļāļąāļāļāļąāļ, āđāļāļ expression āļāļāļāļāļāļāļ§āļēāļĄāļāļĩāđāđāļāđāļāļāđāļ·āļ section āļāļĩāđ key setting āđāļāļĢāļąāļāļāļąāļāļāļķāļāļāļēkey āļāļąāļāļāļąāļ, āđāļāļ expression āļāļāļāļāļāļāļ§āļēāļĄāļāļĩāđāđāļāđāļāļāđāļ·āļ key setting āļāļĩāđāļāļāļāļāļēāļĢāļāļąāļāļāļķāļāļāļēdefault āļāļąāļāļāļąāļ, āđāļāļ expression āđāļāđāļāļāļēāļāļĩāđāđāļāļāđ āļēāļŦāļāļāđāļŦ key
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļāđāļāļīāļāļāļķāđāļāđāļĄāļ·āđāļ key setting āđāļĄāļŠāļēāļĄāļēāļĢāļāļāļąāļāļāļķāļāļāļēāđāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄDeleteSetting Statement, āļāļāļāļāļąāļ GetAllSettings, āļāļāļāļāļąāļ GetSetting,
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāđ āļēāļŠāđāļąāļ SaveSettings āļāļķāđāļāđāļĢāļīāđāļĄāļāļēāļāļāļēāļĢāđāļāļāđ āļēāļŠāđāļąāļ SaveSetting āļāđ āļēāļāļēāļĢ Regirtry āđāļ Windows (āļŦāļĢāļ·āļāđāļāļĨ .ini āđāļ 16-bit Windows) āļŠāđ āļēāļŦāļĢāļąāļāđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļ MyApp āđāļĨāļ°āđāļāļāđ āļēāļŠāđāļąāļ DeleteSetting āļĨāļāļāļēāļāļąāđāļāļŦāļĄāļ
' āļāđāļĩāđāļāļāđāļāļēāļāļēāļāļŠāļ§āļāļāļāļ Settings āđāļ registrySaveSetting "MyApp","Startup", "Top", 75SaveSetting "MyApp","Startup", "Left", 50
' āđāļāļāđ āļēāļŠāđāļąāļ DeleteSetting āļĒāļāđāļĨāļīāļ section āđāļĨāļ°āļāļēāļāļąāđāļāļŦāļĄāļāļāļēāļ RegisterDeleteSetting "MyApp", "Startup"
Second FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (Integer) āđāļāļāļ§āļ 0 āļāļķāļ 59 āļāļēāļāļŠāļ§āļāļ§āļīāļāļēāļāļĩāļāļāļāļāļēāļāļĩ
āđāļ§āļĒāļēāļāļĢāļSecond(time)
widebase.net âVBA References
117
āļāļēāļāļīāļ§āđāļĄāļāļ time āļŠāļēāļĄāļēāļĢāļāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāļāļāļāļ§āļēāļĄ (String) āļāļąāļ§āđāļĨāļ āļŦāļĢāļ·āļ Expression āļāļĩāđāđāļŠāļāļāđāļāļĢāļđāļāđāļāļāļāļāļāđāļ§āļĨāļē āļāļē time āđāļāļāļāļēāļ§āļēāļ (Null) āļāļĨāļĨāļąāļāļāļāļ°āđāļāļāļāļēāļ§āļēāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Day, āļāļāļāļāļąāļ Hour, āļāļāļāļāļąāļ Minute, āļāļāļāļāļąāļ Now, āļāļāļāļāļąāļ Time
āļāļąāļ§āļāļĒāļēāļāļāļāļāļāļąāļ Second āļāđ āļēāļĄāļēāđāļāđāļāļāļēāļĢāđāļāļĨāļāđāļ§āļĨāļēāļāļĩāđāļāđ āļēāļŦāļāļ āđāļŦāđāļāļāļāļēāļāļāļāļ§āļīāļāļēāļāļĩ
Dim MyTime, MySecondMyTime = #4:35:17 PM# ' āļāđ āļēāļŦāļāļāđāļ§āļĨāļēMySecond = Second(MyTime) ' MySecond āđāļāļāđāļāļāļāļ§āļīāļāļēāļāļĩ
Seek FunctionāļŠāļāļāļāļāļāļēāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Long āļāļĩāđāļĢāļ°āļāļļāļāļēāļĢāļāļēāļāļŦāļĢāļ·āļāđāļāļĩāļĒāļāļāļāļāļļāļāļąāļ āđāļāđāļāļĨāļāļĩāđāđāļāļāļāļ§āļĒāļāđ āļēāļŠāđāļąāļ Open
āđāļ§āļĒāļēāļāļĢāļSeek(filenumber)āļāļēāļāļīāļ§āđāļĄāļāļ filenumber āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāđāļĨāļāļāđ āļēāļāļ§āļāđāļāđāļĄāļāļĩāđāđāļāđāļāļāļēāļŦāļĄāļēāļĒāđāļĨāļāđāļāļĨāļāļĩāđāļĄāļĩāļāļĢāļīāļ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāđ āļēāļāļāļīāļāļēāļĒāļāļāđāļāđāļāļāļāļēāļŠāļāļāļāļāļŠāđ āļēāļŦāļĢāļąāļāđāļāļĨāļ°āđāļŦāļĄāļāļāļāļāđāļāļĨāļāļĩāđāđāļāļēāļāļķāļ
āđāļŦāļĄāļ āļāļēāļāļĩāđāļŠāļāļāļāļRandom āļŦāļĄāļēāļĒāđāļĨāļāļāļāļāđāļĢāļāļāļāļĢāļāļāļāđāļāļāļāļāđāļāļĨāļāļĩāđāļāļēāļāļŦāļĢāļ·āļāđāļāļĩāļĒāļBinary, Output,Append, Input
āļāđ āļēāđāļŦāļāļāđāļāļāļāļĩāđāļāļ°āļāļĢāļēāļāļāđāļāļāļĢāļąāđāļāļāļāđāļ āđāļāļĒāđāļāļāđāļĢāļāđāļāļāđāļāļĨāļāđ āļēāđāļŦāļāļ 1, āđāļāļāļāļĩāđāļŠāļāļāđāļāļāđāļāļĨāļāđ āļēāđāļŦāļāļ 2 āđāļĨāļ°āļāļāđāđāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄGet Statement, āļāļāļāļāļąāļ Loc, Open Statement, Put Statement, Seek Statement
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ Seek āļŠāļāļāļēāļāđ āļēāđāļŦāļāļāļāļāļāļļāļāļąāļ āļŠāļĄāļĄāļāļīāđāļŦ TESTFILE āđāļāļāđāļāļĨāļāļĩāđāđāļāđāļāđāļĢāļāļāļāļĢāļāļāļĩāđāļāļđāđāļāļāđ āļēāļŦāļāļāļāļĢāļ°āđāļ āļ
Type Record ' āļāđ āļēāļŦāļāļāļāļđāđāļāļāđ āļēāļŦāļāļāļāļĢāļ°āđāļ āļ ID As Integer Name As String * 20End Type
widebase.net âVBA References
118
āļŠāđ āļēāļŦāļĢāļąāļāđāļāļĨāļāļĩāđāđāļāļāđāļāđāļŦāļĄāļ Random āļāļāļāļāļąāļ Seek āļŠāļāļŦāļĄāļēāļĒāđāļĨāļāļāļāļāđāļĢāļāļāļāļĢāļāļāļāđāļDim MyRecord As Record ' āļāļĢāļ°āļāļēāļĻāļāļąāļ§āđāļāļĢOpen "TESTFILE" For Random As #1 Len = Len(MyRecord)Do While Not EOF(1) ' āļ§āļāļĢāļāļāļāļāļāļĢāļ°āļāļąāđāļāļŠāđāļīāļāļŠāļļāļāđāļāļĨ Get #1, , MyRecord ' āļāļēāļāđāļĢāļāļāļāļĢāļāļāļāđāļ Debug.Print Seek(1) ' āļāļĄāļīāļāļāļāļāđāļ Immediate windowLoopClose #1 ' āļāļāđāļāļĨ
āļāļēāļĢāđāļāļāđāļāđāļŦāļĄāļāļāļ·āđāļāļāļāļāđāļŦāļāļ·āļāļāļēāļ Random āļāļāļāļāļąāļ Seek āļŠāļāļāđ āļēāđāļŦāļāļāđāļāļāļāļĩāđāđāļāļāļāļēāļĢāļāđ āļēāļāļēāļāļāļĢāļąāđāļāļāļāđāļ āļŠāļĄāļĄāļāļīāđāļŦ TESTFILE āđāļāļ text file āļāļĩāđāļĄāļĩāļāļāļĄāļđāļĨāļāļąāļ§āļāļĒāļēāļ
Dim MyCharOpen "TESTFILE" For Input As #1 'āđāļāļāđāļāļĨāļŠāđ āļēāļŦāļŦāļĢāļąāļāļāļēāļDo While Not EOF(1) ' āļ§āļāļĢāļāļāļāļāļāļĢāļ°āļāļąāđāļāļŠāđāļīāļāļŠāļļāļāđāļāļĨ MyChar = Input(1, #1) ' āļāļēāļāļāļąāļ§āļāļąāļāļĐāļĢāļāļāļāļāļāļĄāļđāļĨāļāļāđāļ Debug.Print Seek(1) ' āļāļĄāļīāļāļāļāļāđāļ Immediate windowLoopClose #1 ' āļāļāđāļāļĨ
Seek Statementāļāļąāđāļāļāļēāļāđ āļēāđāļŦāļāļāļŠāđ āļēāļŦāļĢāļąāļāļāļēāļĢāļāđ āļēāļāļēāļ āļāļēāļ/āđāļāļĩāļĒāļāļāļāđāļāļ āļēāļĒāđāļāđāļāļĨāļāļĩāđāđāļāļāļāļ§āļĒāļāļēāļĢāđāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Open
āđāļ§āļĒāļēāļāļĢāļSeek [#] filenumber, positionāđāļ§āļĒāļēāļāļĢāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Seek āļĄāļĩāļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāļŠāļ§āļ āļāļąāļāļāļĩāđ
āļŠāļ§āļ āļāđ āļēāļāļāļīāļāļēāļĒfilenumber āļāļąāļāļāļąāļ, āđāļāļāļŦāļĄāļēāļĒāđāļĨāļāđāļāļĨposition āļāļąāļāļāļąāļ, āđāļāļāļāļąāļ§āđāļĨāļāđāļāļāļ§āļ 1 - 2, 147, 483, 647 āļāļĩāđāļāļĩāđ āļāļķāļāļāļēāļĢāļāđ āļēāļāļēāļ āļāļēāļ/āđāļāļĩāļĒāļāļāļāđāļāļāļ§āļĢ
āđāļāļīāļāļāļķāđāļ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļŦāļĄāļēāļĒāđāļĨāļāđāļĢāļāļāļāļĢāļāļāļĩāđāļĢāļ°āļāļļāđāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Get āđāļĨāļ° Put āļāļ°āđāļāļāļāļĩāđāļāđ āļēāđāļŦāļāļāļāļĩāđāļāđ āļēāļāļēāļāđāļāļĒ SeekāļāļēāļĢāļāđ āļēāļāļēāļāđāļāļĩāļĒāļāđāļāļĨāļ āļēāļĒāļŦāļĨāļąāļāļāļēāļĢāļāđ āļēāļāļēāļ āđāļāļĒ Seek āļāļāļāļāļēāļĢāļŠāļīāđāļāļŠāļļāļāđāļāļĨ āļāļēāļāļĒāļēāļĒāļēāļĄāđāļŦ Seek āļāđ āļēāļāļēāļāđāļāļāļĩāđāļāđ āļēāđāļŦāļāļāļāļēāļĨāļāļŦāļĢāļ·āļāļĻāļđāļāļĒ āļāļ°āđāļāļīāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄGet Statement, āļāļāļāļāļąāļ Loc, Open Statement, Put Statement, āļāļāļāļāļąāļ Seek
āļāļąāļ§āļāļĒāļēāļāđāļāļāđāļāđāļŦāļĄāļ random āļŠāļēāļĄāļēāļĢāļāđāļ Seek āļāļāļŦāļēāđāļĢāļāļāļāļĢāļāļāļāđāļ
widebase.net âVBA References
119
Type Record ' āļāđ āļēāļŦāļāļ User - define type ID As Integer Name As String * 20End Type
Dim MyRecord As Record, MaxSize, RecordNumber ' āļāļĢāļ°āļāļēāļĻāļāļąāļ§āđāļāļĢ
' āđāļāļāđāļāļĨāļŠāđ āļēāļŦāļĢāļąāļāļāļēāļĢāđāļāļēāļāļķāļāđāļāļāļŠāļļāļĄ (random access)Open "TESTFILE" For Random As #1 Len = Len(MyRecord)MaxSize = LOF(1) \ Len(MyRecord)For RecordNumber = MaxSize To 1 Step -1 Seek #1, RecordNumber ' āļāļąāļāđāļāļēāļāđ āļēāđāļŦāļāļ Get #1, , MyRecord ' āļāļēāļāđāļĢāļāļāļāļĢāļNext RecordNumberClose #1 ' āļāļāđāļāļĨ
āđāļāļāđāļāđāļŦāļĄāļāļāļ·āđāļāļāļĩāđāđāļĄāđāļāđāļŦāļĄāļ Random āļŠāļēāļĄāļēāļĢāļāđāļ Seek āļāļāļŦāļēāļāđ āļēāđāļŦāļāļāđāļāļāđāļ
Dim MaxSize, NextChar, MyChar ' āļāļĢāļ°āļāļēāļĻāļāļąāļ§āđāļāļĢ
' āđāļāļāļŠāđ āļēāļŦāļĢāļąāļ inputOpen "TESTFILE" For Input As #1MaxSize = LOF(1)For NextChar = MaxSize To 1 Step -1 Seek #1, NextChar ' āļāļąāđāļāļāļēāļāđ āļēāđāļŦāļāļ MyChar = Input(1, #1) ' āļāļēāļāļāļąāļ§āļāļąāļāļĐāļĢNext NextCharClose #1 ' āļāļāđāļāļĨ
SendKeys StatementāļŠāļāđāļāļāļāļīāļĄāļāđāļāļāļĩāđ window āđāļŦāļĄāļ·āļāļāļāļąāļāļāļēāļĢāļāļāļāļļāļĄāđāļāļāļāļīāļĄāļ
āđāļ§āļĒāļēāļāļĢāļSendKeys string [, wait]āđāļ§āļĒāļēāļāļĢāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ SendKeys āļĄāļĩāļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāļāļēāļāļīāļ§āđāļĄāļāļāļāļąāļāļāļĩāđ
āļŠāļ§āļ āļāđ āļēāļāļāļīāļāļēāļĒString āļāļąāļāļāļąāļ, āđāļāļ string expression āļĢāļ°āļāļļāđāļāļāļāļīāļĄāļāļāļĩāđāļŠāļWait āđāļĄāļāļąāļāļāļąāļ, āđāļāļāļāļē Boolean āļāļĩāđāļĢāļ°āļāļļāđāļŦāļĄāļāļāļēāļĢāļāļāļĒ āļāļēāđāļāļ False (āļāļēāđāļĢāļīāđāļĄāļāļ) āļāļāļ
control āđāļāļĢāļąāļāļāļēāļĢ āļŠāļāđāļāļāļĩāđ procedure āļāļąāļāļāļĩ āļ āļēāļĒāļŦāļĨāļąāļ āđāļāļāļāļīāļĄāļāđāļāļĢāļąāļāļāļēāļĢāļŠāļ āļāļēāđāļāļTrue āđāļāļāļāļīāļĄāļāļāļāļāđāļāļĢāļąāļāļāļēāļĢāļāļĢāļ°āļĄāļ§āļĨāļāļĨ āļāļāļāļāļēāļĢāļŠāļāļāļāļāļāļąāļ§ control āđāļāļāļĩāđ procedure
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļāļĨāļ°āđāļāļāļāļīāļĄāļ āļāđ āļēāđāļŠāļāļāļāļ§āļĒ 1 āļāļąāļ§āļāļąāļāļĐāļĢ āļŦāļĢāļ·āļāļĄāļēāļāļāļ§āļē āđāļāļāļēāļĢāļĢāļ°āļāļļāđāļāļāļāļīāļĄāļāļāļąāļ§āļāļąāļāļĐāļĢ āđāļāļāļąāļ§āļāļąāļāļĐāļĢāļāļąāđāļ āđāļāļ āļāļąāļ§āļāļąāļāļĐāļĢ A āđāļ âAâ āļŠāđ āļēāļŦāļĢāļąāļāļāļēāļāļīāļ§āđāļĄāļāļ string āļāļēāļĢāļāđ āļēāđāļŠāļāļāļĄāļēāļāļāļ§āļē 1 āļāļąāļ§āļāļąāļāļĐāļĢ āđāļŦāđāļāļāļēāļĢāļāļāđāļāļīāđāļĄāļāļąāļ§āļāļąāļāļĐāļĢ āđāļāļ āļāļēāļĢāļāđ āļēāđāļŠāļāļāļāļąāļ§āļāļąāļāļĐāļĢ A,B āđāļĨāļ° C āđāļ âABCâ āļŠāđ āļēāļŦāļĢāļąāļāļāļēāļāļīāļ§āđāļĄāļāļ string
widebase.net âVBA References
120
āđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļ§āļ (+), caret (^), āđāļāļāļĢāđāļāđāļāļ (%), tilde (~) āđāļĨāļ°āļ§āļāđāļĨāđāļ ( ) āļĄāļĩāļāļ§āļēāļĄāļŦāļĄāļēāļĒāļāļīāđāļĻāļĐāļŠāđ āļēāļŦāļĢāļąāļ SendKeys āļāļēāļĢāļĢāļ°āļāļļāļāļąāļ§āļāļąāļāļĐāļĢāđāļŦāļĨāļēāļāļĩāđāđāļŦāļāļāļ āļēāļĒāđāļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļ ({ })āđāļāļ āđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļ§āļ āđāļ { + }, āļ§āļāđāļĨāđāļāļŠāđāļĩāđāļŦāļĨāļĩāđāļĒāļĄ ([ ]) āđāļĄāļĄāļĩāļāļ§āļēāļĄāļŦāļĄāļēāļĒāļāļīāđāļĻāļĐ āļŠāđ āļēāļŦāļĢāļąāļ SendKeys āđāļāļāļāļāļāļĒāļđāđāļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļāļāļē āđāļāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļ·āđāļ āļ§āļāđāļĨāđāļāļŠāđāļĩāđāļŦāļĨāļĩāđāļĒāļĄāļĄāļĩāļāļ§āļēāļĄāļŦāļĄāļēāļĒāđāļāļāļēāļ°āļāļĩāđāļĄāļĩāļāļ§āļēāļĄāļŠāđ āļēāļāļąāļ āđāļĄāļ·āđāļāđāļāļīāļ dynamic data exchange (DDE) āļāļēāļĢāļĢāļ°āļāļļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļāļāļēāđāļ { { } āđāļĨāļ° { } }āļāļēāļĢāļĢāļ°āļāļļāļāļąāļ§āļāļąāļāļĐāļĢāđāļĄāđāļŠāļāļāļāļķāđāļāđāļĄāļ·āđāļāļĄāļĩāļāļēāļĢāļāļāļāļļāļĄāđāļāļāļāļīāļĄāļ āđāļāļ ENTER āļŦāļĢāļ·āļ TAB āđāļĨāļ°āđāļāļāļāļīāļĄāļāļāļĩāđāļāđ āļēāđāļŠāļāļāļāļēāļĢāļāļĢāļ°āļāđ āļēāļĄāļēāļāļāļ§āļēāļāļąāļ§āļāļąāļāļĐāļĢ āđāļāļĢāļŦāļąāļŠāļāļēāļĄāļĢāļēāļĒāļāļēāļĢāļāļāđāļ
āđāļāļāļāļīāļĄāļ āļĢāļŦāļąāļŠBACKSPACE {BACKSPACE}, {BS} āļŦāļĢāļ·āļ {BKSP]BREAK {BREAK}CAPS LOCK {CAPSLOCK}DEL āļŦāļĢāļ·āļ DELETE {DELETE} āļŦāļĢāļ·āļ {DEL}DOWN ARROW {DOWN}END {END}ENTER {ENTER} āļŦāļĢāļ·āļ ~ESC {ESC}HELP {HELP}HOME {HOME}INS āļŦāļĢāļ·āļ INSERT {INSERT} āļŦāļĢāļ·āļ {INS}LEFT ARROW {LEFT}NUM LOCK {NUMLOCK}PAGE DOWN {PGDN}PAGE UP {PGUP}PRINT SCREEN {PRTSC}RIGHT ARROW {RIGHT}SCROLL LOCK {SCROLLLOCK}TAB {TAB}UP ARROW {UP}F1 {F1}F2 {F2}F3 {F3}F4 {F4}F5 {F5}F6 {F6}
widebase.net âVBA References
121
āđāļāļāļāļīāļĄāļ āļĢāļŦāļąāļŠF7 {F7}F8 {F8}F9 {F9}F10 {F10}F11 {F11}F12 {F12}F13 {F13}F14 {F14}F15 {F15}F16 {F16}
āļāļēāļĢāļĢāļ°āļāļļāđāļāļāļāļīāļĄāļāļāļĩāđāđāļāļāļĢāļāļĄāļāļąāļ (Keys combined)āļāļĩāđāļĢāļ§āļĄāļāļąāļāļāļļāļĄ SHIFT, CTRL āđāļĨāļ° ALT āļĢāļŦāļąāļŠāļāļāļāđāļāļāļāļīāļĄāļ āļāļ·āļ
āđāļāļāļāļīāļĄāļ āļĢāļŦāļąāļŠSHIFT +CTRL ^ALT %
āļāļēāļĢāļĢāļ°āļāļļāđāļāļāļāļīāļĄāļāļāļĩāđāđāļāļāļĢāļāļĄāļāļąāļāļāļļāļĄ SHIFT, CTRL āđāļĨāļ° ALT āļāļ§āļĢāļāļ°āļāļāļĨāļāļŦāļĨāļēāļĒāđāļāļāļāļīāļĄāļāđāļāđāļ§āļĨāļēāļāļāļāļļāļĄ āđāļŦāļĨāļāļĄāļĢāļŦāļąāļŠāđāļŦāļĨāļēāļāļĩāđāļāļ§āļĒāļ§āļāđāļĨāđāļ āđāļāļ āļāļēāļĢāļĢāļ°āļāļļāđāļŦāļāļāļāļļāļĄ SHIFT āļāļāļ°āļāļĩāđ E āđāļĨāļ° C āđāļāļĢāļąāļāļāļēāļĢāļāļāļĨāļāđāļ â + (EC) â āļāļēāļĢāļĢāļ°āļāļļāđāļŦāļāļāļāļļāļĄ SHIFT āļāļāļ°āļāļĩāđāļāļāļāļļāļĄ E āļāļēāļĄāļāļ§āļĒ C āļāļĩāđāđāļĄāđāļ SHIFT āđāļ â+ECâāļāļēāļĢāļĢāļ°āļāļļāđāļāļāļāļīāļĄāļāļāđāđ āļē āđāļāļĢāļđāļāđāļāļ (Key number) āļāļāļāļĄāļĩāļāļāļāļ§āļēāļāļĢāļ°āļŦāļ§āļēāļ Key āļāļąāļ number āđāļāļ {LEFT 42} āļŦāļĄāļēāļĒāļāļķāļ āļāļāļāļļāļĄ āļĨāļđāļāļĻāļĢāļāļēāļĒ 42 āļāļĢāļąāđāļ {h 10} āļŦāļĄāļēāļĒāļāļķāļāļāļāļāļļāļĄ H 10 āļāļĢāļąāđāļāļŦāļĄāļēāļĒāđāļŦāļāļļ āđāļĄāļŠāļēāļĄāļēāļĢāļāđāļ SendKeys āđāļāļ·āđāļāđāļŦāđāļāļāļāļīāļĄāļāđāļāļāļĩāđāđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļ āļāļĩāđāđāļĄāđāļāļĢāļąāļāļāļēāļĢāļāļāļāđāļāļ āļŠāđ āļēāļŦāļĢāļąāļāļāļēāļĢāļāđ āļēāļāļēāļāļāļąāļ Microsoft Windows āđāļĨāļ° SendKeys āđāļĄāļŠāļēāļĄāļēāļĢāļāļŠāļ PRINT SCREEN {PRTSC} āđāļāļāļĩāđāđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļāļāļ·āđāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄAppAcitve Statement, āļāļāļāļāļąāļ DoEvents
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāđāļāļāļāļēāļĢāđāļāļāļāļāļāļąāļ Shell āđāļĢāļĩāļĒāļāđāļāđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļ Calculator āļāļāļ Microsoft Windows āļāđ āļēāļŠāđāļąāļāđāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ SendKeys āđāļāļ·āđāļāļŠāļāđāļāļāļāļīāļĄāļ āļŠāđ āļēāļŦāļĢāļąāļāļāļ§āļāļāļąāļ§āđāļĨāļ āđāļĨāļ§āļāļāļāļāļēāļ Calculator āļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ SendKeys āđāļĄāļĄāļĩāđāļŦāļāļąāļ Macintosh
Dim ReturnValue, iReturnValue = Shell("CALC.EXE", 1) ' āđāļĢāļĩāļĒāļāđāļ calculator
widebase.net âVBA References
122
AppActivate ReturnValue ' activate calculatorFor i = 1 To 100 ' āļāđ āļēāļŦāļāļ loop SendKeys i & "{+}", True ' āļŠāļ key stroke āđāļāļāļĩāđ calculatorNext i ' āđāļāļīāđāļĄāļāļēāļāļĩāļĨāļ° 1SendKeys "=", True ' āļŦāļēāļāļĨāļĢāļ§āļĄSendKeys "%{F4}", True ' āļŠāļ ALT+F4 āđāļāļ·āđāļāļāļ calculator
SetAttr Statementāđāļāļāđ āļēāļŦāļāļāļŠāļēāļĢāļŠāļāđāļāļĻāļāļāļāļāļļāļāļĨāļąāļāļĐāļāļ°āļāļāļāđāļāļĨ
āđāļ§āļĒāļēāļāļĢāļSetAttr pathname, attributeāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ SetAttr Statement āļĄāļĩāđāļ§āļĒāļēāļāļĢāļ āļāļ·āļ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļpathname āļāļąāļāļāļąāļ, āđāļāļ expression āļāļāļāļāļāļāļ§āļēāļĄāļāļĩāđāļĢāļ°āļāļļāļāļ·āđāļāđāļāļĨ - āđāļāđāļĢāļāļāļāļĢāļĩāđ āļŦāļĢāļ·āļāđāļāļĨāđāļāļāļĢāđāļĨāļ° driveattribute āļāļąāļāļāļąāļ, āđāļāļāļāļēāļāļāļāļĩāđ āļŦāļĢāļ·āļ expression āļāļāļāļāļąāļ§āđāļĨāļāļāļĩāđāđāļāļāļāļĨāļĢāļ§āļĄāļāļĩāđāļĢāļ°āļāļļāļāļļāļāļĨāļąāļāļĐāļāļ°āļāļāļāđāļāļĨ
āļāļēāļĢāļāļąāđāļāļāļēāļāļēāļāļīāļ§āđāļĄāļāļ attribute āļāļąāđāļāļāļēāđāļāļāļąāļāļāļĩāđ
āļāļēāļāļāļāļĩāđ āļāļē āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļvbNormal 0 āļāļāļāļīvbReadOnly 1 āļāļēāļāļāļĒāļēāļāđāļāļĩāļĒāļ§vbHidden 2 āļāļāļvbSystem 4 System file (āđāļĄāļĄāļĩāđāļŦāļāļąāļ Macintosh)vbArchive 32 āđāļāļĨāļāļĩāđāđāļāļĨāđāļĩāļĒāļāļŦāļĨāļąāļāļāļēāļĢāļŠāđ āļēāļĢāļāļāļāļĢāļąāđāļāļŠāļļāļāļāļēāļĒ (āđāļĄāļĄāļĩāđāļŦāļāļąāļ Macintosh)
āļŦāļĄāļēāļĒāđāļŦāļāļļâĒ āļāļēāļāļāļāļĩāđāđāļŦāļĨāļēāļāļĩāđāđāļāļāļĢāļ°āļāļļāđāļāļĒ Visual Basic for Application āļāļ·āđāļāđāļŦāļĨāļēāļāļĩāđāļŠāļēāļĄāļēāļĢāļāđāļāđāļāļāđ āļēāļŠāđāļąāļāđāļāļāļēāļĢāļŦāļēāļāļē
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļēāļāļąāđāļāļāļē attribute āļāļāļ°āļāļĩāđāđāļāļĨāđāļāļāļāļĒāļđāļāļ°āđāļāļīāļ run-time error
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ FileAttr, āļāļāļāļāļąāļ GetAttr
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāđ āļēāļŠāđāļąāļ SetAttr āđāļāļāđ āļēāļŦāļāļāļāļēāļāļļāļāļĨāļąāļāļĐāļāļ°āļāļāļāđāļāļĨ
widebase.net âVBA References
123
SetAttr "TESTFILE", vbHidden ' āļāđ āļēāļŦāļāļ attribute āđāļāļāļāļēāļĢāļāļāļSetAttr "TESTFILE", vbHidden + vbReadOnly ' āļāđ āļēāļŦāļāļ attribute āđāļāļāļāļēāļĢāļāļāļāđāļĨāļ°āļāļēāļāļāļĒāļēāļāđāļāļĩāļĒāļ§
Sgn FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant āļāļĩāđāđāļāđāļŠāļāļāļāļēāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļāļāļāļąāļ§āđāļĨāļ
āđāļ§āļĒāļēāļāļĢāļSgn(number)āļāļēāļāļīāļ§āđāļĄāļāļ number āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāļāļąāļ§āđāļĨāļāđāļāđ āļŦāļĢāļ·āļ Expression āļāļĩāđāđāļŦāļāļēāļāļąāļāļāļĨāļēāļ§
āļāļēāļŠāļāļāļāļāļāļē number āļāļē SgnāļĄāļēāļāļāļ§āļēāļĻāļđāļāļĒ 1āđāļāļēāļāļąāļāļĻāļđāļāļĒ 0āļāļāļĒāļāļ§āļēāļĻāļđāļāļĒ -1
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļēāļāļĨāļĨāļąāļāļāļāļāļāļāļāļāļāļąāļ Sgn āđāļāđāļāļāļēāļĢāļŦāļēāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļāļāļāļēāļāđ āļēāđāļāļēāļŦāļĢāļ·āļāļāļēāļāļīāļ§āđāļĄāļāļ number āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Abs
āļāļąāļ§āļāļĒāļēāļDim myVar1, myVar2, myVar3, mySignmyVar1 = 8: myVar2 = -5: myVar3 = 0mySign = Sgn(myVar1) ' āļāļĨāļĨāļąāļāļ 1mySign = Sgn(myVar2) ' āļāļĨāļĨāļąāļāļ 0mySign = Sgn(myVar3) ' āļāļĨāļĨāļąāļāļ -1
Shell FunctionāđāļāđāļĢāļĩāļĒāļāđāļāļĢāđāļāļĢāļĄāđāļāļ Executable āđāļĨāļ°āļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (Double) āļāļĩāđāđāļŠāļāļāļāļ§āļĒ Task IDāļāļāļāđāļāļĢāđāļāļĢāļĄ āļāļēāđāļĢāļĩāļĒāļāđāļ āđāļĨāļ°āđāļāļ 0 āļŠāđ āļēāļŦāļĢāļąāļāļāļĢāļāļĩāļāļ·āđāļāđ
āđāļ§āļĒāļēāļāļĢāļShell(pathname [,windowstyle])āļāļāļāļāļąāļ Shell āļĄāļĩāđāļ§āļĒāļēāļāļĢāļāļāļāļāļāļēāļāļīāļ§āđāļĄāļāļ āļāļ·āļ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļpathname āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant āļāļāļāļāļāļāļ§āļēāļĄāļāļĩāđāđāļāđāļāļāđāļ·āļāđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļāļāļĩāđāļāļ°āļāļĢāļ°āļĄāļ§āļĨāļāļĨ
āđāļĨāļ°āļāļāļāļāļēāļĢāļāļēāļāļīāļ§āđāļĄāļāļāļŦāļĢāļ·āļ command-line āđāļāļĒāđāļŦāļĢāļ°āļāļļ āđāļāđāļĢāļāļāļāļĢāļĩāđāļŦāļĢāļ·āļāđāļāļĨāđāļāļāļĢāđāļĨāļ° drive
widebase.net âVBA References
124
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļwindowstyle āđāļĄāļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant āļāļāļāļāļāļāļ§āļēāļĄāļāļĩāđāļāļĢāļāļāļąāļāļĢāļđāļāđāļāļāļāļāļ Window āļāļĩāđāđāļāļĢāđāļāļĢāļĄ
āļāļ°āļāļđāļāđāļĢāļĩāļĒāļāđāļ āļāļēāđāļĄāļāđ āļēāļŦāļāļ windowstyle āđāļāļĢāđāļāļĢāļĄāļāļ°āđāļĢāļīāđāļĄāļāļāđāļāļ Minimized
āļāļ·āđāļāļāļēāļāļīāļ§āđāļĄāļāļāļāļāļ windowstyle āļĄāļĩāļāļēāļāļąāļāļāļĩāđ
āļāļēāļāļāļāļĩāđ āļāļē āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļvbHide 0 āļāļāļ Window āđāļĨāļ°āđāļāļāļąāļŠāļāļ°āļāļđāļāļŠāļāđāļāļāļĩāđ Window āļāļĩāđāļāļāļvbNormalFocus 1 Window āđāļāļĢāļąāļāļāļēāļĢāđāļāļāļąāļŠāđāļĨāļ°āđāļŠāļāļāđāļāļāļāļēāļāđāļĨāļ°āļāđ āļēāđāļŦāļāļāļāļāļāļīvbMinimizedFocus 2 Window āđāļŠāļāļāđāļāļ icon āļāļķāđāļāđāļāļĢāļąāļāļāļēāļĢāđāļāļāļąāļŠvbMaximizedFocus 3 Window āđāļŠāļāļāđāļāļāđāļŦāļāļāļĩāđāļŠāļļāļ āļāļķāđāļāđāļāļĢāļąāļāļāļēāļĢāđāļāļāļąāļŠvbNormalNoFocus 4 Window āđāļŠāļāļāđāļāļāļāļēāļāđāļĨāļ°āļāđ āļēāđāļŦāļāļāļāļāļāļī āđāļ Window āļāļāļāļļāļāļąāļāļĒāļąāļāļāļ active
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļēāļāļāļāļāļąāļ Shell āļŠāļēāļĄāļēāļĢāļāļāļĢāļ°āļĄāļ§āļĨāļāļĨāļāļ·āđāļāđāļāļĨāđāļ āļāļ°āļŠāļ Task ID āļāļāļāđāļāļĢāđāļāļĢāļĄāđāļĢāļīāđāļĄāļāļ āļāļķāđāļ Task ID āđāļāļāđāļĨāļāļāļĩāđāđāļĄāļāđāđ āļēāđāļāļ·āđāļāļāļĩāđāđāļāļĢāđāļāļĢāļĄāļāļĩāđāļāđ āļēāļāļēāļ āļāļēāļāļāļāļāļąāļ Shell āđāļĄāļŠāļēāļĄāļēāļĢāļāđāļĢāļīāđāļĄāļāļāļāļ·āđāļāđāļāļĨ āļāļ°āđāļāļīāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļ āļāļēāđāļāļāļāļāļāļąāļ MacID āļāļąāļāļāļēāļāļāļāļāļąāļ Shell āđāļ Window āļāļāļ Macintosh āļāļ°āđāļāļīāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄAppActivate Statement, MacID Statement
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ Shell āļŠāđ āļēāļŦāļĢāļąāļāļāļēāļĢāļāļĢāļ°āļĄāļ§āļĨāļāļĨāđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļāļāļĩāđāļāđ āļēāļŦāļāļāđāļāļĒāļāļđāđāļ
' āļāđ āļēāļŦāļāļ 1 āđāļāļāļāļēāļāļīāļ§āđāļĄāļāļāļāđāļĩ 2 āļāđāļĩāđāļāļāđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļāļāļ§āļĒāļāļēāļĢāđāļāļāļąāļŠāļāļĩāđ Window āļāļāļāļīDim RetValRetVal = Shell("C:\WINDOWS\CALC.EXE", 1)
Sin FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĨāļĨāļąāļāļāļāļāļāļāļē Sine āļāļāļāļĄāļļāļĄ āđāļāļĒāļĄāļĩāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāđāļāļ Double
āđāļ§āļĒāļēāļāļĢāļSin(number)āļāļēāļāļīāļ§āđāļĄāļāļ number āđāļāļāļāļēāļāļĩāđāļĄāļĩāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāļāļąāļ§āđāļĨāļ āļŦāļĢāļ·āļ Expression āļāļĩāđāđāļŦāļāļēāļāļąāļāļāļĨāļēāļ§āļāļāļāļĄāļĩāļāļēāļĄāļļāļĄāļāļĩāđ
āđāļāļāđāļĢāđāļāļĩāļĒāļ
widebase.net âVBA References
125
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļāļāļāļąāļ Sin āđāļāļāļŠāļąāļāļŠāļ§āļāļāļāļāļāļ§āļēāļĄāļĒāļēāļ§āļāļēāļāļāļĢāļāļāļēāļĄāļĄāļļāļĄāļŦāļēāļĢāļāļ§āļĒāļāļ§āļēāļĄāļĒāļēāļ§āļāļēāļāļāļĢāļāļāļēāļĄāļĄāļļāļĄāļāļēāļāļāļēāļāļāļ Sin āļāļĒāļđāļĢāļ°āļŦāļ§āļēāļ â1 āļāļķāļ 1āļāļēāļĢāđāļāļĨāļāļāļēāļāļāļĻāļēāđāļŦāđāļāļāđāļĢāđāļāļĩāļĒāļ āļāļāļĻāļē āļāļđāļ Ï/180āļāļēāļĢāđāļāļĨāļāđāļĢāđāļāļĩāļĒāļāđāļŦāđāļāļāļāļāļĻāļē āđāļĢāđāļāļĩāļĒāļ āļāļđāļ 180/Ï
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Atn, āļāļāļāļāļąāļ Cos, āļāļāļāļāļąāļ Tan
āļāļąāļ§āļāļĒāļēāļDim myAngle, myCosecantmyAngle = 1.5 ' āļāđ āļēāļŦāļāļāļāļāļĻāļēāđāļāļ āđāļĢāđāļāļĩāļĒāļmyCosecant = 1/ Sin(myAngle) ' āļ āđāļēāļāļ§āļāļāļē Cosecant
SLN FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double āļāļāļāļāļēāđāļŠāļ·āđāļāļĄāļĢāļēāļāļēāđāļāļāļĢāļąāļāļĒāļŠāļīāļāđāļāļ straight-line
āđāļ§āļĒāļēāļāļĢāļSLN(cost, salvage, life)āļāļēāļāļīāļ§āđāļĄāļāļāļāļāļāļāļāļāļāļąāļ SLN āļĄāļĩāļāļ§āļēāļĄāļŦāļĄāļēāļĒ āļāļ·āļ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļcost āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double, āļĢāļ°āļāļļāļāļāļāļļāļāđāļĢāļīāđāļĄāļāļsalvage āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double, āļĢāļ°āļāļļāļĢāļēāļāļēāļāļēāļāđāļĄāļ·āđāļāļŠāđāļīāļāļŠāļļāļāļāļēāļĒāļļāđāļāļāļēāļlife āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double, āļāļēāļĒāļļāļāļēāļĢāđāļāļāļēāļāđāļāļāļēāļĢāļāđ āļēāļāļ§āļ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļēāļāļīāļ§āđāļĄāļāļ life āđāļĨāļ° period āļāļāļāđāļāļŦāļāļ§āļĒāđāļāļĩāļĒāļ§āļāļąāļ āđāļāļ āļāļē life āļāđ āļēāļŦāļāļāđāļāļāđāļāļ·āļāļ period āļāļāļāđāļāļŦāļāļ§āļĒāđāļāļāđāļāļ·āļāļāļāļ§āļĒ āļāļēāļāļīāļ§āđāļĄāļāļāļāļąāđāļāļŦāļĄāļāļāļāļāđāļāļāļāļēāļāļ§āļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ DDB, āļāļāļāļāļąāļ FV āļāļāļāļāļąāļ IPmt, āļāļāļāļāļąāļ IRR, āļāļāļāļāļąāļ MIRR, āļāļāļāļāļąāļ NPer, āļāļāļāļāļąāļ NPV, āļāļāļāļāļąāļPmt, āļāļāļāļāļąāļ PPmt, āļāļāļāļāļąāļ PV, āļāļāļāļāļąāļ Rate, āļāļāļāļāļąāļ SYD
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ SLN āđāļāļ·āđāļāļŠāļāļāļāļāļāļēāđāļŠāļ·āđāļāļĄāļĢāļēāļāļēāđāļāļ straight-line depreciation āđāļāļĒāđāļŦāļāļēāļāļāļāļļāļāđāļĢāļīāđāļĄāļāļ (InitCost) āļĢāļēāļāļēāļāļēāļāļāļĩāđāļāļ§āļāļŠāļļāļāļāļēāļĒ (SalvageVal) āđāļĨāļ°āļāļēāļĒāļļāļāļēāļĢāđāļāļāļēāļāļāļāļāļāļĢāļąāļāļĒāļŠāļīāļāđāļāļāļ (LifeTime)
widebase.net âVBA References
126
Dim Fmt, InitCost, SalvageVal, MonthLife, LifeTime, PDeprConst YEARMONTHS = 12 ' āļ āđāļēāļāļ§āļāđāļāļ·āļāļāđāļ 1 āļFmt = "###,##0.00" ' āļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļāļāļēāļĢāđāļāļīāļInitCost = InputBox("What's the initial cost of the asset?")SalvageVal = InputBox("What's the asset's value at the end of its useful life?")MonthLife = InputBox("What's the asset's useful life in months?")Do While MonthLife < YEARMONTHS ' Ensure period is >= 1 year. MsgBox "Asset life must be a year or more." MonthLife = InputBox("What's the asset's useful life in months?")LoopLifeTime = MonthLife / YEARMONTHS ' āđāļāļĨāļāđāļāļ·āļāļāđāļāļāļIf LifeTime <> Int(MonthLife / YEARMONTHS) Then LifeTime = Int(LifeTime + 1) ' āļāļĢāļāļąāļāļēāļāļķāđāļāđāļāļāļāļāđāļĩāđāļāļĨāļāđāļĩāļŠāļļāļEnd IfPDepr = SLN(InitCost, SalvageVal, LifeTime)MsgBox "The depreciation is " & Format(PDepr, Fmt) & " per year."
Space Function, Space$ Functionāļāļāļāļāļąāļ Space āļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (String) āđāļāļĒāđāļāļāļāļāļāļ§āļēāļāļāļēāļĄāļāļĩāđāļĢāļ°āļāļļāļāļāļāļāļąāļ Space$ āļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ String āđāļāļĒāđāļāļāļāļāļāļ§āļēāļāļāļēāļĄāļāļĩāđāļĢāļ°āļāļļ
āđāļ§āļĒāļĒāļēāļāļĢāļSpace(number)Space$(number)āļāļēāļāļīāļ§āđāļĄāļāļ number āđāļāļāļāļēāļāļąāļāļāļąāļ āđāļāļ·āđāļāļĢāļ°āļāļļāļāđ āļēāļāļ§āļāļāļāļāļ§āļēāļāļāļĩāđāļāļāļāļāļēāļĢāđāļāļāļāļāļ§āļēāļĄ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļāļāļāļąāļ Space āđāļĨāļ°āļāļāļāļāļąāļ Space$ āļāļ·āļ āļāļēāļĢāļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļāļŠāđ āļēāļŦāļĢāļąāļāļāļĨāļĨāļąāļāļ āđāļĨāļ°āļāļāļąāļāļāļāļĄāļđāļĨāđāļ fixed-length string
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Spc, āļāļāļāļāļąāļ String, āļāļāļāļāļąāļ String$
āļāļąāļ§āļāļĒāļēāļāļāļāļāļāļąāļ Space āđāļāđāļāļāļēāļĢāļŠāļāļāļāļāļāļāļāļ§āļēāļĄāļāļĩāđāļāļĢāļ°āļāļāļāļāļ§āļĒāļāđ āļēāļāļ§āļāļāļāļāļ§āļēāļāļāļĩāđāļĢāļ°āļāļļ
Dim MyString' āļŠāļāļāļāļāļāļāļāļ§āļēāļĄāļāļĩāđāđāļāļ 10 āļāļāļāļ§āļēāļMyString = Space(10)
' āđāļāļīāļĄāđ 10 āļāļāļāļ§āļēāļāļĢāļ°āļŦāļ§āļēāļ 2 āļāļāļāļ§āļēāļĄMyString = "Hello" & Space(10) & "World"
widebase.net âVBA References
127
Spc Functionāđāļāļāđ āļēāļāļēāļāļĢāļ§āļĄāļāļąāļāļāđ āļēāļŠāđāļąāļ Print# Statement āļŦāļĢāļ·āļāđāļĄāļāļāļ Print āđāļāļ·āđāļāļāđ āļēāļŦāļāļāļāđ āļēāđāļŦāļāļāļāļĨāļĨāļąāļāļ
āđāļ§āļĒāļēāļāļĢāļSpc(n)āļāļēāļāļīāļ§āđāļĄāļāļ n āđāļāļāļāļąāļ§āđāļĨāļāļāļāļāļāļāļāļ§āļēāļāļāļĩāđāļāļāļāļāļēāļĢāđāļāļīāđāļĄāđāļāļēāđāļāļāļāļāļāļēāļĢāđāļŠāļāļāļāļāļāļāļ āļēāļāļŦāļĢāļ·āļāļāļēāļĢāļāļīāļĄāļ
expression āļāļāđāļāđāļāļĢāļēāļĒāļāļēāļĢ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļē n āļāļāļĒāļāļ§āļēāļāļ§āļēāļĄāļāļ§āļēāļāļāļāļāđāļāļ§ āļāđ āļēāđāļŦāļāļāļāļēāļĢāļāļīāļĄāļāļāļāđāļāļāļ°āļāļĒāļđāļāļāļāļēāļāļāđ āļēāļāļ§āļāļāļāļāļ§āļēāļāļāļĩāđāļāļīāļĄāļ āļāļē n āļĄāļēāļāļāļ§āļēāļāļ§āļēāļĄāļāļ§āļēāļāļāļāļāđāļāļ§ āļāļāļāļāļąāļ Spc āļāļ°āļāđ āļēāļāļ§āļāļāđ āļēāđāļŦāļāļāļāļēāļĢāļāļīāļĄāļāļāļāđāļāļāļ§āļĒāļŠāļđāļāļĢ
currentprintposition + (n Mod width)
āđāļāļ āļāļēāļāđ āļēāđāļŦāļāļāļāļēāļĢāļāļīāļĄāļāļāļāļāļļāļāļąāļ āļāļ·āļ 24 āļāļ§āļēāļĄāļāļ§āļēāļāđāļāļ§āļāļāļāļāļĨāļĨāļąāļāļ āļāļ·āļ 80 āđāļĨāļ°āļāđ āļēāļŦāļāļ Spc(90) āļāđ āļēāđāļŦāļāļāļāļēāļĢāļāļīāļĄāļāļāļāđāļāđāļĢāļīāđāļĄāļāļĩāđ 34 (āļāđ āļēāđāļŦāļāļāļāļēāļĢāļāļīāļĄāļāļāļāļāļļāļāļąāļ + āļāļĨāļŦāļēāļĢāļāļāļ 90/80) āļāļēāļāļ§āļēāļĄāđāļāļāļāļēāļāļĢāļ°āļŦāļ§āļēāļāļāđ āļēāđāļŦāļāļāļāļēāļĢāļāļīāļĄāļāļāļāļāļļāļāļąāļāđāļĨāļ°āļāļ§āļēāļĄāļāļ§āļēāļāđāļāļ§āļāļāļāļāļĨāļĨāļąāļāļāļāļāļĒāļāļ§āļē n (āļŦāļĢāļ·āļ n Mod width) āļāļāļāļāļąāļ Spc āļāļ°āļāļēāļĄāđāļāļāļĩāđāļāļļāļāđāļĢāļīāđāļĄāļāļāļāļāļāđāļāļ§āđāļŦāļĄāđāļĨāļ°āļŠāļĢāļēāļāļāļāļāļāļēāļ§āđāļāļēāļāļąāļ n- (width â currentprintposition)āļāļēāđāļāđāļĄāļāļāļ Print āļāļąāļ Font āđāļāļāļāļāļāļ§āļēāļāļāļēāļĄāļŠāļąāļāļŠāļ§āļ āļāļ§āļēāļĄāļāļ§āļēāļāļāļāļāļāļāļāļ§āļēāļāļāļĩāđāļāļīāļĄāļāļāļĩāđāđāļāļāļāļāļāļąāļ Spc āļāļ°āđāļāļēāļāļąāļāļāļēāđāļāļĨāļĩāđāļĒāļāļ§āļēāļĄāļāļ§āļēāļāļāļāļāļāļąāļ§āļāļąāļāļĐāļĢāļāļąāđāļāđāļāļŦāļāļēāļāļĢāļ°āļāļēāļĐāļāļĩāđāđāļĨāļ·āļāļāđāļ Font āđāļāļāļ°āđāļĄāļĄāļĩāļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļāļĢāļ°āļŦāļ§āļēāļāļāđ āļēāļāļ§āļāļāļąāļ§āļāļąāļāļĐāļĢāļāļĩāđāļāļīāļĄāļāļāļąāļāļāđ āļēāļāļ§āļāļāļāļāļāļāļĨāļąāļĄāļāļāļĩāđāđāļāļāļ§āļēāļĄāļāļ§āļēāļāļāļāļāļĩāđāļāļķāđāļāļĄāļĩāļāļąāļ§āļāļąāļāļĐāļĢāļāļąāđāļ āđāļāļ āļāļąāļāļĐāļĢāļāļąāļ§āđāļŦāļ W āđāļāļāļĩāđāļĄāļēāļāļāļ§āļēāļāļ§āļēāļĄāļāļ§āļēāļāļāļāļāļĩāđāđāļĨāļ°āļāļąāļāļĐāļĢāļāļąāļ§āđāļĨāđāļ i āđāļāļāļĩāđāļāļāļĒāļāļ§āļēāļĄāļāļ§āļēāļāļāļāļāļĩāđ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄMod (Operator), Print# Statement, āđāļĄāļāļāļ Print, āļāļāļāļāļąāļ Space, āļāļāļāļāļąāļ Space$, āļāļāļāļāļąāļ Tab, Width#Statement
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ Spc āļāđ āļēāļŦāļāļāļāđ āļēāđāļŦāļāļāļāļĨāļĨāļąāļāļāļāļāļāđāļāļĨāđāļĨāļ°āđāļ Immediate window
' āļāļāļāļāļąāļ Spc āļŠāļēāļĄāļēāļĢāļāđāļāļāļąāļāļāđ āļēāļŠāđāļąāļ Print # statementOpen "TESTFILE" For Output As #1 ' āđāļāļāđāļāļĨPrint #1, "10 spaces between here"; Spc(10); "and here."Close #1 ' āļāļāđāļāļĨ.
āļāļēāļĢāđāļāđāļĄāļāļāļ Print āđāļāļ·āđāļāļāļīāļĄāļāļāļĨāļĨāļąāļāļāđāļ immediate window āļāļ§āļĒāļāļāļāļ§āļēāļ 30 āļāļāļ
Debug.Print Spc(30); "Thirty spaces later..."
widebase.net âVBA References
128
Sqr FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĨāļĨāļąāļāļāļāļāļāļĢāļēāļāļāļĩāđ 2 āđāļāļĒāļĄāļĩāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāđāļāļ Double
āđāļ§āļĒāļēāļāļĢāļSqr(number)āļāļēāļāļīāļ§āđāļĄāļāļ number āđāļāļāļāļēāļāļĩāđāļĄāļĩāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāļāļąāļ§āđāļĨāļ āļŦāļĢāļ·āļ Expression āļāļĩāđāđāļŦāļāļēāļāļąāļāļāļĨāļēāļ§āļāļķāđāļāļāļ°āļāļāļāļĄāļĩāļāļē
āļĄāļēāļāļāļ§āļēāļŦāļĢāļ·āļāđāļāļēāļāļąāļāļĻāļđāļāļĒ
āļāļąāļ§āļāļĒāļēāļDim mySqrmySqr = Sqr(4) ' āļāļĨāļĨāļąāļāļ āļāļ·āļ 2mySqr = Sqr(34) ' āļāļĨāļĨāļąāļāļ āļāļ·āļ 5.8309518948453mySqr = Sqr(0) ' āļāļĨāļĨāļąāļāļ āļāļ·āļ 0mySqr = Sqr(-4) ' āļāļ°āđāļāļīāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļāđāļāļ run-time error
Str Function, Str$ Functionāļāļāļāļāļąāļ Str āļāļēāļāļĩāđāļŠāļāļāļāļāļĄāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (String) āļāļĩāđāđāļŠāļāļāđāļāļĢāļđāļāļāļąāļ§āđāļĨāļāļāļāļāļāļąāļ Str$ āļāļēāļāļĩāđāļŠāļāļāļāļāļĄāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ String āļāļĩāđāđāļŠāļāļāđāļāļĢāļđāļāļāļąāļ§āđāļĨāļ
āđāļ§āļĒāļēāļāļĢāļStr(number)Str$(number)āļāļēāļāļīāļ§āđāļĄāļāļ number āđāļāļāļāļāļāļĢāļ°āđāļ āļāļāļąāļ§āđāļĨāļ Long āļāļĩāđāļĄāļĩāļāļēāļāļąāļ§āđāļĨāļāļāļĢāļīāļ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļĄāļ·āđāļāļāļąāļ§āđāļĨāļāđāļāļĢāļąāļāļāļēāļĢāđāļāļĨāļāđāļŦāđāļāļāļāļāļāļ§āļēāļĄāļāļ°āļĄāļĩāļāļēāļĢāđāļāļīāļĄāļāļāļāļ§āļēāļāļāļēāļāļŦāļāļēāļŠāđ āļēāļŦāļĢāļąāļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļŦāļāļēāļāļąāļ§āđāļĨāļ āļāļēnumber āđāļāļāļāļēāļāļ§āļāļāļ°āđāļāļāļāļāļāļ§āļēāļāđāļāļĒāļĢāļąāļāļĢāļđāļ§āļēāđāļāļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļ§āļāļāļēāļĢāđāļāļāļāļāļāļąāļ Format āđāļāļāļāļēāļĢāđāļāļĨāļāļāļēāļāļąāļ§āđāļĨāļāļāļĩāđāļāļāļāļāļēāļĢāđāļŦāđāļāļāļĢāļđāļāđāļāļāļāļĩāđāļāļāļāļāļēāļĢ āđāļāļ āļ§āļąāļāļāļĩāđ āđāļ§āļĨāļē āļāļēāļāļēāļĢāđāļāļīāļ āļŦāļĢāļ·āļāļĢāļđāļāđāļāļāļāļĩāđāļāđ āļēāļŦāļāļāđāļāļ āđāļāđāļāļāļāļēāļāļāļēāļāļāļāļāļāļąāļ Str āđāļāļĒāđāļĄāļĄāļĩāļāļāļāļ§āļēāļāļāļēāļāļŦāļāļēāļŠāđ āļēāļŦāļĢāļąāļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļŦāļāļēāļāļąāļ§āđāļĨāļāļŦāļĄāļēāļĒāđāļŦāļāļļ
âĒ āļāļāļāļāļąāļ Str āļāļ°āļĢāļąāļāļāļĢāļēāļāđāļāļāļēāļ°āđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļļāļĨāļ āļēāļāļŠāđ āļēāļŦāļĢāļąāļāļāļēāļĢāđāļāđāļāļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļĻāļāļīāļĒāļĄâĒ āļāļāļāļāļąāļ CStr āđāļāđāļāļāļēāļĢāđāļāļĨāļāļāļąāļ§āđāļĨāļāđāļāļāļāļāļāļ§āļēāļĄ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Format, āļāļāļāļāļąāļ Val
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ Str āđāļāļāļēāļĢāļŠāļāļāļāļāļāļāļāļ§āļēāļĄāļāļĩāđāđāļŠāļāļāļāļēāļāļąāļ§āđāļĨāļ
widebase.net âVBA References
129
Dim MyStringMyString = Str(459) ' āļŠāļāļāļāļāļāļē " 459"MyString = Str(-459.65) ' āļŠāļāļāļāļāļāļē "-459.65"MyString = Str(459.001) ' āļŠāļāļāļāļāļāļē " 459.001"
StrComp FunctionāļāļēāļāļĩāđāļŠāļāļāļāļāļĄāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (String) āļāļĩāđāđāļŠāļāļāļāļĨāļĨāļąāļāļāļāļēāļāļāļēāļĢāđāļāļĢāļĩāļĒāļāđāļāļĩāļĒāļāļāļāļāļ§āļēāļĄ
āđāļ§āļĒāļēāļāļĢāļStrComp(sting1, string2[,compare])āļāļēāļāļīāļ§āđāļĄāļāļāļāļāļāļāļāļāļāļąāļ StrComp āļĄāļĩāļāļāļāđ āļēāļŦāļāļ āļāļ·āļ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļstring1 āļāļąāļāļāļąāļ, āđāļāļĒ Expression āļāļāļāļāļāļāļ§āļēāļĄstring2 āļāļąāļāļāļąāļ, āđāļāļĒ Expression āļāļāļāļāļāļāļ§āļēāļĄcompare āđāļĄāļāļąāļāļāļąāļ, āļŠāđ āļēāļŦāļĢāļąāļāļĢāļ°āļāļļāļ§āļīāļāļĩāļāļēāļĢāđāļāļĢāļĩāļĒāļāđāļāļĩāļĒāļ āļāļēāļāļīāļ§āđāļĄāļāļ compare āļŠāļēāļĄāļēāļĢāļāđāļĄāļĢāļ°āļāļļ āļŦāļĢāļ·āļāļāđ āļēāļŦāļāļ
āđāļāļ 0,1 āļŦāļĢāļ·āļ 2 āļāļēāļĢāļāđ āļēāļŦāļāļāđāļāļ 0 āđāļāļāļāđ āļēāļŦāļāļāļāļēāļĢāļāļāļŦāļēāđāļāļāđāļāļāļēāļĢāļĩ āļĢāļ°āļāļļāđāļāļ 1 āļāđ āļēāļŦāļāļāļāļēāļĢāļāļāļŦāļēāđāļāļāļāļāļāļ§āļēāļĄāļāļĩāđāđāļĄāļāļīāļāļēāļĢāļāļēāļāļąāļāļĐāļĢāļāļąāļ§āđāļĨāđāļāļŦāļĢāļ·āļāđāļŦāļ āļĢāļ°āļāļļāđāļāļ 2 āļŠāđ āļēāļŦāļĢāļąāļ MicrosoftAccess āđāļāļĒāđāļāļāļēāļ° āđāļāļāļāļāļŦāļēāļāļēāļĄāļŠāļēāļĢāļŠāļāđāļāļĻāļāļĩāđāļĄāļĩāļāļĒāļđāđāļāļāļēāļāļāļāļĄāļđāļĨ āļāļē compare āđāļāļāļāļēāļ§āļēāļāļāļ°āļāļĢāļēāļāļāļāļāļāļīāļāļāļĨāļēāļ āļāļēcompare āđāļĄāđāļāļĢāļ°āļāļļ āļāļāļāļāļąāļāļāļ°āļāļāļŦāļēāļ§āļīāļāļĩāļāļēāļĢāđāļāļĢāļĩāļĒāļāđāļāļĩāļĒāļ
āļāļēāļŠāļāļāļāļāļāļē āļāļēāļŠāļāļāļāļāļāļāļ StrCompstring1 āļāļāļĒāļāļ§āļē string2 -1string1 āđāļāļēāļāļąāļ string2 0string1 āļĄāļēāļāļāļ§āļē string2 1string1 āļŦāļĢāļ·āļ string2 āđāļāļāļāļēāļ§āļēāļ āļāļēāļ§āļēāļ (Null)
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ InStr, Option Compare Statement
āļāļąāļ§āļāļĒāļēāļāļāļāļāļāļąāļ StrComp āđāļāđāļāļāļēāļĢāđāļāļĢāļĩāļĒāļāđāļāļĩāļĒāļāļĢāļ°āļŦāļ§āļēāļ 2 āļāļāļāļ§āļēāļĄ
Dim myStr1, myStr2, myComparemyStr1 = "ABCD"myStr2 = "abcd"myCompare = StrComp(myStr1, myStr2, 1) ' āļŠāļāļāļāļāļāļēāđāļāļ 0myCompare = StrComp(myStr1, myStr2, 0) ' āļŠāļāļāļāļāļāļēāđāļāļ â1myCompare = StrComp(myStr2, myStr1) ' āļŠāļāļāļāļāļāļēāđāļāļ 1
widebase.net âVBA References
130
StrConv FunctionāļāļēāļāļĩāđāļŠāļāļāļāļāļĄāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (String) āļāļĩāđāđāļāļĨāļāļĨāļąāļāļĐāļāļ°āļāļēāļĄāļāļĩāđāļĢāļ°āļāļļ
āđāļ§āļĒāļēāļāļĢāļStrConv(string, conversion)āļāļēāļāļīāļ§āđāļĄāļāļāļāļāļāļāļāļāļāļąāļ StrConv āļĄāļĩāđāļ§āļĒāļēāļāļĢāļ āļāļ·āļ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļstring āļāļąāļāļāļąāļ, āđāļāļ Expression āđāļāļāļāļāļāļ§āļēāļĄāļāļĩāđāļāļāļāđāļāļĨāļconversion āļāļąāļāļāļąāļ, āđāļāļāļāļēāļāļāļāļĩāđāđāļāļ·āđāļāļĢāļ°āļāļļāļ§āļąāļāđāļĢāļāļāļāļāļŠāļąāļāļāļēāļŦ āļāļēāđāļĄāļāđ āļēāļŦāļāļ āļāļ°āđāļāļ§āļąāļāļāļēāļāļīāļāļĒāđāļāļāļ§āļąāļāđāļĢāļāļāļāļ
āļŠāļąāļāļāļēāļŦ
āļāļēāļĢāļāļąāđāļāļāļēāļāļēāļāļēāļāļīāļ§āđāļĄāļāļ conversion āļāđ āļēāļŦāļāļāļāļēāđāļāđāļāļ
āļāļēāļāļāļāļĩāđ āļāļē āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļvbUpperCase 1 āđāļāļĨāļāļāļāļāļ§āļēāļĄāđāļŦāđāļāļāļāļąāļāļĐāļĢāļāļąāļ§āđāļŦāļvbLowerCase 2 āđāļāļĨāļāļāļāļāļ§āļēāļĄāđāļŦāđāļāļāļāļąāļāļĐāļĢāļāļąāļ§āđāļĨāđāļvbPrpoerCase 3 āđāļāļĨāļāļāļāļāļ§āļēāļĄāđāļŦāļāļąāļāļĐāļĢāļāļąāļ§āđāļĢāļāļāļāļāļāļļāļāļāđ āļēāđāļāļāļāļāļ§āļēāļĄāđāļāļāļāļąāļāļĐāļĢāļāļąāļ§āđāļŦāļvbWide 4 āđāļāļĨāļāļāļąāļāļĐāļĢāļāļąāļ§āđāļāļ (single-byte) āđāļāļāļāļāļ§āļēāļĄāđāļāļāļāļąāļ§āļāļ§āļēāļ (double-byte)vbNorrow 8 āđāļāļĨāļāļāļąāļāļĐāļĢāļāļąāļ§āļāļ§āļēāļ (double-byte) āđāļāļāļāļāļ§āļēāļĄāđāļāļāļāļąāļ§āđāļāļ (single-byte)vbKatakana 16 āđāļāļĨāļāļāļąāļ§āļāļąāļāļĐāļĢ Hiragana āđāļāļāļāļāļ§āļēāļĄāđāļāļāļāļąāļ§āļāļąāļāļĐāļĢ KatakanavbHiragana 32 āđāļāļĨāļāļāļąāļ§āļāļąāļāļĐāļĢ Katakana āđāļāļāļāļāļ§āļēāļĄāđāļāļāļāļąāļ§āļāļąāļāļĐāļĢ HiraganavbUnicode 64 āđāļāļĨāļāļāļāļāļ§āļēāļĄāđāļāļ Unicode āđāļāļĒāđāļāļāļēāđāļĢāļīāđāļĄāļāļ code page āļāļāļāļĢāļ°āļāļvbFormUnicode 128 āđāļāļĨāļāđāļāļāļāļāļāļ§āļēāļĄāļāļēāļ Unicode āđāļāļĒāđāļāļāļēāđāļĢāļīāđāļĄāļāļ code page āļāļāļāļĢāļ°āļāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Chr, āļāļāļāļāļąāļ Chr$, āļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ String
String Function, String$ Functionāļāļāļāļāļąāļ String āļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (String) āđāļāļĒāđāļŠāļāļāļāļąāļāļĐāļĢāļāđāđ āļēāļāļēāļĄāļāļĩāđāļĢāļ°āļāļļāļāļāļāļāļąāļ Space$ āļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ String āđāļāļĒāđāļŠāļāļāļāļąāļāļĐāļĢāļāđāđ āļēāļāļēāļĄāļāļĩāđāļĢāļ°āļāļļ
āđāļ§āļĒāļēāļāļĢāļString(number, character)
widebase.net âVBA References
131
String$(number, character)āļāļēāļāļīāļ§āđāļĄāļāļāļāļāļāļāļāļāļāļąāļ String āļĄāļĩāđāļ§āļĒāļēāļāļĢāļ āļāļ·āļ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļnumber āļāļąāļāļāļąāļ, āđāļāļāļąāļ§āđāļĨāļāļāļĢāļ°āđāļ āļ Long āļāļķāđāļāđāļāļāļāļ§āļēāļĄāļĒāļēāļ§āļāļāļāļāļāļāļ§āļēāļĄ āļāļē number āđāļāļāļāļēāļ§āļēāļ
āļāļēāļāļĩāđāļŠāļāļāļāļāđāļāļāļāļēāļ§āļēāļcharacter āļāļąāļāļāļąāļ, āđāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ variant āļāļķāđāļāđāļāļāļĢāļŦāļąāļŠāļāļąāļ§āļāļąāļāļĐāļĢāđāļāļ·āđāļāļĢāļ°āļāļļāļāļąāļ§āļāļąāļāļĐāļĢ āļŦāļĢāļ·āļ Expression
āļāļāļāļāļāļāļ§āļēāļĄ āđāļāļĒāļāļĩāđāļāļąāļāļĐāļĢāļāļąāļ§āđāļĢāļāđāļāļĢāļąāļāļāļēāļĢāļŠāļĢāļēāļāđāļāļāļāļāļāļ§āļēāļĄāļāļĩāđāļŠāļāļāļāļāļĄāļē āļāļē characterāđāļāļāļāļēāļ§āļēāļ āļāļēāļāļĩāđāļŠāļāļāļāļāđāļāļāļāļēāļ§āļēāļ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļēāļāļēāļĢāļāđ āļēāļŦāļāļāļŦāļĄāļēāļĒāđāļĨāļāļāļāļāļāļąāļ§āļāļąāļāļĐāļĢāļĄāļēāļāļāļ§āļē 255 āļāļāļāļāļąāļ String āļāļ°āđāļāļĨāļāļŦāļĄāļēāļĒāđāļĨāļāđāļŦāļāļĒāļđāđāļāļĢāļŦāļąāļŠāļāļąāļ§āļāļąāļāļĐāļĢāđāļāļĒāļāļēāļĢāđāļāļŠāļđāļāļĢāļāđ āļēāļāļ§āļ
character Mod 256
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄMod (Operator), āļāļāļāļāļąāļ Space, āļāļāļāļāļąāļ Space$, āļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ String
āļāļąāļ§āļāļĒāļēāļāļāļāļāļāļąāļ String āđāļāđāļāļāļēāļĢāđāļŠāļāļāļāļąāļ§āļāļąāļāļĐāļĢāļāđāđ āļēāļāļēāļĄāļāļ§āļēāļĄāļĒāļēāļ§āļāļĩāđāļāļāļāļāļēāļĢ
Dim myStringmyString = String(5, "*") ' āļŠāļāļāļāļāļāļē "*****"myString = String(8, 42) ' āļŠāļāļāļāļāļāļē "*******"myString = String(10, "ABC") ' āļŠāļāļāļāļāļāļē "AAAAAAAAAA"
Switch FunctionāļŠāđ āļēāļŦāļĢāļąāļāļāļēāļĢāļŦāļēāļāļēāļāļēāļāļĢāļēāļĒāļāļēāļĢ expression āđāļĨāļ°āļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant āļŦāļĢāļ·āļ expression āļāļĩāđāļāļĢāļāļāļąāļ expression āđāļĢāļāļāļēāļāļĢāļēāļĒāļāļēāļĢāļāļĩāđāļĄāļĩāļāļēāđāļāļ True
āđāļ§āļĒāļēāļāļĢāļSwitch(expr-1,value-1[,expr-2,value-2,âĶ[,expr-n,value-n]])āļāļāļāļāļąāļ Switch āļĄāļĩāđāļ§āļĒāļēāļāļĢāļāļāļāļāļŠāļ§āļ āļāļ·āļ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļexpr āļāļąāļāļāļąāļ, āđāļāļ expression āļāļāļ Variant āļāļĩāđāļāļāļāļāļēāļĢāļŦāļēāļāļēvalue āļāļąāļāļāļąāļ, āđāļāļ āļāļē āļŦāļĢāļ·āļ expression āļāļĩāđāļŠāļāļāļēāļāļāļāļāļē expression āļāļĩāđāđāļāļĩāđāļĒāļ§āļāļąāļāļĄāļĩāļāļēāđāļāļ True
widebase.net âVBA References
132
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļĢāļēāļĒāļāļēāļĢāļāļēāļāļīāļ§āđāļĄāļāļāļāļāļāļāļāļāļāļąāļ Switch āļāļĢāļ°āļāļāļāļāļ§āļĒāļāļđāļāļāļāļāļēāļāļīāļ§āđāļĄāļāļ expr (expression) āđāļĨāļ° value āđāļāļĒāļāļēāļĢāļŦāļēāļāļē expression āļāļēāļāļāļēāļĒāđāļāļāļ§āļē āđāļĨāļ°āļŠāļāļāļāļāļāļēāļāļĩāđāļāļđāļāļąāļāļāļāļ expression āđāļĢāļāļāļĩāđāļĄāļĩāļāļēāđāļāļ True āļāļēāļĄāļĩāļāļēāļāļīāļ§āđāļĄāļāļāļāļĩāđāđāļĄāļĄāļĩāļāļđ āļāļ°āļāļĢāļēāļāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļ run-time error āđāļāļ āļāļē expr-1 āđāļāļ True āļāļāļāļāļąāļ Switch āļāļ°āļŠāļāļāļāļāļāļēāļāļāļ value-1 āļāļē expr-1 āđāļāļ False āđāļ expr-2 āđāļāļ True āļāļāļāļāļąāļ Switch āļāļ°āļŠāļāļāļāļāļāļēāļāļāļ value-2 āđāļĨāļ°āļāļāđāđāļāļāļāļāļāļąāļ Switch āļŠāļāļāļāļāļāļēāđāļāļāļāļēāļ§āļēāļ (Null) āļāļēâĒ āđāļĄāļĄāļĩāļāļēāđāļāļāļĩāđāļĄāļĩ expression āđāļāļ TrueâĒ Expression āđāļĢāļāļāļĩāđāļāļāļāļĢāļāļāļēāļāļĩāđāđāļāļāļāļēāļ§āļēāļāļāļāļāļāļąāļ Switch āļŦāļēāļāļēāļāļēāļ expression āļāļąāđāļāļŦāļĄāļ āđāļāļŠāļāļāļēāļāļāļāđāļāļĩāļĒāļāļāļēāđāļāļĩāļĒāļ§ āļāļĨāļāļąāļāļāļĨāļēāļ§āļāđ āļēāđāļŦāđāļāļīāļāļāļĨāļāļĢāļ°āļāļāļāļēāļāđāļāļĩāļĒāļ āđāļāļ āļāļēāļāļēāļĢāļŦāļēāļāļĨāļĨāļąāļāļāļāļēāļ expression āđāļāļāļēāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļāļāļēāļāļāļēāļĢāļŦāļēāļĢāļāļ§āļĒāļĻāļđāļāļĒ āļāļ°āđāļāļīāļāļāļāļāļ§āļēāļĄāļāļāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Choose, āļāļāļāļāļąāļ IIf, Select Case Statement
āļ§āļīāļāļĩāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļ Accessāļāļāļāļāļąāļ Switch āļŠāļēāļĄāļēāļĢāļāđāļāđāļāļāļąāļ§ control āļāļāļāļāļĢāļĄāļŦāļĢāļ·āļāļĢāļēāļĒāļāļēāļāđāļ Microsoft Access āđāļāļ āļāļēāļĢāđāļāļāļāļāļāļąāļ Switch āļāđ āļēāļŦāļāļāļāļēāļāļāļāļāļąāļ§ control āđāļāļ·āđāļāđāļŠāļāļāļēāļāļēāļĄāļāļēāļāļāļāļāļĨāļāļāļ·āđāļ āđāļŦāļāļąāđāļāļāļēāļāļļāļāļŠāļĄāļāļąāļāļī ControlSource āļāļāļāļāļąāļ§ control āļāļ§āļĒ expression āļāļāļāļāļāļāļāļąāļ SwitchāļāļēāļĄāļāļąāļ§āļāļĒāļēāļāļāļāđāļāļāļĩāđ āļāļāļāļāļąāļ Switch āļŠāļāļāļāļāļāļāļāļ§āļēāļĄāļāļĩāđāđāļāļāļāļ·āđāļāļāļāļ Shipper āļāļēāļĄāļāļēāļāļĩāđāļŦāļēāđāļāļāļēāļāļāļĨāļ Fright āļāļēāļāļēāļāļāļāļāļĨāļ Fright āļāļāļĒāļāļ§āļē 25 āļāļāļāļāļąāļ Switch āļŠāļāļāļāļāļāļēāđāļāļ âSpeedyâ āļāļēāļĄāļēāļāļāļ§āļēāļŦāļĢāļ·āļāđāļāļēāļāļąāļ 25 āđāļāļāļāļĒāļāļ§āļē 50 āļāļāļāļāļąāļ Switch āļŠāļāļāļāļāļāļēāđāļāļ âUnitedâ āđāļĨāļ°āļāļēāļĄāļēāļāļāļ§āļē 50 āļāļāļāļāļąāļ Switch āļŠāļāļāļāļāļāļēāđāļāļ âFederalâ
=Switch([Freight] < 25, "Speedy", ([Freight] >= 25 _ and [Freight] <= 50), "United", [Freight] > 50, "Federal")
āļŦāļĄāļēāļĒāđāļŦāļāļļ āđāļāđāļĄāļāļđāļĨ Visual Basic āļŠāļēāļĄāļēāļĢāļāđāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Select Case āđāļāđāļĄāļĢāļđāļāđāļāļāđāļāļāļēāļĢāļŠāļāļāļēāļāļāļāļāļēāļāļāļĨāļļāļĄāļāļāļāļāļąāļ§āđāļĨāļ·āļāļ
āļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ Switch āđāļāļāļēāļĢāļŠāļāļāļāļāļāļ·āđāļāļāļāļāļ āļēāļĐāļēāļāļĩāđ expression āļĄāļĩāļāļēāļāļĢāļāļāļąāļāļāđāļ·āļāđāļĄāļ·āļāļ
Function MatchUp (CityName As String) Matchup = Switch(CityName = "London", "English", CityName _ = "Rome", "Italian", CityName = "Paris", "French")End Function
widebase.net âVBA References
133
āļāļąāļ§āļāļĒāļēāļāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļ Accessāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ Switch āđāļāļāļēāļĢāļŦāļēāļāļēāļāļĩāđāđāļŦāļĄāļēāļ°āļŠāļĄāļāļāļāļ āļēāļĐāļēāļāļķāđāļāļĢāļ°āļāļļāļāļ§āļĒāļāļ·āđāļāđāļĄāļ·āļāļāļāļēāļĄāļāļēāļāļāļāļāļĨāļ ShipCountry āđāļĨāļ° ShipCity āđāļ Table āļāļ·āđāļ Orders āđāļāļĒāļŠāļēāļĄāļēāļĢāļāļŠāļĢāļēāļāļāļąāļ§ control āđāļāļāļāđ āļēāļāļ§āļāļāļāļāļāļĢāļĄ āļŠāđ āļēāļŦāļĢāļąāļ expression āļāļĩāđāđāļŠāļāļāđāļāļāđāļāļāļŦāļĨāļēāļĒāļāļĢāļĢāļāļąāļ āļŠāļēāļĄāļēāļĢāļāļāļāļāđāļāļāļāļĢāļĢāļāļąāļāđāļāļĩāļĒāļ§āđāļ
= Switch([ShipCity] = "Madrid", "Spanish", [ShipCity] = "Berlin", "German", _ [ShipCity] = "Torino", "Italian", [ShipCountry] = "France", "French", True, "English")
āļāļēāđāļĄāļ·āļāļ āļāļ·āļ Madrid āļāļāļāļāļąāļ Switch āļāļ°āļŠāļāļāļāļāļāļēāđāļāļ âSpanishâ āļāļēāđāļāļ âBerlinâ āļāļēāļāļĩāđāļŠāļāļāļāļ āļāļ·āļ âGermanâāđāļĨāļ°āļāļāđāđāļ āļāļēāđāļĄāļāļĢāļāļāļąāļāļāļ·āđāļāđāļĄāļ·āļāļāđāļāļĢāļēāļĒāļāļēāļĢ āđāļ ShipCountry āļāļ·āļ France āļāļēāļŠāļāļāļāļ āļāļ·āļ âFrenchâ āļāļēāđāļĄāļāļĢāļāļāļąāļāļāļ·āđāļāđāļĄāļ·āļāļāđāļāļĢāļēāļĒāļāļēāļĢ āļāļāļāļāļąāļ Switch āļāļ°āļŠāļāļāļēāļāļāļāđāļāļ âEnglishâ
SYD FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double āļāļĩāđāļĢāļ°āļāļļāļāļēāđāļŠāļ·āđāļāļĄāļĢāļēāļāļēāļāļāļāļāļĢāļąāļāļĒāļŠāļīāļāđāļāļ sum-of-year āđāļāļāļ§āļāļāļĩāđāļĢāļ°āļāļļ
āđāļ§āļĒāļēāļāļĢāļSYD(cost, salvage, life, period)āļāļēāļāļīāļ§āđāļĄāļāļāļāļāļāļāļāļāļāļąāļ SYD āļĄāļĩāļāļ§āļēāļĄāļŦāļĄāļēāļĒ āļāļ·āļ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļcost āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double, āļĢāļ°āļāļļāļāļāļāļļāļāđāļĢāļīāđāļĄāļāļsalvage āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double, āļĢāļ°āļāļļāļĢāļēāļāļēāļāļēāļāđāļĄāļ·āđāļāļŠāđāļīāļāļŠāļļāļāļāļēāļĒāļļāđāļāļāļēāļlife āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double, āļāļēāļĒāļļāļāļēāļĢāđāļāļāļēāļāđāļāļāļēāļĢāļāđ āļēāļāļ§āļperiod āļāļąāļāļāļąāļ, āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double, āļĢāļ°āļāļļāļāđ āļēāļāļ§āļāļāļ§āļāđāļāļāļēāļĢāļāđ āļēāļāļ§āļāļāļēāđāļŠāļ·āđāļāļĄāļĢāļēāļāļē
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļēāļāļīāļ§āđāļĄāļāļ life āđāļĨāļ° period āļāļāļāđāļāļŦāļāļ§āļĒāđāļāļĩāļĒāļ§āļāļąāļ āđāļāļ āļāļē life āļāđ āļēāļŦāļāļāđāļāļāđāļāļ·āļāļ period āļāļāļāđāļāļŦāļāļ§āļĒāđāļāļāđāļāļ·āļāļāļāļ§āļĒ āļāļēāļāļīāļ§āđāļĄāļāļāļāļąāđāļāļŦāļĄāļāļāļāļāđāļāļāļāļēāļāļ§āļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ DDB, āļāļāļāļāļąāļ FV āļāļāļāļāļąāļ IPmt, āļāļāļāļāļąāļ IRR, āļāļāļāļāļąāļ MIRR, āļāļāļāļāļąāļ NPer, āļāļāļāļāļąāļ NPV, āļāļāļāļāļąāļPmt, āļāļāļāļāļąāļ PPmt, āļāļāļāļāļąāļ PV, āļāļāļāļāļąāļ Rate, āļāļāļāļāļąāļ SLN
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ SYD āđāļāļ·āđāļāļŠāļāļāļāļāļāļēāđāļŠāļ·āđāļāļĄāļĢāļēāļāļēāļāļāļāļŠāļīāļāļāļĢāļąāļāļĒāđāļāļāļ§āļāļāļĩāđāļĢāļ°āļāļļ āđāļāļĒāđāļŦāļāļēāļāļāļāļļāļāđāļĢāļīāđāļĄāļāļ (InitCost) āļĢāļēāļāļēāļāļēāļāļāļĩāđāļāļ§āļāļŠāļļāļāļāļēāļĒ (SalvageVal) āļāļēāļĒāļļāļāļēāļĢāđāļāļāļēāļāļāļāļāļāļĢāļąāļāļĒāļŠāļīāļāđāļāļāļ (LifeTime) āđāļŦāļāđ āļēāļāļ§āļāļāļ§āļāļāļĩāđāļāļāļāļāļēāļĢāļāļĢāļēāļāļāļēāđāļŠāļ·āđāļāļĄāļĢāļēāļāļē (PDepr).
widebase.net âVBA References
134
Dim Fmt, InitCost, SalvageVal, MonthLife, LifeTime, DepYear, PDeprConst YEARMONTHS = 12 ' āļ āđāļēāļāļ§āļāđāļāļ·āļāļāđāļ 1 āļFmt = "###,##0.00" ' āļāđ āļēāļŦāļāļāļĢāļđāļāđāļāļāļāļēāļĢāđāļāļīāļInitCost = InputBox("What's the initial cost of the asset?")SalvageVal = InputBox("What's the asset's value at the end of its life?")MonthLife = InputBox("What's the asset's useful life in months?")Do While MonthLife < YEARMONTHS ' Ensure period is >= 1 year. MsgBox "Asset life must be a year or more." MonthLife = InputBox("What's the asset's useful life in months?")LoopLifeTime = MonthLife / YEARMONTHS ' āđāļāļĨāļāđāļāļ·āļāļāđāļāļāļIf LifeTime <> Int(MonthLife / YEARMONTHS) Then LifeTime = Int(LifeTime + 1) ' āļāļĢāļāļąāļāļēāļāļķāđāļāđāļāļāļāļāđāļĩāđāļāļĨāļāđāļĩāļŠāļļāļEnd IfDepYear = CInt(InputBox("For which year do you want depreciation?"))Do While DepYear < 1 Or DepYear > LifeTime MsgBox "You must enter at least 1 but not more than " & LifeTime DepYear = CInt(InputBox("For what year do you want depreciation?"))LoopPDepr = SYD(InitCost, SalvageVal, LifeTime, DepYear)MsgBox "The depreciation for year " & DepYear & " is " & Format(PDepr, Fmt) & "."
Tab Functionāđāļāļāđ āļēāļāļēāļāļĢāļ§āļĄāļāļąāļāļāđ āļēāļŠāđāļąāļ Print# Statement āļŦāļĢāļ·āļāđāļĄāļāļāļ Print āđāļāļ·āđāļāļāđ āļēāļŦāļāļāļāđ āļēāđāļŦāļāļāļāļĨāļĨāļąāļāļ
āđāļ§āļĒāļēāļāļĢāļTab[(n)]āļāļēāļāļīāļ§āđāļĄāļāļ n āđāļāļāļāļēāļāļīāļ§āđāļĄāļāļ āđāļĄāļāļąāļāļāļąāļ āļāļķāđāļāđāļāļāļāđ āļēāļāļ§āļāļāļāļĨāļąāļĄāļāļāļĩāđāđāļāļĨāļ·āđāļāļāđāļāļāļāļāļāļēāļĢāđāļŠāļāļāļāļāļāļāļ āļēāļ
āļŦāļĢāļ·āļāļāļēāļĢāļāļīāļĄāļ expression āļāļāđāļāđāļāļĢāļēāļĒāļāļēāļĢ āļāļēāđāļĄāļāđ āļēāļŦāļāļ āļāļāļāļāļąāļ Tab āļāļ°āđāļāļĢāļāļāđ āļēāđāļŦāļāļāđāļāļāļĩāđāļāļļāļāđāļĢāļīāđāļĄāļāļāļāļāļāđāļāļāļāļēāļĢāļāļīāļĄāļāļāļāđāļ āđāļĨāļ°āļĒāļīāļāļĒāļāļĄāđāļŦ Tab āđāļāđāļāļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļļāļĨāļ āļēāļāđāļāļāļĢāļāļĩāļāļĩāđāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļļāļĨāļ āļēāļāļāđ āļēāđāļāđāļāđāļāļāļāļļāļāļāļĻāļāļīāļĒāļĄ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļēāļāđ āļēāđāļŦāļāļāļāļēāļĢāļāļīāļĄāļāļāļāļāļļāļāļąāļāļāļāđāļāļ§āļāļĩāđāļāđ āļēāļĨāļąāļāļāļīāļĄāļāđāļŦāļāļāļ§āļē n āļāļāļāļāļąāļ Tab āļāļ°āļāļēāļĄāđāļāļāļĩāđāļāļāļĨāļąāļĄāļāļāļĩāđ n āļāļāļāđāļāļ§āļāļāđāļ āļāļē n āļāļāļĒāļāļ§āļē 1 āļāļāļāļāļąāļ Tab āļāļ°āđāļāļāļĩāđāļāļāļĨāļąāļĄāļ 1 āļāļē n āļĄāļēāļāļāļ§āļēāļāļ§āļēāļĄāļāļ§āļēāļāļāļāļāđāļāļ§ āļāļāļāļāļąāļ Tab āļāļ°āļāđ āļēāļāļ§āļāļāđ āļēāđāļŦāļāļāļāļēāļĢāļāļīāļĄāļāļāļāđāļāđāļāļĒāđāļāļŠāļđāļāļĢ
n Mod width
āđāļāļ āļāļē width āđāļāļ 80āđāļĨāļ°āļāđ āļēāļŦāļāļ Tab(90) āļāļēāļĢāļāļīāļĄāļāļāļāđāļāļāļ°āđāļĢāļīāđāļĄāļāļĩāđāļāļāļĨāļąāļĄāļāļāļĩāđ 10 (āļāļĨāļŦāļēāļĢāļāļāļ 90/80) āļāļē nāļāļāļĒāļāļ§āļēāļāđ āļēāđāļŦāļāļāļāļēāļĢāļāļīāļĄāļāļāļāļāļļāļāļąāļ āļāļēāļĢāļāļīāļĄāļāļāļ°āđāļĢāļīāđāļĄāđāļāļ§āđāļŦāļĄāļāļĩāđāļāđ āļēāđāļŦāļāļāļāļēāļĢāļāļīāļĄāļāļāļĩāđāļāđ āļēāļāļ§āļāđāļ āļāļēāļāļēāļĢāļāđ āļēāļāļ§āļāļāđ āļēāđāļŦāļāļāđāļŦāļāļāļ§āļēāļāđ āļēāđāļŦāļāļāļāļēāļĢāļāļīāļĄāļāļāļāļāļļāļāļąāļ āļāļēāļĢāļāļīāļĄāļāļāļ°āđāļĢāļīāđāļĄāļāļĩāđāļāđ āļēāđāļŦāļāļāļāļĩāđāļāđ āļēāļāļ§āļāđāļāļāļāđāļāļ§āđāļāļĩāļĒāļ§āļāļąāļāļāļēāļāļāļēāļĒāļŠāļļāļāļāļāļāļāđ āļēāđāļŦāļāļāļāļāđāļāļ§āļāļĨāļĨāļąāļāļāđāļāļ 1 āđāļŠāļĄāļ āđāļĄāļ·āđāļāđāļāļāđ āļēāļŠāđāļąāļ Print# Statement āđāļāļāļēāļĢāļāļīāļĄāļāđāļāļāđāļāļĨ āđāļĨāļ°āļāļēāļāļāļ§āļēāļŠāļļāļāđāļāļāļāļ§āļēāļĄāļāļ§āļēāļāļāļāļāđāļāļĨāļāļĨāļĨāļąāļāļ āļāļķāđāļāļāļēāļĢāļāđ āļēāļŦāļāļāļāļēāđāļāļāđ āļēāļŠāđāļąāļ Width# Statementāļāļēāđāļāļāļāļāļāļąāļ Tab āļāļ§āļĒāđāļĄāļāļāļ Print āļāļ·āđāļāļāļĩāđāļāļēāļĢāļāļīāļĄāļāļāļ°āļāļđāļāđāļāļāđāļŦāđāļŦāļĄāļ·āļāļ āļāļ§āļēāļĄāļāļ§āļēāļāļāļāļĨāļąāļĄāļāļāļāļāļĩāđ āļāļ§āļēāļĄāļāļ§āļēāļāļāļāļāđāļāļĨāļ°āļāļāļĨāļąāļĄāļāđāļāļāļāļēāđāļāļĨāļĩāđāļĒāļāļ§āļēāļĄāļāļ§āļēāļāļāļāļāļāļąāļ§āļāļąāļāļĐāļĢāļāļąāđāļāđāļāļŦāļāļēāļāļĢāļ°āļāļēāļĐāļāļĩāđāđāļĨāļ·āļāļāđāļ Font āđāļāļāļ°āđāļĄāļĄāļĩāļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļ
widebase.net âVBA References
135
āļĢāļ°āļŦāļ§āļēāļāļāđ āļēāļāļ§āļāļāļąāļ§āļāļąāļāļĐāļĢāļāļĩāđāļāļīāļĄāļāļāļąāļāļāđ āļēāļāļ§āļāļāļāļāļāļāļĨāļąāļĄāļāļāļĩāđāđāļāļāļ§āļēāļĄāļāļ§āļēāļāļāļāļāļĩāđāļāļķāđāļāļĄāļĩāļāļąāļ§āļāļąāļāļĐāļĢāļāļąāđāļ āđāļāļ āļāļąāļāļĐāļĢāļāļąāļ§āđāļŦāļ W āđāļāļāļĩāđāļĄāļēāļāļāļ§āļēāļāļ§āļēāļĄāļāļ§āļēāļāļāļāļāļĩāđāđāļĨāļ°āļāļąāļāļĐāļĢāļāļąāļ§āđāļĨāđāļ i āđāļāļāļĩāđāļāļāļĒāļāļ§āļēāļĄāļāļ§āļēāļāļāļāļāļĩāđ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄMod (Operator), Print# Statement, āđāļĄāļāļāļ Print, āļāļāļāļāļąāļ Space, āļāļāļāļāļąāļ Space$, āļāļāļāļāļąāļ Spc, Width#Statement
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ Tab āļāđ āļēāļŦāļāļāļāđ āļēāđāļŦāļāļāļāļĨāļĨāļąāļāļāļāļāļāđāļāļĨāđāļĨāļ°āđāļ immediate window
' āļāļāļāļāļąāļ Spc āļŠāļēāļĄāļēāļĢāļāđāļāļāļąāļāļāđ āļēāļŠāđāļąāļ Print # statementOpen "TESTFILE" For Output As #1 ' āđāļāļāđāļāļĨ' āļāļĄāļīāļāļāđ āļēāļāļĩāđ 2 āļāđāļĩāļāļāļĨāļąāļĄāļ 20Print #1, "Hello"; Tab(20); "World."' āļāļēāļĨāļ°āļāļēāļāļ§āļīāđāļĄāļāļ āđāļāļāļĢāđāļāļāļĢāļāļ°āļĒāļēāļĒāđāļāļāļĩāđāļāļ·āđāļāļāđāļĩāļāļēāļĢāļāļīāļĄāļāļāļāđāļPrint #1, "Hello"; Tab; "World"Close #1 ' āļāļāđāļāļĨ
āļāļēāļĢāđāļāđāļĄāļāļāļ Print āđāļāļ·āđāļāļāļīāļĄāļāļāļĨāļĨāļąāļāļāđāļ immediate window āđāļāļĒāđāļĢāļīāđāļĄāļāļāļāļĩāđāļāļāļĨāļąāļĄāļāļāļĩāđ 10Debug.Print Tab(10); "10 columns from start."
Tan FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĨāļĨāļąāļāļāļāļāļāļāļē Tangent āļāļāļāļĄāļļāļĄ āđāļāļĒāļĄāļĩāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāđāļāļ Double
āđāļ§āļĒāļēāļāļĢāļTan(number)āļāļēāļāļīāļ§āđāļĄāļāļ number āđāļāļāļāļēāļāļĩāđāļĄāļĩāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāļāļąāļ§āđāļĨāļ āļŦāļĢāļ·āļ Expression āļāļĩāđāđāļŦāļāļēāļāļąāļāļāļĨāļēāļ§āļāļķāđāļāļāļāļāđāļāļ
āļāļāļāļĄāļļāļĄāļāļĩāđāđāļāļāđāļĢāđāļāļĩāļĒāļ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļTan āđāļāļāļŠāļąāļāļŠāļ§āļāļāļāļāļāļ§āļēāļĄāļĒāļēāļ§āļāļēāļāļāļĢāļāļāļēāļĄāļĄāļļāļĄāļŦāļēāļĢāļāļ§āļĒāļāļ§āļēāļĄāļĒāļēāļ§āļāļēāļāļāļĢāļ°āļāļīāļāļĄāļļāļĄāļāļēāļĢāđāļāļĨāļāļāļēāļāļāļĻāļēāđāļŦāđāļāļāđāļĢāđāļāļĩāļĒāļ āļāļāļĻāļē āļāļđāļ Ï/180āļāļēāļĢāđāļāļĨāļāđāļĢāđāļāļĩāļĒāļāđāļŦāđāļāļāļāļāļĻāļē āđāļĢāđāļāļĩāļĒāļ āļāļđāļ 180/Ï
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Atn, āļāļāļāļāļąāļ Cos, āļāļāļāļāļąāļ Sin
āļāļąāļ§āļāļĒāļēāļDim myAngle, myCotangentmyAngle = 1.5 ' āļāđ āļēāļŦāļāļāļāļāļĻāļēāđāļāļ āđāļĢāđāļāļĩāļĒāļmyCotangent = 1/ Tan(myAngle) ' āļ āđāļēāļāļ§āļāļāļē Cotangent
widebase.net âVBA References
136
Time Function, Time$ Functionāļāļāļāļāļąāļ Time āļāļēāļāļĩāđāļŠāļāļāļāļāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (Date) āđāļāļĒāđāļāļāļāļēāđāļ§āļĨāļēāļāļēāļĄāļāļēāļŽāļīāļāļēāļāļāļāļĢāļ°āļāļāļāļāļāļāļąāļ Time$ āļāļēāļāļĩāđāļŠāļāļāļāļāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ String āđāļāļĒāđāļāļāļāļēāđāļ§āļĨāļēāļāļēāļĄāļāļēāļŽāļīāļāļēāļāļāļāļĢāļ°āļāļ
āđāļ§āļĒāļēāļāļĢāļTimeTime$
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Date, āļāļāļāļāļąāļ Timer
āļ§āļīāļāļĩāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļ AccessāļāļēāļĢāđāļāļĢāļāļāļāļāļāļąāļ Time āđāļāļ·āđāļāđāļŠāļāļāļāļēāđāļ§āļĨāļēāļāļāļāļļāļāļąāļāļāļēāļāļāļēāļŽāļīāļāļēāļāļāļāđāļāļĢāļ·āđāļāļāđāļāļāļāļĢāļĄāđāļĨāļ°āļĢāļēāļĒāļāļēāļāļŠāļēāļĄāļēāļĢāļāļāđ āļēāđāļāđāļāļĒāļāļĨāļīāļāļāļĩāđāļāđ āļēāļŠāđāļąāļ Date and Time āļāļāđāļĄāļāļđ Insert āļāļķāđāļāļāđ āļēāļŠāđāļąāļāļāļĩāđāļāļ°āļŠāļĢāļēāļāļāļąāļ§ Control āđāļāļ Text box āļāļāļāļāļĢāļĄāļŦāļĢāļ·āļāļĢāļēāļĒāļāļēāļ āđāļāļĒāļāļąāđāļāļāļēāļāļļāļāļŠāļĄāļāļąāļāļī ControlSource āđāļāļāļāļāļāļāļąāļ TimeāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļąāļāļāļīāļ§āļĢāļĩāđ āļŦāļĢāļ·āļāļĄāļēāđāļāļĢāđāļŦāđāļāļīāđāļĄāļ§āļāđāļĨāđāļāļāļāļāļēāļāļāļāļāļāļąāļ āđāļāļ Time() āļāļąāļ§āļāļĒāļēāļDim myTimemyTime = Time ' āļāđ āļēāļŦāļāļāļāļēāđāļ§āļĨāļēāļāļāļāļļāļāļąāļāļāļēāļāļāļēāļŽāļīāļāļēāļāļāļāđāļāļĢāļ·āđāļāļ
āļāļąāļ§āļāļĒāļēāļāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļ AccessāļāļēāļĢāļāđ āļēāļŦāļāļāļāļāļāļāļąāļ Time āļāļĩāđāļāļļāļāļŠāļĄāļāļąāļāļī ControlSource āđāļŦāļāđ āļēāļŦāļāļāđāļāļĢāļđāļāđāļāļāđāļāļ=Time ()
Time Statementāļāļąāđāļāļāļēāđāļ§āļĨāļēāļāļāļāļĢāļ°āļāļ
āđāļ§āļĒāļēāļāļĢāļTime = timetime āđāļāļāļāļēāļāļīāļ§āđāļĄāļāļāļāļąāļāļāļąāļ āđāļĨāļ°āđāļāļ numeric expression, string expression āļŦāļĢāļ·āļāļĨāļąāļāļĐāļāļ°āļĢāļ§āļĄāļāļ·āđāļ
āļāļĩāđāļŠāļēāļĄāļēāļĢāļāļāđ āļēāđāļŠāļāļāđāļ§āļĨāļē
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļē time āđāļāļāļāļāļāļ§āļēāļĄ Time āļāļĒāļēāļĒāļēāļĄāđāļāļĨāļāļāļēāļāļīāļ§āđāļĄāļāļ time āđāļŦāđāļāļāđāļ§āļĨāļē āļāļ§āļĒāļāļēāļĢāđāļāļāļąāļ§āđāļāļāđāļ§āļĨāļē āļāļēāļĄāļāļĩāđāļĢāļ°āļāļļāļŠāđ āļēāļŦāļĢāļąāļāļĢāļ°āļāļ āļāļēāđāļĄāļŠāļēāļĄāļēāļĢāļāđāļāļĨāļāđāļāļāđāļ§āļĨāļēāļāļĢāļīāļāđāļ āļāļ°āđāļāļīāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļ
widebase.net âVBA References
137
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Date, Date Statement, āļāļāļāļāļąāļ Time
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Time āđāļāļ·āđāļāļāļąāđāļāđāļ§āļĨāļēāļāļāļāđāļāļĢāļ·āđāļāļāļāļāļĄāļāļīāļ§āđāļāļāļĢ āļāļēāļĄāđāļ§āļĨāļēāļāļĩāđāļāļđāđāļāļāđ āļēāļŦāļāļ
Dim MytimeMyTime= # 4:35:17 pm # ' āļāđ āļēāļŦāļāļāđāļ§āļĨāļēTime =MyTime ' āļāļąāļāđāļāļēāđāļ§āļĨāļēāļāļāļāđāļ§āļĨāļēāļāļēāļĄ MyTime
Timer FunctionāļāļēāļāļĩāđāļŠāļāļāļāļāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Single āđāļāļĒāđāļāļāļāđ āļēāļāļ§āļāļ§āļīāļāļēāļāļĩāļāļĩāđāđāļĨāļĒāđāļāļĩāđāļĒāļāļāļ·āļ
āđāļ§āļĒāļēāļāļĢāļTimer
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄRandomize Statement, āļāļāļāļāļąāļ Time
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ Timer āļŦāļĒāļļāļāđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĒāļļāļāļ āļāļąāļ§āļāļĒāļēāļāļāđ āļēāļŠāđāļąāļāđāļāđāļ DoEvents āđāļāļ·āđāļāđāļŦāļāļĢāļ°āļāļ§āļāļāļēāļĢāļāļ·āđāļ āļāđ āļēāļāļēāļāđāļāļĢāļ°āļŦāļ§āļēāļāļāļēāļĢāļŦāļĒāļļāļ
Dim PauseTime, Start, Finish, TotalTimeIf (MsgBox("āļāļāļāļļāļĄ Yes āđāļāļ·āđāļāļŦāļĒāļļāļ 5 āļ§āļīāļāļēāļāļĩ", 4)) = vbYes Then PauseTime = 5 ' āļāļąāļāđāļāļēāļāļ§āļāđāļ§āļĨāļē Start = Timer ' āļāļąāļāđāļāļēāđāļ§āļĨāļēāđāļĢāļīāđāļĄāļāļ Do While Timer < Start + PauseTime DoEvents ' āđāļŦāļāļĢāļ°āļāļ§āļāļāļēāļĢāļāļ·āđāļāļāđ āļēāļāļēāļ Loop Finish = Timer ' āļāļąāļāđāļāļēāđāļ§āļĨāļēāļŠāļīāđāļāļŠāļļāļ TotalTime = Finish - Start MsgBox "Pause for " & TotalTime & " seconds"Else EndEnd If
āļāļąāļ§āļāļĒāļēāļāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļ Accessāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ Timer āļŦāļēāļĢāļ°āļĒāļ°āđāļ§āļĨāļēāļāļēāļĢāļāđ āļēāļāļēāļāļāļāļāļāļīāļ§āļĢāļĩāđ
Sub QueryTimer(strQueryName As String) Dim sngStart As Single, sngEnd As Single Dim sngElapsed As Single sngStart = Timer DoCmd.OpenQuery strQueryName, acViewNormal sngEnd = Timer sngElapsed = Format(sngEnd - sngStart, "Fixed")
widebase.net âVBA References
138
MsgBox ("āļāļ§āļīāļĢāļĩ āđ" & strQueryName & " āđāļāđāļ§āļĨāļē " & sngElapsed & " āļ§āļīāļāļēāļāļĩ āđāļāļāļēāļĢāļāđ āļēāļāļēāļ")End Sub
TimeSerial FunctionāļāļēāļāļĩāđāļŠāļāļāļāļāđāļāļāļāļĢāļ°āđāļ āļ Variant (Date) āđāļāļĒāđāļāļāļāļēāļāļāļāđāļ§āļĨāļē āļāļēāļāļāļēāļĢāļāđ āļēāļŦāļāļāļāļąāđāļ§āđāļĄāļ, āļāļēāļāļĩ āđāļĨāļ°āļ§āļīāļāļēāļāļĩ
āđāļ§āļĒāļēāļāļĢāļTimeSerial(Hour, minute, second)āļāļēāļāļīāļ§āđāļĄāļāļāļāļāļāļāļāļāļāļąāļ TimeSerial āļĄāļĩāļāļāļāđ āļēāļŦāļāļ āļāļ·āļ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļHour āļāļąāļāļāļąāļ, āđāļāļāļāļēāļāđ āļēāļāļ§āļāđāļāđāļĄ (Integer) āļāļķāđāļāļāļ°āļāļāļāļĄāļĩāļāļēāļĢāļ°āļŦāļ§āļēāļ 0 (12:00 AM) āļāļķāļ 23 (11:00 PM)
āļĢāļ§āļĄāļāļķāļ Expression āļāļĩāđāđāļŦāļāļēāļāļąāļāļāļĨāļēāļ§minute āļāļąāļāļāļąāļ, āđāļāļāļāļēāļāđ āļēāļāļ§āļāđāļāđāļĄ (Integer) āļĢāļ§āļĄāļāļķāļ Expression āļāļĩāđāđāļŦāļāļēāļāļąāļāļāļĨāļēāļ§second āļāļąāļāļāļąāļ, āđāļāļāļāļēāļāđ āļēāļāļ§āļāđāļāđāļĄ (Integer) āļĢāļ§āļĄāļāļķāļ Expression āļāļĩāđāđāļŦāļāļēāļāļąāļāļāļĨāļēāļ§
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļāļāļāļąāļ TimeSerial āđāļāđāļāļāļēāļĢāđāļāļēāļ°āļāļāđāļ§āļĨāļē āđāļāļĒāļāļēāļāļāļāļāļēāļāļīāļ§āđāļĄāļāļāļāļ°āļĒāļāļĄāļĢāļąāļāļāļ§āļāļāļāļāļāļēāļĄāļŠāļ§āļ āđāļāļ hour āļĒāļāļĄāļĢāļąāļāļāļē 0 â 23, minute āđāļĨāļ° second āļĒāļāļĄāļĢāļąāļāļāļē 0 â 59 āļāļķāđāļāļāļēāļĢāđāļŠāļāļāļāļēāļāļāļāļāļēāļāļīāļ§āđāļĄāļāļāļŠāļēāļĄāļēāļĢāļāđāļ Expression āļāļĩāđāđāļŦāļāļĨāļĨāļąāļāļāđāļāļāļāļāļĄāļđāļĨāļāļąāļ§āđāļĨāļ āđāļāļ āļāļēāļĢāļŦāļēāļāļē 15 āļāļēāļāļĩāļāļāļ (-15), āļāļēāļāļąāđāļ§āđāļĄāļ 6 āļāļāļāđāļāļĩāđāļĒāļ (12 â 6) āļŦāļĢāļ·āļ 5:45:0 AMTimeSerial(12 â 6, â 15, 0)
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ DateSerial, āļāļāļāļāļąāļ DateValue, āļāļāļāļāļąāļ Hour, āļāļāļāļāļąāļ Minute, āļāļāļāļāļąāļ Second, āļāļāļāļāļąāļ
TimeValue
āļāļąāļ§āļāļĒāļēāļDim myTimemyTime = TimeSerial(16, 35, 17) ' āļāļĨāļĨāļąāļāļāļāļ·āļ myTime = 4:35:17 PM
TimeValue FunctionāļāļēāļāļĩāđāļŠāļāļāļāļāđāļāļāļāļĢāļ°āđāļ āļ Variant (Date) āđāļĨāļ°āđāļāļāļāļēāļāļāļāđāļ§āļĨāļē
āđāļ§āļĒāļēāļāļĢāļTimeValue(time)
widebase.net âVBA References
139
āļāļēāļāļīāļ§āđāļĄāļāļ time āļāļēāļĄāļāļāļāļīāļĄāļąāļāļāļ°āđāļāļ Expression āļāļĩāđāđāļāļāļāļąāļ§āļāļąāļāļĐāļĢ āđāļāļĒāđāļĢāļīāđāļĄ 0:00:00 (12:00:00 AM)āļāļķāļ 23:59:59 (11:59:59 PM) āļāļķāđāļāļāļēāđāļ§āļĨāļēāļāļĩāđāđāļŠāļāļāļāļāļāļĄāļēāļāļ°āļāļāļāļāļĒāļđāļāļ§āļāļāļĩāđāļāđ āļēāļŦāļāļ āļāļē time āđāļāļāļāļēāļ§āļēāļ (Null) āļāļĨāļĨāļąāļāļāļāļ°āđāļāļāļāļēāļ§āļēāļ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļēāļĢāļāļāļāļāļēāļāļāļāļāļēāļāļīāļ§āđāļĄāļāļ time āļŠāļēāļĄāļēāļĢāļāļāļāļāļāļēāđāļāļāļąāđāļāļĢāļ°āļāļ 12 āļāļąāđāļ§āđāļĄāļ āđāļĨāļ° 24 āļāļąāđāļ§āđāļĄāļ āđāļāļ â6:36:15 PMâ āļŦāļĢāļ·āļ â18:36:15â āļāļķāđāļāļāļēāļāļīāļ§āđāļĄāļāļ time āļĒāļāļĄāļĢāļąāļāļāļēāļāļąāđāļāļŠāļāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ DateSerial, āļāļāļāļāļąāļ DateValue, āļāļāļāļāļąāļ Hour, āļāļāļāļāļąāļ Minute, āļāļāļāļāļąāļ Now, āļāļāļāļāļąāļ Second,āļāļāļāļāļąāļ TimeSerial
āļāļąāļ§āļāļĒāļēāļāļāļāļāļāļąāļ TimeValue āļāđ āļēāļĄāļēāđāļāđāļāļāļēāļĢāđāļāļĨāļāļāļāļāļ§āļēāļĄāļāļĩāđāļāļĒāļđāđāļāļĢāļđāļāđāļāļāđāļ§āļĨāļē āđāļŦāđāļāļāļāļēāđāļ§āļĨāļēDim myTimemyTime = TimeValue("6:36:15 PM") ' āļāļĨāļĨāļāļąāļāđāļāļāđāļ§āļĨāļē
Trim, Trim$ Functionāļāļđ LTrim, LTrim$ Function
TypeName FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ String āļāļĩāđāđāļŠāļāļāļŠāļēāļĢāļŠāļāđāļāļĻāļāļāļāļāļąāļ§āđāļāļĢ
āđāļ§āļĒāļēāļāļĢāļTypeName(varname)āļāļēāļāļīāļ§āđāļĄāļāļ varname āļāļāļāļāļēāļĢāļāļēāļāļąāļ§āđāļāļĢāđāļāđāļĒāļāđāļ§āļ āļāļąāļ§āđāļāļĢāļāļĩāđāļāļđāđāļāļāđ āļēāļŦāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāđāļāđ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļāļāļ§āļēāļĄāļāļĩāđāļŠāļāļāļāļāļĄāļēāđāļāļĒāļāļāļāļāļąāļ TypeName āļĄāļĩāļĢāļēāļĒāļāļēāļĢ āļāļ·āļ
āļāļāļāļ§āļēāļĄāļŠāļāļāļāļ āļāļąāļ§āđāļāļĢobject type āļāļāļāđāļāļāļāļĩāđāļĄāļĩāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāļāļāļāđāļāļByte Byte value (āļāļēāđāļāļ)Integer Integer (āļāđ āļēāļāļ§āļāđāļāđāļĄ)Long Long integer (āļāđ āļēāļāļ§āļāđāļāđāļĄāđāļāļ Long)Single Single-precision floating-point number (āļāđ āļēāļāļ§āļāļāļĢāļīāļāđāļāļ Single)
widebase.net âVBA References
140
āļāļāļāļ§āļēāļĄāļŠāļāļāļāļ āļāļąāļ§āđāļāļĢDouble Double-precision floating-point number (āļāđ āļēāļāļ§āļāļāļĢāļīāļāđāļāļ Double)Currency Currency value (āļāļēāļāļēāļĢāđāļāļīāļ)Decimal Decimal value (āļāļēāļāļĻāļāļīāļĒāļĄ)Date Date value (āļāļēāļ§āļąāļāļāļĩāđ)String String (āļāļāļāļ§āļēāļĄ)Boolean Boolean value (āļāļēāļāļēāļāļāļĢāļĢāļāļ°)Error An error value (āļāļēāļāļīāļāļāļĨāļēāļ)Empty Uninitialized (āļĒāļąāļāđāļĄāđāļāļāđ āļēāļŦāļāļāļāļē)Null No valid data (āļāļēāļ§āļēāļ)Object āļāļāļāđāļāļUnknown āđāļāļāļāļāļāđāļāļāļāļĩāđāđāļĄāļāļĢāļēāļāļāļĢāļ°āđāļ āļNothing āļāļąāļ§āđāļāļĢāļāļāļāđāļāļāļāļĩāđāđāļĄāļĄāļĩāļāļēāļĢāļāļēāļāļāļķāļāļāļāļāđāļāļ
āļāļē varname āļŠāļāļāļāļāļāļēāđāļāļāļāļāļāļ§āļēāļĄāļāļĩāđāđāļāļāļĄāļĩāļāļĒāļđāđāļāļĢāļēāļĒāļāļēāļĢāļāļ°āļŠāļāļāļē āļāļāļāļ§āļēāļĄāļāļĩāđāļĄāļĩāļ§āļāđāļĨāđāļāđāļāļĨāļē āđāļāļ āļāļē varnameāļŠāļāļāļēāđāļāļ array āļāļāļāđāļĨāļāļāđ āļēāļāļ§āļāđāļāđāļĄ (Integer) āļāļāļāļāļąāļ TypeName āļāļ°āļŠāļāļāļēāđāļāļ âInteger()â
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ IsArray, āļāļāļāļāļąāļ IsDate, āļāļāļāļāļąāļ IsEmpty, āļāļāļāļāļąāļ IsError, āļāļāļāļāļąāļ IsMissing, āļāļāļāļāļąāļ IsNull,āļāļāļāļāļąāļ IsNumeric, āļāļāļāļāļąāļ IsObject, āļāļāļāļāļąāļ TypeName, āļāļāļāļāļąāļ VarType, āļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļāļāļāļąāļ TypeName āđāļāļāļēāļĢāļŠāļāļāļāļāļŠāļēāļĢāļŠāļāđāļāļĻāļāļāļāļāļąāļ§āđāļāļĢ
' āļāļĢāļ°āļāļēāļĻāļāļąāļ§āđāļāļĢDim NullVar, MyType, StrVar As String, IntVar As Integer, CurVar As CurrencyDim ArrayVar (1 To 5) As Integer
NullVar = Null ' āļāđ āļēāļŦāļāļāļāļēāđāļāļ NullMyType = TypeName(StrVar) ' āļŠāļāļāļāļāļāļēāđāļāļ "String"MyType = TypeName(IntVar) ' āļŠāļāļāļāļāļāļēāđāļāļ "Integer"
āļāļąāļ§āļāļĒāļēāļāļāļĢāļ°āļĒāļļāļāļāđāļ Accessāļāļąāļ§āļāļĒāļēāļāļāļāļāļāļąāļāļāļĩāđāļŠāļĢāļēāļāļāļąāļ§āđāļāļĢāļāļāļāđāļāļāļŦāļĨāļēāļĒāļāļąāļ§āđāļĨāļ°āļŠāļāļāļēāļāđāļāļĒāļąāļāļāļāļāļāļąāļ TypeName
Sub ObjectTypes() Dim dbs As Database, tdf As TableDef Dim fld As Field Set dbs = CurrentDb ' āđāļĢāļĒāļĩāļāļāļēāļāļāļāļĄāļđāļĨāļāļāļāļļāļāļąāļ Set tdf = dbs.TableDefs("Orders") ' āļŠāļāļāļāļāļāļāļāđāļāļ TableDef āļāđāļĩāļāļĩāđāđāļāļĒāļąāļ table āļāļ·āđāļ Orders Set fld = tdf.Fields("OrderDate") ' āļŠāļāļāļāļāļāļĨāļāļāļāļāļāļāļāđāļāļāļāļĩāđāļāđāļāļĒāļąāļāļāļĨāļ OrderDate field ' āļŠāđāļąāļāļāļĄāļīāļāļāļēāļāļĩāđāļŠāļāļāļāļāđāļāļĒāļāļāļāļāļąāļ TypeName āļŠāđ āļēāļŦāļĢāļąāļāđāļāļĨāļ°āļāļāļāđāļāļ Debug.Print TypeName(dbs)
widebase.net âVBA References
141
Debug.Print TypeName(tdf) Debug.Print TypeName(fld)End Sub
Type Conversion FunctionāđāļāļĨāļ°āļāļāļāļāļąāļāđāļāđāļāļāļēāļĢāđāļāļĨāļāļāļēāđāļŦāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāļāļĩāđāļāļāļāļāļēāļĢ
āđāļ§āļĒāļēāļāļĢāļCByte(expression)CCur(expression)CDate(expression)CDbl(expression)CDec(expression)CInt(expression)CLng(expression)CSng(expression)CStr(expression)CVar(expression)āļāļēāļāļīāļ§āđāļĄāļāļ expression āļāļāļāđāļāļ expression āļāļāļāļāļāļāļ§āļēāļĄāļŦāļĢāļ·āļāļāļēāļāļąāļ§āđāļĨāļ
āļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāļāļĩāđāļŠāļāļāļāļāļāļēāļĢāļŦāļēāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāļāļĩāđāļŠāļāļāļāļāļĄāļēāđāļāļĒāđāļāļĨāļ°āļāļāļāļāļąāļ
āļāļāļāļāļąāļ āļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāļāļĩāđāļŠāļāļāļāļ
āļāļ§āļāļāļāļāļāļēāļāļīāļ§āđāļĄāļāļ Expression
CBool Boolean expression āļāļĩāđāđāļāļāļāļāļāļ§āļēāļĄāļŦāļĢāļ·āļāļāļąāļ§āđāļĨāļāļāļĩāđāļĄāļĩāļāļĢāļīāļCByte Byte 0 to 255CCur Currency -922,337,203,685,477.5808 āļāļķāļ 922,337,203,685,477.5807CDate Date expression āļāļĩāđāđāļāļāļ§āļąāļāļāļĩāđāļāļĩāđāļĄāļĩāļāļĢāļīāļCDbl Double āļāļēāļĨāļ -1.79769313486231E308 āļāļķāļ -4.94065645841247E-324
āļāļēāļāļ§āļ 4.94065645841247E-324 āļāļķāļ 1.79769313486232E308CDec Decimal āļĢāļđāļāđāļāļāđāļĄāļĄāļĩāļāļĻāļāļīāļĒāļĄ +/-79,228,162,514,264,337,593,543,950,335
āļĢāļđāļāđāļāļāļāļĻāļāļīāļĒāļĄ 28 āļāđ āļēāđāļŦāļāļ +/-7.9228162514264337593543950335āļāļēāļāļāļĒāļāļĩāđāļŠāļļāļāļāļĩāđāđāļĄāđāļāļāļĻāļđāļāļĒ āļāļ·āļ 0.0000000000000000000000000001
CInt Integer āļāđ āļēāļāļ§āļāđāļāđāļĄ -32,768 to 32,767 āđāļāļĒāļāļĢāļąāļāļāļēāļāļĻāļāļīāļĒāļĄCLng Long āļāđ āļēāļāļ§āļāđāļāđāļĄāđāļāļ Long -2,147,483,648 to 2,147,483,647 āđāļāļĒāļāļĢāļąāļāļāļēāļāļĻāļāļīāļĒāļĄCSng Single āļāļēāļĨāļ -3.402823E38 to -1.401298E-45
widebase.net âVBA References
142
āļāļāļāļāļąāļ āļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāļāļĩāđāļŠāļāļāļāļ
āļāļ§āļāļāļāļāļāļēāļāļīāļ§āđāļĄāļāļ Expression
āļāļēāļāļ§āļ 1.401298E-45 to 3.402823E38CStr String āļāļēāļāļĩāđāļŠāļāļāļāļāļāļķāđāļāļāļąāļāļāļēāļāļīāļ§āđāļĄāļāļāļāļāļ expressionCVar Variant āļŠāđ āļēāļŦāļĢāļąāļāļāļąāļ§āđāļĨāļ āđāļŦāļĄāļ·āļāļāļāļąāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Double āļŠāđ āļēāļŦāļĢāļąāļāļāļēāļāļĩāđāđāļĄāđāļāļāļąāļ§āđāļĨāļāđāļŦāļĄāļ·āļāļ
āļāļąāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ String
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļē expression āļŠāļāļāļēāđāļāļĒāļąāļāļāļāļāļāļąāļāļāļĩāđāļāļāļāļāļēāļāļāļ§āļāļāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāļāļĩāđāļāļ°āđāļāļĨāļāļāļē āļāļ°āļāļĢāļēāļāļāļāļēāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļāđāļāļĒāļāļąāđāļ§āđāļāđāļĨāļ§āļŠāļēāļĄāļēāļĢāļāđāļāļĩāļĒāļāļāđ āļēāļŠāđāļąāļāđāļāļĒāđāļāļāļāļāļāļąāļāđāļāļĨāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāđāļāļ·āđāļāđāļŠāļāļāļāļĨāļĨāļąāļāļāđāļāļĢāļđāļāđāļāļāļāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāļāļĩāđāđāļāļēāļ°āļāļāđāļāļāļāļĩāđāļāļēāļĢāđāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāļāļēāļĄāļāļēāđāļĢāļīāđāļĄāļāļ āđāļāļ āļāļēāļĢāđāļāļāļāļāļāļąāļ CCur āđāļāļ·āđāļāļāļąāļāļāļąāļāđāļŦāđāļāļāļāļēāļāļēāļāļāļēāļĢāđāļāļīāļāđāļāļāļāļĩāđāļāļąāļ§āđāļĨāļāļāđ āļēāļāļ§āļāđāļāđāļĄāđāļāļ Single, āļŦāļĢāļ·āļ DoubleāđāļāļāļēāļĢāđāļāļāļāļāļāļąāļāđāļāļĨāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāđāļāļāļāļĩāđāļāļēāļāļāļāļāļāļāļāļąāļ Val āđāļāļĢāļđāļāđāļāļ international āđāļāļāļēāļĢāļĢāļ°āļ§āļąāļāļāļēāļĢāđāļāļĨāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ āđāļāļ āļāļēāđāļāļāļāļāļāļąāļ CCur āļāļ§āļēāļĄāđāļāļāļāļēāļāļāļāļāđāļāļĢāļ·āđāļāļāļāļļāļāļāļĻāļāļīāļĒāļĄ, āđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāđāļāļāļŦāļĨāļąāļāļāļąāļ āđāļĨāļ°āļŠāļąāļāļĨāļąāļāļĐāļāļāļēāļāļāļēāļĢāđāļāļīāļ āļāļ°āđāļāļāđāļāļāļēāļĄāļāļēāļĄāļāļēāļĢāļāļąāđāļāļāļēāļāļāļāđāļāļĢāļ·āđāļāļāļāļāļĄāļāļīāļ§āđāļāļāļĢāļāļĩāđāđāļāđāļĄāļ·āđāļāļāļēāļāļŠāļ§āļāļāļāļāļāļēāļāļąāļ§āđāļĨāļāļĄāļĩāļāļēāđāļāļ 0.5 āļāļāļāļĩ āļāļāļāļāļąāļ CInt āđāļĨāļ° CLng āļāļ°āļāļĢāļąāļāļāļēāļāļķāđāļāđāļāļāđāļĨāļāļāļđāļāļĩāđāđāļāļĨāļāļĩāđāļŠāļļāļ āđāļāļ 0.5 āļāļĢāļąāļāđāļāļ 0, 1.5 āļāļĢāļąāļāđāļāļ 2 āļāļāļāļāļąāļ CInt āđāļĨāļ° CLng āđāļāļāļāļēāļāļāļēāļāļāļāļāļāļąāļ Fix āđāļĨāļ° Int āļāļķāđāļāđāļāļāļēāļĢāļāļąāļāļāļĻāļāļīāļĒāļĄāļāļāļ āđāļĨāļ°āļāļēāļāļĩāđāļŠāļāļāļāļāļāļāļāļāļāļāļāļąāļ Fix āđāļĨāļ° Int āđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāđāļāļīāļĄāļāļēāļĢāđāļāļāļāļāļāļąāļ IsDate āđāļāļāļēāļĢāļŦāļēāļāļē āļāļē date āļŠāļēāļĄāļēāļĢāļāđāļāļĨāļāđāļāļ āļ§āļąāļāļāļĩāđāļŦāļĢāļ·āļ āđāļ§āļĨāļē āļŠāļ§āļāļāļāļāļāļąāļ CDate āļāļ°āļāđ āļēāļŦāļāļāđāļāļāļĢāļđāļāđāļāļ date āđāļĨāļ° time āđāļŦāļāļąāļ§āđāļĨāļāļāļĩāđāļāļĒāļđāđāļāļāļ§āļāļāļĒāļąāļāļāļāļ°āļāļāļ Date āđāļāļĒāđāļāļĨāļāļāļēāļāļąāļ§āđāļĨāļāļāļēāļāļāđ āļēāļāļ§āļāđāļāđāļĄāđāļāļāļ§āļąāļāļāļĩāđ āđāļĨāļ°āļāļēāļāļŠāļ§āļāđāļāļāđāļ§āļĨāļē āļāļķāđāļāđāļ§āļĨāļēāļāļ°āđāļĢāļīāđāļĄāļāļēāļāđāļāļĩāđāļĒāļāļāļ·āļāļāļāļāļāļąāļ CDate āļāļ°āđāļŦāļĢāļđāļāđāļāļ date āļāļēāļĄāļāļēāļĢāļāļąāđāļāļāļēāļāļāļāđāļāļĢāļ·āđāļāļāļāļāļĄāļāļīāļ§āđāļāļāļĢ āļĨāđ āļēāļāļąāļāļ§āļąāļāļāļĩāđ āđāļāļ·āļāļ āđāļĨāļ°āļāļāļĩāđāļāļđāļāļāļāļāļāļ°āđāļĄāļŠāļēāļĄāļēāļĢāļāļŦāļēāđāļāļāļēāđāļāļāļĢāļđāļāđāļāļāļāļ·āđāļāļāļķāđāļāļĢāļ°āļāļāļ§āļąāļāļāļĩāđāđāļĄāļĢāļąāļāļĢāļđ āļāļāļāļāļēāļāļāļĩāđāļĢāļđāļāđāļāļ Long date āđāļĄāđāļāļāļāļĩāđāļĢāļąāļāļĢāļđāļāļēāđāļāđāļāļāļēāđāļāļāļāļāļāļ§āļēāļĄāđāļāļ day-of-the-weekāļāļāļāļāļąāļ CVDate āđāļāļŠāđ āļēāļŦāļĢāļąāļāļāđ āļēāļāļēāļāļāļąāļāļ āļēāļĐāļē Visual Basic āđāļ§āļāļĢāļāļąāļāļāļāļ āđāļ§āļĒāļēāļāļĢāļāļāļāļāļāļāļāļāļąāļ CVDate āđāļŦāļĄāļ·āļāļāļāļąāļāļāļāļāļāļąāļ CDate āđāļ āļāļāļāļāļąāļ CVDate āļŠāļāļāļēāļāļāļāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant āļāļĩāđāļĄāļĩāļāļĢāļ°āđāļ āļāļĒāļāļĒāđāļāļ Date āđāļāļāļāļĩāđāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Date āđāļāļĒāļāļĢāļ āđāļāļĢāļēāļ°āļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Date āđāļāļĒāļāļĢāļāđāļĄāļĄāļĩāļŠāļ§āļāļāļĢāļ°āļāļāļāļāļĩāđāļāļāļāļāļąāļ CVDateāļāļāļāļāļēāļĢ āļāļĨāļāļĒāļēāļāđāļāļĩāļĒāļ§āļāļąāļāļāļĩāđāļŠāļēāļĄāļēāļĢāļāđāļāļĨāļ expression āđāļāļ Date āđāļĨāļ§āļāļķāļāļāđ āļēāļŦāļāļāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ VariantāđāļāļĒāđāļāđāļāļāļīāļāļāļĩāđāđāļāđāļāļāļēāļĢāđāļāļĨāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāļāļ·āđāļāđāđāļŦāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāļĒāļāļĒāļāļāļ Variantāļāļąāļ§āļāļĒāļēāļāļāļāļāļāļąāļ CBoolāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ CBool āđāļāļāļēāļĢāđāļāļĨāļāļāļē expression āđāļāļ Boolean āđāļāļĒāļāļēāļāļĩāđāđāļĄāđāļ 0 āļāļāļāļāļąāļ CBool āļāļ°āļŠāļāļāļēāđāļāļ True āļāļēāļāļ·āđāļāđāļŠāļāļāļēāđāļāļ FalseDim A, B, CheckA = 5: B = 5 ' Initial āļāļąāļ§āđāļāļĢCheck = CBool(A = B) ' Check āļĄāļāļĩāļēāđāļāļ TrueA = 0 ' āļāđ āļēāļŦāļāļ variable.Check = CBool(A) ' Check āļĄāļāļĩāļēāđāļāļ False
widebase.net âVBA References
143
āļāļāļāļāļąāļ CByteāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ CByte āđāļāļāļēāļĢāđāļāļĨāļāļāļē expression āđāļāļ ByteDim MyDouble, MyByteMyDouble = 125.5678 ' MyDouble āļĄāļāļĩāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāđāļāļ Double.MyByte = CByte(MyDouble) ' MyByte āļĄāļāļĩāļēāđāļāļ 126
āļāļāļāļāļąāļ CCurāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ CCur āđāļāļāļēāļĢāđāļāļĨāļāļāļē expression āđāļāļ Currency.Dim MyDouble, MyCurrMyDouble = 543.214588 ' MyDouble is a Double.MyCurr = CCur(MyDouble * 2) ' āļāļĨāļĨāļąāļāļāļāļāļ MyDouble * 2 = (1086.429176)
' āđāļāļāļĨāļĨāļąāļāļāļāļēāļāļēāļĢāđāļāļīāļ Currency (1086.4292)
āļāļāļāļāļąāļ CDateāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ CDate āđāļāļāļēāļĢāđāļāļĨāļāļāļē expression āđāļāļ Date āđāļāļĒāļāļąāđāļ§āđāļāđāļĄāđāļāļ°āļāđ āļēāđāļŦāļāļēāļĢāđāļāļĩāļĒāļāļāđ āļēāļŠāđāļąāļāđāļāļ hard-coding āļāļāļ dates and times āđāļāļāļāļāļāļ§āļēāļĄ (string) āđāļāđāļŦāđāļāļĢāļđāļāđāļāļāļāļāļ date āđāļĨāļ° time āđāļāļ #2/12/1969# and #4:45:23 PM#Dim MyDate, MyShortDate, MyTime, MyShortTimeMyDate = "February 12, 1969" ' āļāđ āļēāļŦāļāļāļ§āļąāļāļāđāļĩMyShortDate = CDate(MyDate) ' āđāļāļĨāļāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ DateMyTime = "4:35:47 PM" ' āļāđ āļēāļŦāļāļāđāļ§āļĨāļēMyShortTime = CDate(MyTime) ' āđāļāļĨāļāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Date
āļāļāļāļāļąāļ CDblāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ CDbl āđāļāļāļēāļĢāđāļāļĨāļāļāļē expression āđāļāļ DoubleDim MyCurr, MyDoubleMyCurr = CCur(234.456784) ' MyCurr āđāļāļ CurrencyMyDouble = CDbl(MyCurr * 8.2 * 0.01) ' āđāļāļĨāļāļāļĨāļĨāļąāļāļāđāļāļ Double
āļāļāļāļāļąāļ CDecāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ CDec āđāļāļāļēāļĢāđāļāļĨāļāļāļē expression āđāļāļ DecimalDim MyDecimal, MyCurrMyCurr = 10000000.0587 ' MyCurr āđāļāļ CurrencyMyDecimal = CDec(MyCurr) ' āđāļāļĨāļāļāļĨāļĨāļąāļāļāđāļāļ Decimal
āļāļāļāļāļąāļ CIntāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ CInt āđāļāļāļēāļĢāđāļāļĨāļāļāļē expression āđāļāļ Integer.Dim MyDouble, MyIntMyDouble = 2345.5678 ' MyDouble āđāļāļ DoubleMyInt = CInt(MyDouble) ' MyInt āđāļāđāļāļāļē 2346
āļāļāļāļāļąāļ CLngāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ CLng āđāļāļāļēāļĢāđāļāļĨāļāļāļē expression āđāļāļ Long.Dim MyVal1, MyVal2, MyLong1, MyLong2MyVal1 = 25427.45: MyVal2 = 25427.55 ' MyVal1, MyVal2 āđāļāļ DoubleMyLong1 = CLng(MyVal1) ' MyLong1 āđāļāđāļāļāļē 25427MyLong2 = CLng(MyVal2) ' MyLong2 āđāļāđāļāļāļē 25428
widebase.net âVBA References
144
āļāļāļāļāļąāļ CSngāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ CSng āđāļāļāļēāļĢāđāļāļĨāļāļāļē expression āđāļāļ Single.Dim MyDouble1, MyDouble2, MySingle1, MySingle2 'MyDouble1,MyDouble2 āđāļāļ DoubleMyDouble1 = 75.3421115: MyDouble2 = 75.3421555MySingle1 = CSng(MyDouble1) ' MySingle1 āđāļāđāļāļāļē 75.34211MySingle2 = CSng(MyDouble2) ' MySingle2 āđāļāđāļāļāļē 75.34216
āļāļāļāļāļąāļ CStrāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ CStr āđāļāļāļēāļĢāđāļāļĨāļāļāļē expression āđāļāļ String.Dim MyDouble, MyStringMyDouble = 437.324 ' MyDouble āđāļāļ DoubleMyString = CStr(MyDouble) ' MyString āđāļāđāļāļāļē "437.324"
āļāļāļāļāļąāļ CVarāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ CVar āđāļāļāļēāļĢāđāļāļĨāļāļāļē expression āđāļāļ Variant.Dim MyInt, MyVarMyInt = 4534 ' MyInt āđāļāļ IntegerMyVar = CVar(MyInt & "000") ' MyVar āđāļāļāđāļāļēāđāļāļ string = 4534000
UBound FunctionāļŠāļāļāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Long āļāļĩāđāđāļāļāļāļēāļĄāļēāļāļāļĩāđāļŠāļļāļāļŠāđ āļēāļŦāļĢāļąāļāļāļēāļĢāļĢāļ°āļāļļāļĄāļīāļāļīāļāļāļ array
āđāļ§āļĒāļēāļāļĢāļUBound(arrayname [,dimension])āļāļāļāļāļąāļ UBound āļĄāļĩāđāļ§āļĒāļēāļāļĢāļāļāļāļāļŠāļ§āļ āļāļąāļāļāļĩāđ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļarrayname āļāļąāļāļāļąāļ, āđāļāļāļāļ·āđāļāļāļāļāļāļąāļ§āđāļāļĢ array āļāļēāļĄāļĄāļēāļāļĢāļāļēāļāļāļēāļĢāļāļąāđāļāļāļ·āđāļ arraydimension āđāļĄāļāļąāļāļāļąāļ, āļĄāļĩāļāļēāđāļāļ Variant(Long) āļāļķāđāļāđāļāļāđāļĨāļāļāđ āļēāļāļ§āļāđāļāđāļĄāļāļāļāļĄāļīāļāļīāļāļāļāđāļāļāļāļēāļāļāļāļāļĩāđāđāļāļĢāļąāļāļāļēāļĢāļŠāļ
āļāļāļ āđāļ 1 āļŠāđ āļēāļŦāļĢāļąāļāļĄāļīāļāļīāļāļĩāđ 1, 2 āļŠāđ āļēāļŦāļĢāļąāļāļĄāļīāļāļīāļāļĩāđ 2 āđāļĨāļ°āļāļāđāļ āļāļēāļĨāļ° dimension āļāļ°āļāđ āļēāļŦāļāļāļāļēāđāļāļ 1
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļāļāļāļąāļ UBound āļāļ°āđāļāļāļēāļāļĢāļ§āļĄāļāļąāļāļāļāļāļāļąāļ LBound āđāļāļ·āđāļāļāļāļŦāļēāļāļāļēāļāļāļāļ array āđāļāļĒāļāļāļāļāļąāļ LBound āđāļāļāļāļŦāļēāļāļāļāđāļāļāļāļēāļāļĨāļēāļāļāļāļ arrayāļāļāļāļāļąāļ UBound āļŠāļāļāļāļāļāļēāļāļēāļĄāļāļēāļĢāļēāļāļāļĩāđāļŠāđ āļēāļŦāļĢāļąāļ array āļāļąāļ§āļāļĒāļēāļ
DIM A (1 To 100, 0 To 3, -3 To 4)
āļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ āļāļēāļŠāļāļāļāļLBound(A, 1) 100LBound(A, 2) 3LBound(A, 3) -4
widebase.net âVBA References
145
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄDim Statement, āļāļāļāļāļąāļ LBound, Option Base Statement, Private Statement, Public Statement,ReDim Statement, Static Statement
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ UBound āļāļāļŦāļēāļāļēāļāļāļĒāļāļĩāđāļŠāļļāļāļŠāđ āļēāļŦāļĢāļąāļāļāļēāļĢāļĢāļ°āļāļļāļĄāļīāļāļīāļāļāļ array āđāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Option Base āđāļāļĩāļĒāļāļāļąāļāļāļēāļāļēāļāđāļĢāļīāđāļĄāļāļāļāļāļ array āđāļŦāļĄāļĩāļāļēāđāļāļāļĻāļđāļāļĒ
Dim LowerDim MyArray(1 To 10, 5 To 15, 10 To 20)Dim AnyArrya(10)Lower = LBound(MyArray, 1) ' āļŠāļāļāļāļāļāļē 10Lower = LBound(MyArray, 3) ' āļŠāļāļāļāļāļāļē 20Lower = LBound(AnyArray) ' āļŠāļāļāļāļāļāļē 10
āļāļąāļ§āļāļĒāļēāļāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļ Excelāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļĩāļĒāļ element āļāļāļāļĢāļēāļĒāļāļēāļĢāļāļĩāđāđāļāļēāļ°āļāļāđāļāļāļāļĨāļąāļĄāļāđāļĢāļāļāļ Sheet1
listArray = Application.GetCustomListContents(1)For i = LBound(listArray, 1) To Ubound(listArray, 1)
Worksheets("Sheet1").Cells(i, 1).Value = listArray(i)Next i
UCase function, UCase$ functionāļāļāļāļāļąāļ UCase āļāļēāļŠāļāļāļāļāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (String) āļāļĩāđāđāļāļĨāļāđāļāļāļāļąāļāļĐāļĢāļāļąāļ§āđāļŦāļāļāļāļāļāļąāļ UCase$ āļāļēāļŠāļāļāļāļāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ String āļāļĩāđāđāļāļĨāļāđāļāļāļāļąāļāļĐāļĢāļāļąāļ§āđāļŦāļ
āđāļ§āļĒāļēāļāļĢāļUCase(string)UCase$(string)āļāļēāļāļīāļ§āđāļĄāļāļ string āļāļĩāđāļāļāļāļāļēāļĢāđāļāļ Expression āļāļĩāđāđāļāļāļāļĢāļīāļ āļāļē string āđāļāļāļāļēāļ§āļēāļ (Null) āļāļĨāļĨāļąāļāļāļāļ°āđāļāļ
āļāļēāļ§āļēāļāļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļ°āđāļāļĨāļĩāđāļĒāļāđāļāļāļēāļ°āļāļąāļāļĐāļĢāļāļąāļ§āđāļĨāđāļāđāļŦāđāļāļāļāļąāļāļĐāļĢāļāļąāļ§āđāļŦāļ āđāļāļĒāļāļąāļāļĐāļĢāļāļąāļ§āđāļŦāļāđāļĨāļ°āļāļēāļāļĢāļ°āđāļ āļāļāļ·āđāļāļāļ°āđāļĄāļĄāļĩāļāļēāļĢāđāļāļĨāļĩāđāļĒāļāđāļāļĨāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ LCase, āļāļāļāļāļąāļ LCase$
āļāļąāļ§āļāļĒāļēāļāļāļāļāļāļąāļ UCase āļāđ āļēāļĄāļēāđāļāđāļāļāļēāļĢāđāļāļĨāļāļāļąāļ§āļāļąāļāļĐāļĢāđāļŦāđāļāļāļāļąāļāļĐāļĢāļāļąāļ§āđāļŦāļ
Dim UpperCase, LowerCase
widebase.net âVBA References
146
LowerCase = "Hello World 2000"UpperCase = UCase(LowerCase) ' āļāļĨāļĨāļąāļāļ UpperCase = "HELLO WORLD 2000"
Unload StatementāļĒāļāđāļĨāļīāļāļāļāļāđāļāļāļāļēāļāļŦāļāļ§āļĒāļāļ§āļēāļĄāļāđ āļē
āđāļ§āļĒāļēāļāļĢāļUnload objectobject āđāļāļāļŠāļ§āļāļāļąāļāļāļąāļāļāļĩāđāđāļŠāļāļ object expression āļāļĩāđāļāļĢāļ°āđāļĄāļīāļāļāļāļāđāļāļāđāļ Apply To list
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļĄāļ·āđāļ Unload āļāļāļāđāļāļ āļāļ°āļĄāļĩāļāļēāļĢāļĒāļāđāļĨāļīāļāļāļēāļāļŦāļāļ§āļĒāļāļ§āļēāļĄāļāđ āļē āđāļĨāļ°āļŦāļāļ§āļĒāļāļ§āļēāļĄāļāđ āļēāļāļĩāđ āđāļāļĩāđāļĒāļ§āļāļāļāļāļąāļāļāļāļāđāļāļ āļāļąāđāļāđāļāļāļāļāđāļāļāđāļāļĢāļąāļāļāļēāļĢāļ§āļēāļāđāļāļŦāļāļ§āļĒāļāļ§āļēāļĄāļāđ āļēāļāļ§āļĒāļāļēāļĢāđāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Load āļāļđāđāļāđāļĄāļŠāļēāļĄāļēāļĢāļāļāļīāļāļāļāļāļąāļāļāļāļāđāļāļ āđāļĨāļ°āļāļāļāđāļāļāđāļĄāļŠāļēāļĄāļēāļĢāļāļāļ§āļāļāļļāļĄāļāļ§āļĒāđāļāļĢāđāļāļĢāļĄ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄActive Events, Deactivate Events, āđāļĄāļāļāļ Hide, Load Statement
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļ āļŠāļĄāļĄāļāļīāđāļŦ userForms 2 āļāļāļĢāļĄāđāļāđāļāļĢāđāļāļĢāļĄ āđāļ Initialise event āļāļāļ UserForm 1 āđāļŦāđāļŦāļĨāļāđāļĨāļ°āđāļŠāļāļ UserForm2 āđāļĄāļ·āđāļāļāļđāđāļāļāļĨāļīāļ UserForm 2 āđāļŦāļĒāļāđāļĨāļīāļāļāļāļĢāļĄ UserForm2 āđāļĄāļ·āđāļ UserForm1 āļāļĢāļēāļāļāļāļķāđāļ āđāļĨāļ°āđāļāļĢāļąāļāļāļēāļĢāļāļĨāļīāļ āđāļŦāļĒāļāđāļĨāļīāļāļāļāļĢāļĄ UserForm1
' Initialize event procedure āļŠāđ āļēāļŦāļĢāļąāļ UserForm1Private Sub Form_Initialize() Load UserForm2 UserForm2.ShowEnd Sub
' Click event āļāļāļ UserForm2Private Sub Form_Click() UserForm2.HideEnd Sub
' Click event āļāļāļ UserForm1Private Sub Form_Click() UserForm2.ShowEnd Sub
Unlock Statementāļāļđ Lock Statement
widebase.net âVBA References
147
Val FunctionāļāļēāļāļĩāđāļŠāļāļāļāļāđāļāļāļāļąāļ§āđāļĨāļāļāļĩāđāļĄāļēāļāļēāļāļāļāļāļ§āļēāļĄāļāļĩāđāđāļŠāļāļāļāļēāļāļ§āļĒāļāļąāļ§āđāļĨāļāđāļŦāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāļāļĩāđāđāļŦāļĄāļēāļ°āļŠāļĄ
āđāļ§āļĒāļēāļāļĢāļVal(string)āļāļēāļāļīāļ§āđāļĄāļāļ string āđāļāļ expression āļāļĩāđāļĄāļĩāļāļēāļāļĢāļīāļ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļāļāļāļąāļ Val āļāļ°āļŦāļĒāļļāļāļāļāļāļ§āļēāļĄāđāļĄāļ·āđāļāļāļąāļ§āļāļąāļāļĐāļĢāļāļĩāđāđāļĄāđāļāļāļąāļ§āđāļĨāļāđāļĨāļ°āļŠāļāļāļēāđāļāļēāļāļĩāđāļāļēāļāđāļ āļāļāļāļāļēāļāļāļĩāđāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļĩāđāđāļāļĩāđāļĒāļ§āļāļąāļāļāļąāļ§āđāļĨāļāļāļēāļāđ āđāļāļ āļāļļāļĨāļ āļēāļ āđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļāļĨāļĨāļēāļĢ āļāļ°āđāļĄāļĢāļąāļāļāļĢāļēāļāđāļāļāļēāļāļ°āļāļĩāđāđāļāļāļāļąāļ§āđāļĨāļ āđāļāļāļāļāļāļąāļ Val āļŠāļēāļĄāļēāļĢāļāđāļāļĢāļāļ§āļēāļĄāļŦāļĄāļēāļĒāļāļāļāļāļąāļ§āļāđ āļēāļŦāļāļēāđāļĨāļāļāļēāļ āđāļāļ &O (āđāļĨāļāļāļēāļāđāļāļ) āđāļĨāļ° &H (āđāļĨāļāļāļēāļāļŠāļīāļāļŦāļ) āļŠāļ§āļāļāļāļāļ§āļēāļāļ āļēāļĒāđāļāļāļāļāļ§āļēāļĄāļāļ°āļāļđāļāļāļāļąāļāļāļāļāđāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Str
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ Val āđāļāļāļēāļĢāļŠāļāļāļēāļāļąāļ§āđāļĨāļāļāļēāļāļāļāļāļ§āļēāļĄ
Dim MyValueMyValue = Val("2457") ' āļŠāļāļāļāļāļāļē 2457MyValue = Val(" 2 45 7") ' āļŠāļāļāļāļāļāļē 2457MyValue = Val("24 and 57") ' āļŠāļāļāļāļāļāļē 24
VarType FunctionāļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Integer āļāļĩāđāđāļŠāļāļāļāļĢāļ°āđāļ āļāļĒāļāļĒāļāļāļāļāļąāļ§āđāļāļĢ
āđāļ§āļĒāļēāļāļĢāļTypeName(varname)āļāļēāļāļīāļ§āđāļĄāļāļ varname āļāļāļāļāļēāļĢāļāļēāļāļąāļ§āđāļāļĢāđāļāđāļĒāļāđāļ§āļ āļāļąāļ§āđāļāļĢāļāļĩāđāļāļđāđāļāļāđ āļēāļŦāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāđāļāđ
āļāļēāļŠāļāļāļāļāļāļēāļāļāļāļĩāđ āļāļē āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļvbEmpty 0 Empty (āļĒāļąāļāđāļĄāđāļāļāđ āļēāļŦāļāļāļāļē)vbNull 1 Null (āļāļēāļ§āļēāļ)vbInteger 2 Integer (āļāđ āļēāļāļ§āļāđāļāđāļĄ)vbLong 3 Long integer (āļāđ āļēāļāļ§āļāđāļāđāļĄāđāļāļ Long)vbSingle 4 Single-precision floating-point number (āļāđ āļēāļāļ§āļāļāļĢāļīāļāđāļāļ Single)
widebase.net âVBA References
148
āļāļēāļāļāļāļĩāđ āļāļē āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļvbDouble 5 Double-precision floating-point number (āļāđ āļēāļāļ§āļāļāļĢāļīāļāđāļāļ Double)vbCurrency 6 Currency value (āļāļēāļāļēāļĢāđāļāļīāļ)vbDate 7 Date value (āļāļēāļ§āļąāļāļāļĩāđ)vbString 8 String (āļāļāļāļ§āļēāļĄ)vbObject 9 Object (āļāļāļāđāļāļ)vbError 10 Error value (āļāļēāļāļīāļāļāļĨāļēāļ)vbBoolean 11 Boolean value (āļāļēāļāļīāļāļāļĨāļēāļ)vbVariant 12 Variant (āđāļāđāļāļāļēāļ° array āļāļĩāđāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāđāļāļ Variant)vbDataObject 13 āļāļāļāđāļāļāļāļāļ data accessvbDecimal 14 Decimal value (āļāļēāļāļĻāļāļīāļĒāļĄ)vbByte 17 Byte value (āļāļēāđāļāļ)vbUserDefinedType 36 Variants āļāļĩāđāļāļđāđāļāļāđ āļēāļŦāļāļāļāļĢāļ°āđāļ āļāđāļāļvbArray 8192 Array
āļāļāļāļāļąāļ VarType āđāļĄāļŠāļāļāļāļāļāļēāđāļāļ array āđāļāļĒāļāļĢāļ āđāļāđāļāļāļēāļĢāđāļāļīāđāļĄāļāļēāļāļēāļāļāļēāđāļāļ·āđāļāļāđāļĩāļāļķāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāļāļāļ array āļāļēāļāļāļāļĩāđāļāļāļ vbVariant āđāļāļāļāļēāļĢāđāļŠāļāļāļāļēāļĢāļ§āļĄāļāļąāļ vbArray āđāļāļ·āđāļāļāļĩāđāļāļķāļāļāļēāļāļīāļ§āđāļĄāļāļāļāļāļāļāļāļāļāļąāļ VarType āļāļĩāđāđāļāļ array āļāļĩāđāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāđāļāļ Variant āđāļāļ āļāļēāļāļĩāđāļŠāļāļāļāļāļĄāļēāđāļāļ array āļāļāļāļāđ āļēāļāļ§āļāđāļāđāļĄāļāļ°āļāđ āļēāļāļ§āļāđāļāļ vbInteger + vbArray (8192 + 2 = 8194) āļāļēāļāļāļāđāļāļāļĄāļĩāļāļļāļāļŠāļĄāļāļąāļāļīāļāļēāļĄāļāļēāđāļĢāļīāđāļĄāļāļ āļāļāļāļāļąāļ VarType āļŠāļāļāļāļāļāļēāđāļāļāļāļĢāļ°āđāļ āļāļāļāļāļāļāļāđāļāļāļāļēāļĄāļāļēāļāļļāļāļŠāļĄāļāļąāļāļīāļāļēāļĄāļāļēāđāļĢāļīāđāļĄāļāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ IsArray, āļāļāļāļāļąāļ IsDate, āļāļāļāļāļąāļ IsEmpty, āļāļāļāļāļąāļ IsError, āļāļāļāļāļąāļ IsMissing, āļāļāļāļāļąāļ IsNull,āļāļāļāļāļąāļ IsNumeric, āļāļāļāļāļąāļ IsObject, āļāļāļāļāļąāļ TypeName, āļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļāļāļāļąāļ VarType āđāļāļāļēāļĢāļŦāļēāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāļĒāļāļĒāļāļāļāļāļąāļ§āđāļāļĢ
Dim IntVar, StrVar, DateVar, MyCheckIntVar = 459: StrVar = "Hello World": DateVar = #2/12/69# ' āļāļēāļĢāļāļąāļāđāļāļēāđāļĢāļīāđāļāļāļāļāļāļāļāļąāļ§āđāļāļĢMyCheck = VarType(IntVar) ' āļŠāļāļāļāļāļāļēāđāļāļ 2MyCheck = VarType(DateVar) ' āļŠāļāļāļāļāļāļēāđāļāļ 7MyCheck = VarType(StrVar) ' āļŠāļāļāļāļāļāļēāđāļāļ 8
widebase.net âVBA References
149
Weekday FunctionāļāļēāļāļĩāđāļŠāļāļāļāļāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (Integer) āļāļĩāđāđāļāļāļāļēāļāļąāļ§āđāļĨāļāļāļĩāđāđāļāđāļāļāļ§āļąāļāđāļāļŠāļąāļāļāļēāļŦ
āđāļ§āļĒāļēāļāļĢāļWeekDay(date, [firstdayofweek])āļāļēāļāļīāļ§āđāļĄāļāļāļāļāļāļāļāļāļāļąāļ Weekday āļĄāļĩāļāļ§āļēāļĄāļŦāļĄāļēāļĒ āļāļ·āļ
āļŠāļ§āļ āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļdate āļāļąāļāļāļąāļ, āđāļāļ Expression āđāļāļ String, āļāļąāļ§āđāļĨāļ āļŦāļĢāļ·āļāđāļāļāļāļŠāļĄ āļāļĩāđāđāļŠāļāļāļĢāļđāļāđāļāļāļāļāļāļ§āļąāļāļāļĩāđ āļāļē
date āđāļāļāļāļēāļ§āļēāļ (Null) āļāļĨāļĨāļąāļāļāļāļ°āđāļāļāļāļēāļ§āļēāļfirstdayofweek āđāļĄāļāļąāļāļāļąāļ,āđāļāļāļāļēāļāļāļāļĩāđāđāļāļ·āđāļāļĢāļ°āļāļļāļ§āļąāļāđāļĢāļāļāļāļāļŠāļąāļāļāļēāļŦ āļāļēāđāļĄāļāđ āļēāļŦāļāļ āļāļ°āđāļāļ§āļąāļāļāļēāļāļīāļāļĒāđāļāļāļ§āļąāļāđāļĢāļ
āļāļāļāļŠāļąāļāļāļēāļŦ
āļāļēāļĢāļāļąāđāļāļāļēāļāļēāļāļēāļāļīāļ§āđāļĄāļāļ firstdayofweek āļāđ āļēāļŦāļāļāļāļēāđāļāđāļāļ
āļāļēāļāļāļāļĩāđ āļāļē āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļvbUseSystem 0 āļāļąāđāļāļāļēāļāļēāļĄ NLS APIvbSunday 1 āļ§āļąāļāļāļēāļāļīāļāļĒ (āļāļēāđāļĢāļīāđāļĄāļāļ)vbMonday 2 āļ§āļąāļāļāļąāļāļāļĢvbTuesday 3 āļ§āļąāļāļāļąāļāļāļēāļĢvbWednesday 4 āļ§āļąāļāļāļļāļvbThursday 5 āļ§āļąāļāļāļĪāļŦāļąāļŠāļāļāļĩvbFriday 6 āļ§āļąāļāļĻāļļāļāļĢvbSaturday 7 āļ§āļąāļāđāļŠāļēāļĢ
āļāļēāļŠāļāļāļāļāļāļēāļāļāļāļĩāđ āļāļē āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļvbSunday 1 āļ§āļąāļāļāļēāļāļīāļāļĒ (āļāļēāđāļĢāļīāđāļĄāļāļ)vbMonday 2 āļ§āļąāļāļāļąāļāļāļĢvbTuesday 3 āļ§āļąāļāļāļąāļāļāļēāļĢvbWednesday 4 āļ§āļąāļāļāļļāļvbThursday 5 āļ§āļąāļāļāļĪāļŦāļąāļŠāļāļāļĩvbFriday 6 āļ§āļąāļāļĻāļļāļāļĢvbSaturday 7 āļ§āļąāļāđāļŠāļēāļĢ
widebase.net âVBA References
150
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Date, āļāļāļāļāļąāļ Day, āļāļāļāļāļąāļ Month, āļāļāļāļāļąāļ Now, āļāļāļāļāļąāļ Year
āļāļąāļ§āļāļĒāļēāļDim myDate, myWeekmyDate = # January 15, 2000#myWeek = Weekday(myDate) ' āļāļĨāļĨāļąāļāļ myWeek = 7 āđāļāļ·āļāđāļāļāļēāļāđāļāļāļ§āļąāļāđāļŠāļēāļĢ
Width # Statementāļāđ āļēāļŦāļāļāļāļ§āļēāļĄāļāļ§āļēāļāļāļāļāđāļāļ§āļāļĨāļĨāļąāļāļāļāļāļāđāļāļĨāļāļĩāđāđāļāļ āļāļ§āļĒāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Open
āđāļ§āļĒāļēāļāļĢāļWidth # filenumber, widthāđāļ§āļĒāļēāļāļĢāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Width # āļĄāļĩāļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāļŠāļ§āļāļāļąāļāļāļĩāđ
āļŠāļ§āļ āļāđ āļēāļāļāļīāļāļēāļĒfilenumber āļāļąāļāļāļąāļ, āđāļāļāļŦāļĄāļēāļĒāđāļĨāļāđāļāļĨwidth āļāļąāļāļāļąāļ, āđāļāļ numeric expression āđāļāļāļ§āļ 0 â 255 āļāļĩāđāļĢāļ°āļāļļāļ§āļēāļāđ āļēāļāļ§āļāļāļąāļ§āļāļąāļāļĐāļĢāļāļĩāđāđāļŠāļāļāļāļ
āđāļāļ§āļāļāļāđāļĢāļīāđāļĄāļāļ āđāļāļ§āđāļŦāļĄ āļāļē width āđāļāļēāļāļąāļāļĻāļđāļāļĒ āđāļĄāļĄāļĩāļāļāļāđ āļēāļāļąāļāļāļāļ āļāļ§āļēāļĄāļĒāļēāļ§āļāļāļāđāļāļ§ āļāļēāđāļĢāļīāđāļĄāļāļāļŠāđ āļēāļŦāļĢāļąāļ width āļāļ·āļāļĻāļđāļāļĒ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄOpen Statement, Print # Statement
āļāļąāļ§āļāļĒāļēāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Width # āļāļĩāđāļāļąāđāļāļāļēāļāļ§āļēāļĄāļāļ§āļēāļāļāļāļāđāļāļ§āļāļĨāļĨāļąāļāļāļŠāđ āļēāļŦāļĢāļąāļāđāļāļĨ
Dim iOpen "TESTFILE" For Output As #1 ' āđāļāļāļŠāđ āļēāļŦāļĢāļąāļ outputWidth #1, 5 ' āļāļąāļāđāļāļēāļāļ§āļēāļĄāļāļ§āļēāļāļāļĢāļĢāļāļąāļāđāļāļ 5For i = 0 To 9 ' loop 10 āļĢāļāļ Print #1, Chr(48 + i); ' āļāļĄāļīāļ 5 āļāļąāļ§āļāļąāļāļĐāļĢāļāļāļāļĢāļĢāļāļąāļNext i
Close #1 ' āļāļāđāļāļĨ
Write # Statement āđāļāļĩāļĒāļāļāļāļĄāļđāļĨāđāļāļāļĩāđāđāļāļĨ Sequential
āđāļ§āļĒāļēāļāļĢāļWrite # filenumber, [outputlist]
widebase.net âVBA References
151
āđāļ§āļĒāļēāļāļĢāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ Write # āļĄāļĩāļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāļŠāļ§āļāļāļąāļāļāļĩāđ
āļŠāļ§āļ āļāđ āļēāļāļāļīāļāļēāļĒfilenumber āļāļąāļāļāļąāļ, āđāļāļāļŦāļĄāļēāļĒāđāļĨāļāđāļāļĨoutputlist āđāļĄāļāļąāļāļāļąāļ, āđāļāļ 1 expression āļŦāļĢāļ·āļāļĄāļēāļāļāļ§āļē āļāļĩāđāđāļāļāļāļ§āļĒāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļļāļĨāļ āļēāļ āļāļāļ
expression āļāļąāļ§āđāļĨāļ āļŦāļĢāļ·āļāļāļāļāļ§āļēāļĄ
āļĨāļąāļāļĐāļāļ°āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāļāļāļĄāļđāļĨāļāļĩāđāđāļāļĩāļĒāļāļāļ§āļĒ Write # āļĄāļąāļāļāļ°āļāļēāļāļāļēāļāđāļāļĨāļāļ§āļĒ Input #āļāļēāļĨāļ° outputlist āđāļĨāļ°āļĢāļ§āļĄāđāļāļāļēāļ°āļĢāļēāļĒāļāļēāļĢāļāļĩāđāđāļĒāļāļŦāļĨāļąāļ filenumber āđāļĨāļ°āļāļĢāļĢāļāļąāļāļ§āļēāļāđāļāļĢāļąāļāļāļēāļĢāļāļīāļĄāļāđāļāļāļĩāđāđāļāļĨ āļŦāļĨāļēāļĒ expression āļŠāļēāļĄāļēāļĢāļāđāļĒāļāļāļ§āļĒāļāļāļāļ§āļēāļ āļŦāļĢāļ·āļ semicolon āļāļāļāļ§āļēāļāļĄāļĩāļāļĨāđāļŦāļĄāļ·āļāļāļāļąāļ semicolonāđāļĄāļ·āđāļāđāļ Write # āđāļāļĩāļĒāļāļāļāļĄāļđāļĨāđāļāļāļĩāđāđāļāļĨ āļĄāļĩāļŦāļĨāļēāļĒāļāļāļŠāļĄāļĄāļāļīāļŠāļēāļāļĨ āđāļāļ·āđāļāļāđ āļēāđāļŦāļāļāļĄāļđāļĨāđāļāļĢāļąāļāļāļēāļĢāļāļēāļ āđāļĨāļ°āđāļāļĨāļāļĒāļēāļāļāļđāļāļāļāļ āļāļ§āļĒāļāļēāļĢāđāļ Input # āđāļāļĒāđāļĄāļāļīāļāļēāļĢāļāļē locale- āļāļāļĄāļđāļĨāļāļąāļ§āđāļĨāļ āđāļāļĩāļĒāļāļāļ§āļĒāļāļļāļ āđāļāļāļēāļāļ°āļāļąāļ§āđāļāļāļāļĻāļāļīāļĒāļĄ- āļŠāđ āļēāļŦāļĢāļąāļāļāļāļĄāļđāļĨ Boolean āļāļąāđāļ True āđāļĨāļ° False āđāļāļĢāļąāļāļāļēāļĢāļāļīāļĄāļ āļāļĩāļĒāđāļ§āļīāļĢāļ True āđāļĨāļ° False āđāļĄāļĄāļĩāļāļēāļĢāđāļāļĨ- āļāļāļĄāļđāļĨ Date āđāļāļĢāļąāļāļāļēāļĢāđāļāļĩāļĒāļāļāļ§āļĒāļāļēāļĢāđāļāļĢāļđāļāđāļāļāļĄāļēāļāļĢāļāļēāļ short date āļāļĩāđāļĢāļ°āļāļāļāļāļāđāļāļĢāļ·āđāļāļāļāļĩāđāđāļāļĢāļđāļāļąāļ āđāļĄāļ·āđāļāļŠāļ§āļ
āļ§āļąāļāļāļĩāđāļŦāļĢāļ·āļāđāļ§āļĨāļēāļŦāļēāļĒāđāļāļŦāļĢāļ·āļāđāļāļāļĻāļđāļāļĒ āļŠāļ§āļāļāļĩāđāļĄāļĩāļāļĒāļđāļāļ°āđāļāļĢāļąāļāļāļēāļĢāđāļāļĩāļĒāļāļĨāļāļŠāļđāđāļāļĨ- āđāļĄāļĄāļĩāļāļēāļĢāđāļāļĩāļĒāļāļāļāļĄāļđāļĨāļĨāļāļŠāļđāđāļāļĨ āļāļēāļāļāļĄāļđāļĨāļāļāļ outputlist āļ§āļēāļāđāļāļĨāļē āđāļāļāļēāļāļāļĄāļđāļĨāļāļāļ outputlist āđāļāļ Null āļāļē
Null āļāļ°āđāļāļĢāļąāļāļāļēāļĢāđāļāļĩāļĒāļāļĨāļāļŠāļđāđāļāļĨ- āļŠāđ āļēāļŦāļĢāļąāļāļāļāļĄāļđāļĨ Error āļāļĩāđāļĄāļĩāļāļĨāļĨāļąāļāļāļāļĢāļēāļāļāđāļāļāļĢāļŦāļąāļŠāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļ āļāļĩāļĒāđāļ§āļīāļĢāļ Error āļāļ°āđāļĄāļĄāļĩāļāļēāļĢāđāļāļĨWrite # āđāļāļāļāļēāļāļāļēāļ Print # āļāļ·āļ āļāļēāļĢāđāļāļĢāļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļļāļĨāļ āļēāļ āđāļāļāļāļāļĄāļđāļĨ āđāļĨāļ°āđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāđ āļēāļāļđāļāđāļāļāļąāļāļāļāļāļ§āļēāļĄ āđāļĄāļ·āđāļāđāļāļĩāļĒāļāļĨāļāļŠāļđāđāļāļĨ āđāļĄāļāļāļāļĄāļĩāļāļēāļĢāļĢāļ°āļāļļāļāļąāļ§āđāļāļāļĢāļēāļĒāļāļēāļĢ Write # āđāļāļĢāļāļāļąāļ§āļāļąāļāļĐāļĢāļāļĢāļĢāļāļąāļāđāļŦāļĄ āļāļ·āļ carriage return â linefeed (Chr(13) + Chr(10)) āļŦāļĨāļąāļāļāļēāļāļāļēāļĢāđāļāļĩāļĒāļāļāļąāļ§āļāļąāļāļĐāļĢāļŠāļļāļāļāļēāļĒāđāļ outputlist āđāļāļāļĩāđāđāļāļĨ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄInput # Statement, Open Statement, Print # Statement
āļāļąāļ§āļāļĒāļēāļ
' āļāļ§āļąāļāļĒāļēāļāļāļēāļĢāđāļāļāļĢāļ°āđāļĒāļāļāđ āļēāļŠāđāļąāļ WriteOpen "TESTFILE" For Output As #1 ' āđāļāļāđāļāļĨāļŠāđ āļēāļŦāļĢāļąāļāļāļĨāļĨāļąāļāļWrite #1, "Hello World", 234 ' āđāļāļĒāļĩāļāļāļāļĄāļĨāļđāļāļ§āļĒāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļļāļĨāļ āļēāļWrite #1, ' āļāļĄāļīāļāđāļāļ§āļ§āļēāļāđāļāđāļāļĨ
' āļāđ āļēāļŦāļāļāļāļē boolean, date, null āđāļĨāļ° errorDim MyBool, MyDate, MyNull, MyErrorMyBool = False: MyDate = #February 12, 2002#: MyNull = NullMyError = CVErr(32767)' āļāļāļĄāļĨāļđ Boolean āđāļāļĢāļąāļāļāļēāļĢāđāļāļĩāļĒāļāđāļāļ #TRUE# āļŦāļĢāļ·āļ #FALSE#' Date āļāļ°āđāļāļĢāļāļąāļāļēāļĢāļāļ§āļĒāļĢāļāļđāđāļāļ āļŠāļēāļāļĨ āđāļāļ #1994-07-13# āđāļŠāļāļāļ§āļąāļāļāđāļĩ 13 āļāļĢāļāļāļēāļāļĄ 2537' āļāļāļĄāļĨāļđ Error āđāļāļĢāļąāļāļāļēāļĢāđāļāļĩāļĒāļāđāļāļ #Error āļĢāļŦāļąāļŠāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļ#Write #1, MyBool; " is a boolean value"
widebase.net âVBA References
152
Write #1, MyDate; " is a date"Write #1, MyNull; " is a null value"Write #1, MyError; " is an error value"Close #1 ' āļāļāđāļāļĨ
Year FunctionāļāļēāļāļĩāđāļŠāļāļāļāļāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨ Variant (Integer) āļāļēāļāļŠāļ§āļāļāļāļāļāļ§āļąāļāļāļĩāđ
āđāļ§āļĒāļēāļāļĢāļYear(date)āļāļēāļāļīāļ§āđāļĄāļāļ date āļŠāļēāļĄāļēāļĢāļāđāļāļāļāļĢāļ°āđāļ āļāļāļāļĄāļđāļĨāļāļāļāļ§āļēāļĄ (String) āļāļąāļ§āđāļĨāļ āļŦāļĢāļ·āļ Expression āļāļĩāđāđāļŠāļāļāđāļāļĢāļđāļ
āđāļāļāļāļāļāļ§āļąāļāļāļĩāđ āļāļē date āđāļāļāļāļēāļ§āļēāļ (Null) āļāļĨāļĨāļąāļāļāļāļ°āđāļāļāļāļēāļ§āļēāļ
āļāļđāđāļāđāļīāļĄāđāļāļīāļĄāļāļāļāļāļąāļ Date, āļāļāļāļāļąāļ Day, āļāļāļāļāļąāļ Now, āļāļāļāļāļąāļ Month, āļāļāļāļāļąāļ Weekday
āļāļąāļ§āļāļĒāļēāļāļāļāļāļāļąāļ Year āļāđ āļēāļĄāļēāđāļāđāļāļāļēāļĢāđāļāļĨāļāļāļāļāļ§āļēāļĄāđāļāļĢāļđāļāđāļāļāļ§āļąāļāļāļĩāđ āđāļŦāđāļāļāļāļēāļāļāļāļDim myDate, myYearmyDate = #June 12, 1968#myYear = Year(myDate) ' āļāļĨāļĨāļąāļāļ myYear =1968