Visual Basic, or VB, is a third-generation event-driven programming language from Microsoft, based on BASIC. VB is considered to be a very easy to learn programming language, although it's disrespected by many developers because it's said to encourage bad habits. Scripting languages such as VBA and VBScript are syntactically similar to Visual Basic, but perform differently. Many people get mixed up thinking that they are all the same thing but just different names. The final release was version 6 in 1998. Microsoft's extended support ended in March 2008 and the designated successor was Visual Basic .NET. Due to it's integration with Visual Studio it is a suitable language to use for RAD on the Windows Platform.
Hello World[]
Private Sub Form_Load() MsgBox "Hello, World!" End Sub
Exception handling[]
You can throw an exception in VB with err.raise i
, where i would be the error code. Available error codes are:
5: Invalid procedure call or argument 6: Overflow 7: Out of memory 9: Subscript out of range 10: This array is fixed or temporarily locked 11: Division by zero 13: Type mismatch 14: Out of string space 17: Can't perform requested operation 28: Out of stack space 35: Sub or Function not defined 48: Error in loading DLL 51: Internal error 52: Bad file name or number 53: File not found 54: Bad file mode 55: File already open 57: Device I/O error 58: File already exists 61: Disk full 62: Input past end of file 67: Too many files 68: Device unavailable 70: Permission denied 71: Disk not ready 74: Can't rename with different drive 75: Path/File access error 76: Path not found 91: Object variable not set 92: For loop not initialized 94: Invalid use of Null 322: Can't create necessary temporary file 424: Object required 429: ActiveX component can't create object 430: Class doesn't support Automation 432: File name or class name not found during Automation operation 438: Object doesn't support this property or method 440: Automation error 445: Object doesn't support this action 446: Object doesn't support named arguments 447: Object doesn't support current locale setting 448: Named argument not found 449: Argument not optional 450: Wrong number of arguments or invalid property assignment 451: Object not a collection 453: Specified DLL function not found 455: Code resource lock error 457: This key is already associated with an element of this collection 458: Variable uses an Automation type not supported in VBScript 462: The remote server machine does not exist or is unavailable 481: Invalid picture 500: Variable is undefined 501: Illegal assignment 502: Object not safe for scripting 503: Object not safe for initializing 504: Object not safe for creating 505: Invalid or unqualified reference 506: Class not defined 507: An exception occurred 1001: Out of memory 1002: Syntax error 1003: Expected ':' 1005: Expected '(' 1006: Expected ')' 1007: Expected ']' 1010: Expected identifier 1011: Expected '=' 1012: Expected 'If' 1013: Expected 'To' 1014: Expected 'End' 1015: Expected 'Function' 1016: Expected 'Sub' 1017: Expected 'Then' 1018: Expected 'Wend' 1019: Expected 'Loop' 1020: Expected 'Next' 1021: Expected 'Case' 1022: Expected 'Select' 1023: Expected expression 1024: Expected statement 1025: Expected end of statement 1026: Expected integer constant 1027: Expected 'While' or 'Until' 1028: Expected 'While', 'Until' or end of statement 1029: Expected 'With' 1030: Identifier too long 1031: Invalid number 1032: Invalid character 1033: Unterminated string constant 1034: Unterminated comment 1037: Invalid use of 'Me' keyword 1038: 'loop' without 'do' 1039: Invalid 'exit' statement 1040: Invalid 'for' loop control variable 1041: Name redefined 1042: Must be first statement on the line 1043: Cannot assign to non-ByVal argument 1044: Cannot use parentheses when calling a Sub 1045: Expected literal constant 1046: Expected 'In' 1047: Expected 'Class' 1048: Must be defined inside a Class 1049: Expected Let or Set or Get in property declaration 1050: Expected 'Property' 1051: Number of arguments must be consistent across properties specification 1052: Cannot have multiple default property/method in a Class 1053: Class initialize or terminate do not have arguments 1054: Property set or let must have at least one argument 1055: Unexpected 'Next' 1056: 'Default' can be specified only on 'Property' or 'Function' or 'Sub' 1057: 'Default' specification must also specify 'Public' 1058: 'Default' specification can only be on Property Get 4096: Microsoft VBScript compilation error 4097: Microsoft VBScript runtime error 5016: Regular Expression object expected 5017: Syntax error in regular expression 5018: Unexpected quantifier 5019: Expected ']' in regular expression 5020: Expected ')' in regular expression 5021: Invalid range in character set 30000:EN 32766:True 32767:False 32768:OK 32769:Cancel 32770:Help 32811:Element not found 32812:The specified date is not available in the current locale's calendar
Versions[]
Pre .NET[]
Version 6 and below of Visual Basic, like most other programming languages, uses its own framework and compiles to either P Code or assembly. However, it is also extensible, and controls and methods coming from other sources such as independent DLLs and ActiveX can be executed or created.
Visual Basic.NET[]
From version 7 onwards, Visual Basic used the .NET Framework as its framework. Other IDEs bundled with Visual Studio such as C#, C++, and Visual Web Developer, also use this framework, making it a common framework that users only need to have. This makes it easier for developers to deploy complex code without significantly increasing the program size because of the dependency to the .NET Framework. The versions of Visual Basic .NET are:
- Visual Basic 7 (2003)
- Visual Basic 8 (2005)
- Visual Basic 9 (2008)
- Visual Basic 10 (2010, supports .NET Framework 4)