| ' vim: filetype=vb shiftwidth=4 expandtab |
| ' |
| ' START_INDENT |
| Public Type GEmployeeRecord ' Create user-defined type. |
| ID As Integer ' Define elements of data type. |
| Name As String * 20 |
| Address As String * 30 |
| Phone As Long |
| HireDate As Date |
| End Type |
| |
| Public Enum InterfaceColors |
| icMistyRose = &HE1E4FF& |
| icSlateGray = &H908070& |
| icDodgerBlue = &HFF901E& |
| icDeepSkyBlue = &HFFBF00& |
| icSpringGreen = &H7FFF00& |
| icForestGreen = &H228B22& |
| icGoldenrod = &H20A5DA& |
| icFirebrick = &H2222B2& |
| End Enum |
| |
| Enum SecurityLevel |
| IllegalEntry = -1 |
| SecurityLevel1 = 0 |
| SecurityLevel2 = 1 |
| End Enum |
| |
| Public Function TestConditional (number As Integer, ext As String) As Boolean |
| Dim inRange As Boolean |
| |
| Select Case number |
| Case <= 0 |
| inRange = False |
| Case > 10 |
| inRange = False |
| Case Else |
| inRange = True |
| End Select |
| |
| ' This is a special case identified in the indent script. |
| Select Case number |
| End Select |
| |
| If ext = ".xlm" Then |
| If inRange Then |
| TestConditional = True |
| Else |
| TestConditional = False |
| End If |
| ElseIf ext = ".xlsx" Then |
| If inRange Then |
| TestConditional = False |
| Else |
| TestConditional = True |
| End If |
| Else |
| TestConditional = False |
| End If |
| End Function |
| |
| Private Sub TestIterators (lLimit As Integer, uLimit As Integer) |
| Dim a() As Variant |
| Dim elmt As Variant |
| Dim found As Boolean |
| Dim indx As Integer |
| Const specialValue As Integer = 5 |
| |
| If uLimit < lLimit Then |
| Exit Sub |
| End If |
| |
| ReDim a(lLimit To uLimit) |
| For indx=lLimit To Ulimit |
| a(indx) = 2 * indx |
| Next indx |
| |
| found = False |
| For Each elmt in a |
| If elmt = specialValue Then |
| found = True |
| End If |
| Next elmt |
| |
| If found then |
| indx = uLimit |
| Do While indx >= lLimit |
| indx = indx - 1 |
| Loop |
| End If |
| |
| End Sub |
| |
| Public Sub TestMultiline (cellAddr As String, rowNbr As Long) |
| Dim rng As Range |
| |
| Set rng = Range(cellAddr) |
| With rng |
| .Cells(1,1).Value = _ |
| "Line 1 of multiline string; " & _ |
| "Line 2 of multiline string; " & _ |
| "Line 3 of multiline string" |
| End With |
| |
| ' The following lines have whitespace after the underscore character |
| ' and therefore do not form a valid multiline statement. The indent |
| ' script correctly treats them as four single line statements contrary |
| ' to the author's obvious indent. |
| rng..Cells(1,1).Value = _ |
| "Line 1 of multiline string; " & _ |
| "Line 2 of multiline string; " & _ |
| "Line 3 of multiline string" |
| |
| End Sub |
| |
| Private Sub TestStmtLabel() |
| GoTo stmtLabel |
| |
| ' Statement labels are never indented |
| stmtLabel: |
| |
| End Sub |
| |
| Sub TestTypeKeyword() |
| Type EmployeeRecord ' Create user-defined type. |
| ID As Integer ' Define elements of data type. |
| Name As String * 20 |
| Address As String * 30 |
| Phone As Long |
| HireDate As Date |
| End Type |
| Dim varType As EmployeeRecord |
| End Sub |
| ' END_INDENT |