🔷 Visual Basic (VB.NET и VBA)
Читаемый синтаксис: типы, условия, циклы, процедуры, коллекции, VBA в Office.
Шпаргалки · Программирование · #visual-basic #vb #vba #dotnet
IDE и запуск
Visual Studio (VB.NET), редактор VBA в Excel / Word (Alt+F11). dotnet new console -lang "VB". Устаревший VB6 больше не развивается.
Типы данных
Dim n As Integer = 5 ' Integer, Long, Short, Byte
Dim x As Double = 1.5 ' Single, Double, Decimal
Dim s As String = "a"
Dim b As Boolean = True
Dim d As Date = #1/1/2026#
Dim o As Object
Dim arr(2) As Integer ' 3 элемента: индексы 0..2
Dim list As New List(Of String)
Строгость: Option Explicit On, Option Strict On.
Операторы
+ - * / \ (целое деление) Mod ^, & (склейка строк), = <> < >, And Or Not AndAlso OrElse, Is, Like.
Условия и циклы
If n > 0 Then
Console.WriteLine("+")
ElseIf n = 0 Then
Console.WriteLine("0")
Else
Console.WriteLine("-")
End If
For i = 1 To 10 Step 2 : Next
For Each x In list : Next
Do While n > 0 : n -= 1 : Loop
Select Case n : Case 1 : Case Else : End Select
Процедуры и функции
Sub Hello(name As String)
Console.WriteLine("Привет, " & name)
End Sub
Function Add(a As Integer, b As Integer) As Integer
Return a + b
End Function
Встроенные
MsgBox / MessageBox.Show, InputBox, Len, Mid, Left, Right, UCase, Trim, InStr, CInt, CStr, IsNumeric, Now, Format, Rnd.
VBA в Excel
Sub FillColumn()
Dim i As Long
For i = 1 To 10
Cells(i, 1).Value = i * 2
Next i
End Sub
Range("A1:A10").Value = 0
Асинхронность (VB.NET)
Async Function LoadAsync() As Task(Of String)
Using http As New HttpClient()
Return Await http.GetStringAsync("https://example.com")
End Using
End Function
Коллекции
List(Of T), Dictionary(Of K, V), Collection (VBA), Scripting.Dictionary (VBA), LINQ: list.Where(Function(x) x > 1).ToList().
Библиотеки
.NET BCL, Windows Forms, WPF, ADO.NET, Office Interop, EPPlus / ClosedXML (Excel), xUnit (тесты).