Перейти к основному содержимому

О разделе

Длинные листинги (от ~15 строк) вынесены в каталог code.spirzen.ru и подгружаются в статьях через ExternalCodeEmbed — так HTML энциклопедии не раздувается, а код остаётся с подсветкой, вкладками и сериями "шаг 1…N". Короткие фрагменты (одна строка, пара выражений) по-прежнему прямо в markdown. Диаграммы mermaid и интерактив — на месте или в play.spirzen.ru.

Раздел про Visual Basic — от классического VB 6.0 и VBA в Microsoft Office до VB.NET на платформе .NET.

Для кого: новички (синтаксис, типы, циклы, события), разработчики legacy (WinForms, Access, Excel-макросы), те, кто сопровождает корпоративные Windows-приложения.


С чего начать

ШагМатериалЗачем
1ИсторияVB6 → VB.NET, VBA
2ОсновыSub, Dim, модули
3ТипыПримитивы, String
4Value и referenceStructure и Class
5УправлениеIf, циклы
6Процедуры и событияHandles
7Первая программаVS Community
8Консоль, файлыList(Of T)
9LINQЛямбды, запросы
10VBA в ExcelМакросы в таблицах
11VBScript.vbs, WScript
12VBA Word и AccessДокументы и БД
13СправочникWinForms, VBA

Завершение: Итоги, Чек-лист.


Маршрут VBScript и Office

Сценарии Windows и макросы Office собраны в этом разделе (в базовой информатике — только алгоритмы и обзор языков):

ТемаСтатья
VBScript, WScript, MsgBox, циклыVBScript — сценарии Windows и учебный маршрут — VBScript
VBA ExcelVBA в Microsoft Excel — VBA в Excel
VBA Word, AccessVBA в Word и Access — VBA Word и Access
Алгоритмы и классификация языковбазовая информатика, гл. 4
VB.NET / Visual StudioПервая программа на visual-basic — первая программа

Частые ошибки при старте

ОшибкаЧто делать
Синтаксис VB6 в .NETFile.ReadAllText вместо Open
Option Strict OffВключите On
UI из фонового потокаInvoke / Async

Что попробовать

  1. Первая программа — консоль, затем кнопка WinForms.
  2. VBA: MsgBox и Range("A1").
  3. Чек-лист.

Как работать с разделом, чтобы не "утонуть"

Если читать подряд тяжело, используйте один из трёх маршрутов:

ЦельМаршрут
Быстро написать рабочее приложениеПервая программа на visual-basicУправляющие конструкции и операторы visual-basicПроцедуры и события в visual-basicКонсоль, CLI, коллекции и файлы
Понять архитектуру и различия поколенийИстория языка visual-basicОсновы языка visual-basicАрхитектура приложений на visual-basicЗначимые и ссылочные типы, преобразования
Автоматизировать ExcelVBA в Microsoft ExcelПроцедуры и события в visual-basicСправочник по visual-basic
VBScript и Office (классический курс)VBScript — сценарии Windows и учебный маршрутVBA в Microsoft ExcelVBA в Word и AccessПервая программа на visual-basic

Полезный принцип: каждый блок закреплять мини-практикой, а не только чтением.


Мини-словарь перед стартом

  • CLR — среда выполнения .NET, где исполняется VB.NET-код.
  • WinForms — классический GUI-фреймворк под Windows.
  • COM — старый компонентный механизм, важен для VB6/VBA и Interop.
  • Option Strict — флаг строгости типов в VB.NET.
  • Handles — привязка обработчика к событию элемента UI.

Практика: для нового обучения удобнее VB.NET и Visual Studio Community (консоль или Windows Forms). VB 6.0 — только если нужен исторический контекст или сопровождение старых EXE.

Важно: VB6, VBA и VB.NET — разные ветви одного семейства; синтаксис похож, но среда выполнения, типы и инструменты различаются. В учебных главах по умолчанию имеется в виду VB.NET, если не указано иное.

От BASIC к Visual Basic

BASIC (Beginner's All-purpose Symbolic Instruction Code — "универсальный символьный код инструкций для начинающих") создан 1 мая 1964 года в Дартмутском колледже Джоном Кемени и Томасом Курцем для студентов без специальной математической подготовки: интерактивная работа в режиме разделения времени, простой синтаксис, нумерация строк. Язык опирался на идеи Fortran II и ALGOL 60; первую реализацию (Dartmouth BASIC) изначально компилировали, а не только интерпретировали.

На микрокомпьютерах 1970-х BASIC стал "языком по умолчанию"; Microsoft получила первый коммерческий успех с Altair BASIC (1975). Для IBM PC в ПЗУ шёл ROM BASIC; отдельно продавались BASICA, GW-BASIC, затем QuickBASIC и QBasic — прямые предшественники синтаксиса классического VB.

Visual Basic (1991) связал Basic с графическим интерфейсом Windows: идею визуального конструктора форм и событийной модели разработал Алан Купер; прототип назывался Tripod (иногда Ruby). С VB.NET (2002) язык стал полноценным членом .NET на CLR; обратной совместимости с VB6 нет — миграция через мастер конвертации и ручную доработку.

VB6 / VBAVB.NET
СредаMSVBVM60.DLL, OfficeCLR (.NET Framework / .NET 5+)
ТипизацияVariant, слабееObject + Option Strict
GUIФормы VB6, VBA UserFormWinForms, WPF
ОшибкиOn Error GoToTry…Catch…Finally
ДиалектыVBA (Office), VBScript (Windows, IE, Outlook)тот же синтаксис, другая среда
Статусlegacy, VBA в Officeподдержка платформы; новые возможности языка не развиваются (с 2020)

Сначала: Что такое код и как он работает — общая база — код, блок кода, компиляция и интерпретация, исходный, байт- и машинный код; в этом разделе — синтаксис и особенности языка.

Политика Microsoft (2020)

11 марта 2020 года компания объявила: Visual Basic останется в .NET 5+ и дальше будет поддерживаться, но новые возможности языка добавляться не будут — развитие идёт через платформу .NET и библиотеки, доступные и из VB.NET. Подробнее — в истории.



В подборках

Статья входит в тематические подборки и блок "С чего начать?" на главной. Соседние шаги того же маршрута:

Бэкенд и серверная разработкаPascal — о разделе, Ассемблер — о разделе, Lisp — о разделе, Си — о разделе, Fortran — о разделе, Haskell — о разделе.