Язык программирования visual basic для чайников. Основы среды программирования. Стандартные функции Бейсика

В 1964 году на свет появился язык BASIC. Он разрабатывался для учебных целей, чтобы студенты вузов с помощью простых алгоритмов изучать программирование. BASIC стал настоящим прорывом в образовании, а в реальной жизни программисты соревновались в создании диалектов. Среди очарованных языком гиков оказался Билл Гейтс. В 13 лет он написал на нем свою первую программу, в 20 - зарабатывал деньги реализацией версии Altair BASIC, разработанной им совместно с Полом Алленом.

В 80-е годы популярность BASIC пошла на спад. Новые языки программирования избавились от сложного синтаксиса, при этом их возможности возросли. И только Microsoft продолжал гнуть свою линию, выпустив сначала еще один бестселлер QBasic, а потом и героя сегодняшнего текста - Visual Basic.

Краткая справка

Первые версии Visual Basic не снискали успеха среди разработчиков. Графический интерфейс, а потом и подсветка синтаксиса являлись едва ли не единственным отличием от QBasic. Microsoft начала вносить значительные перемены лишь с версии 3.0. В комплектации Professional разработчики получили возможность работать с базой данных Access, графические возможности позволяли работать с языком даже не программистам. Кроме того, повысилось быстродействие и упростилась установка ПО.

В 1995 году свет увидел Windows 95, вместе с которым захватывать мировое господство отправился Visual Basic 4.0. Здесь появился полноценный компилятор, возможность создавать 32 и 16-разрядные приложения, увеличилась скорость работы. В 1998 году вышла последняя версия традиционного Visual Basic. Далее компания Microsoft изменила концепцию, пустив развитие языка по двум направлениям: VB на платформе.NET и адаптированные версии для решения локальных задач (VBA, VBScript, eVB).

Visual Basic в наши дни

VB - инструмент для быстрого создания Windows-приложений. После смены концепции язык обрел:

  • поддержку ООП с конструкторами, деструкторами и наследованием;
  • свободную многопоточность;
  • компиляцию в байт-код, исполняемую при помощи CLR;
  • структурную обработку исключений;

Но главное удобство - платформа.NET. Это означает, что теперь разработчики имеют доступ к огромному количеству библиотек платформы для работы с БД, графикой, формами, безопасностью и вебом.

Другим популярным наследником является Visual Basic for Applications (VBA). Это урезанный VB 6.0 для обработки макросов, создания скриптов, который упрощает работу внутри ОС.

В AutoCAD, CorelDraw, SolidWorks и, конечно же, Microsoft Office вы можете экспортировать данные, структурировать информацию, подключать БД. Даже на бытовом уровне вам пригодится умение создавать автозаполняемые формы, вытягивать информацию в один клик из Excel. В работе, не обязательно связанной с программированием, VBA упростит создание технических документов, чертежей и планов.

Литература

Обучение языку лучше начинать с VBA. Во-первых, он проще, во-вторых, целевые продукты вам прекрасно известны, в-третьих, ограничения позволят вам сконцентрироваться на языке. Считается, что для изучения VBA вам понадобится 30 часов. Фактически - не более 15. Можете взять за основу одну из следующих книг:

  • Excel 2013. Профессиональное программирование на VBA , Джон Уокенбах.
  • Решение научных и инженерных задач средствами Excel, VBA и C C++ , Игорь Гайдышев.
  • VBA для “чайников” , Стив Каммингс.
  • Самоучитель VBA , Андрей Гарнаев.
  • Access. Программирование на VBA , подборка статей.

Программировать на Visual Basic .NET сложнее, но и интереснее. Времени и справочных ресурсов потребуется больше.

Прежде чем непосредственно приступить к программированию, надо научиться пользоваться средой предлагаемого к изучению языка. А поскольку она на русском языке, то это не составит большого труда. | Итак, нам предстоит узнать: | где взять русский Бейсик; | как его запустить и начать работу;

  • Как вводить текст программы в окне редактора

    В окне редактора мигает курсор - горизонтальная светящаяся черточка, указывающая, где будет вводиться текст программы при наборе его с клавиатуры. | Если вы заметили, что что-то набрали неправильно, есть несколько путей исправить допущенные ошибки. | Удаление лишних символов.

  • Запуск программы на выполнение. Сохранение и открытие файлов в Бейсике.

    Как же запустить программу? Когда вы написали программу и хотите посмотреть, а что, собственно, из этого получилось, то надо нажать клавишу F5. Программа будет исполнена в случае отсутствия синтаксических ошибок, и тогда вы увидите результаты ее работы и сообщение внизу экрана "Чтобы продолжить, нажмите любую клавишу".

  • Алфавит языка. Переменная и что в ней меняется.

    В любом учебнике иностранного языка вначале дается его алфавит, т. е. набор символов для записи слов, предложений и всевозможных понятий этого языка. У языка Бейсик тоже есть алфавит, который содержит в себе следующие символы:

  • Арифметика в Бейсике

    Прежде чем двигаться дальше ("Как трудно двигаться дальше" - из песни Бориса Гребенщикова), необходимо напомнить, что в те далекие времена, когда только зарождались алгоритмические языки, а словосочетание "персональный компьютер" вызывало у тех, кто его слышал сомнения в здравомыслии его произносившего, так вот, в те самые времена считалось, что компьютер (от англ. compute - вычислять), т. е.

  • Оператор присваивания. Синтаксис оператора присваивания.

    Представьте, что вы разработали алгоритм, продумали, какие в нем будут участвовать переменные, придумали им имена и что же дальше? Как же сообщить компьютеру их значения? Как менять эти значения? Итак, мы знакомимся с первым оператором языка Бейсик - оператором присваивания.

  • Выводим результаты

    Пока мы вводили в компьютер исходные данные, используя оператор присваивания. Другие способы ввода будут рассмотрены в одной из следующих глав. | Сейчас же хочется рассмотреть более важную на первых порах составляющую Бейсика - вывод полученных результатов на экран монитора, а также вывод всякого рода текстовых сообщений. То есть мы знакомимся с могущественным оператором print.

  • Стандартные функции Бейсика

    Пока мы не забыли элементарную арифметику в Бейсике и вывод результатов (надеюсь, у вас это получается, причем в законченной, красивой форме с подсказками), необходимо ознакомиться со стандартными функциями языка Бейсик, чтобы в полной мере ощутить его вычислительные способности.

  • Выводим данные в заданном месте экрана

    Экран компьютера в текстовом режиме представляет собой условную сетку из столбцов и строк. В стандартном режиме таких столбцов 80 (т. е. в строке может разместиться не более 80 символов), а строк 25. | В Бейсике есть оператор, который позволяет управлять выводом данных на экран, что существенно повышает восприятие программ пользователем.

  • Вводим данные. Оператор INPUT.

    Чем хорош Бейсик? Тем, что позволяет писать программы, весьма дружественно настроенные к пользователю, запрашивающие у него свойственные только ему параметры и решающие поставленную задачу для вполне конкретных данных вполне конкретного человека или любого другого объекта.

  • Операторы DATA и READ

    Существует другой способ ввода данных. Он применяется в том случае, если эти данные заранее известны. Тогда мы организуем в программе некое подобие склада (с помощью оператора data), а потом при помощи оператора read последовательно считываем эти данные в запрашиваемые переменные, в которых они хранятся и обрабатываются.

  • Целью современного среднего образования является формирование у учащихся ключевых компетентностей. К ключевым компетентностям относится одно из важнейших умений - умение жить в информационном мире. Для социальной адаптации и профессионального самоопределения современным школьникам необходимы навыки владения персональным компьютером, различными языками программирования, умение создавать проекты в различных средах программирования.

    Данная программа имеет следующие цели:

    1.Дать учащимся понятие о языке программирования Visual Basic.

    2.Ознакомить с составляющими элементами среды программирования Visual Basic.

    3.Дать навыки по созданию проектов в данной среде программирования.

    Данная программа отвечает задачам современного школьного образования, выполняя образовательные, воспитательные и развивающие задачи.

    Основные образовательные задачи данного проекта:

    • Изучить язык программирования Visual Basic.
    • Обучить учащихся работе в среде программирования Visual Basic;
    • Дать базовые навыки по созданию проектов в данной среде программирования;

    Основные воспитательные задачи проекта:

    • Воспитывать у школьников личностные качества, способствующие успешной социальной адаптации: целеустремлённость, объективность в самооценке, ответственность, познавательный интерес.

    Основные развивающие задачи проекта:

    • Формировать у учащихся ключевые компетентности, способствующие успешной социальной адаптации;
    • Развивать стремление к саморазвитию и личностному росту через познавательную деятельность.

    Программа по изучению Visual Basic базируется на последовательной и логичной системе уроков. Система уроков по изучению языка программирования Visual Basic включает в себя шесть уроков, каждый из которых имеет свои цели и задачи и поэтапно решает основную задачу: обучение новому языку программирования Visual Basic.

    Урок №1. Тема: Язык программирования Visual Basic. Загрузка программы Visual Basic 6.0. Знакомство с составляющими элементами данной среды программирования. Просмотр и анализ предложенного проекта.

    Урок №2. Тема: Язык программирования Visual Basic. Создание простейшего проекта в среде Visual Basic.

    Урок №3. Тема: Язык программирования Visual Basic. Создание проектов в данной среде программирования.

    Урок №4. Тема: Язык программирования Visual Basic. Создание проекта для выполнения вычислений совместно с учителем, а затем самостоятельная работа над созданием проекта..

    Урок №5. Тема: Язык программирования Visual Basic. Работа с процедурами и функциями пользователя.

    Урок №6. Тема: Язык программирования Visual Basic.Работа с массивами.

    В данной системе уроков используются различные формы обучения (индивидуальные, групповые), различные методы обучения (теоретический, практический, проектный), различные формы работы (лекция, самостоятельная работа обучающего характера с последующей самопроверкой, фронтальный опрос, создание проекта).

    Данная система уроков предлагается для апробирования в 11-ых классах средней общеобразовательной школы при условии наличия кабинета информатики с персональными компьютерами и инструментальной системой Microsoft Visual Studio Visual Basic 6.0.


    Стив Каммингс - VBA для чайников

    Стив Кяммингс занимается программированием больше 20 лет, используя такие разные языки программирования, как ассемблер, COBOL и C++, а также VBA и Visual Basic. Он автор и соавтор более десятка компьютерных книг, среди которых и книга Секреты Office 97, выпушенная издательством Диалектика. Кроме того, ему принадлежат сотни статей, опубликованных в известных компьютерных журналах, в том числе PC World, Macworld, PC Magazine, PC/Computing и PC Week.

    Посвящение

    Моей бабушке по поводу 97-летия

    Благодарности

    Спасибо всем сотрудникам издательства Hungry Minds, а особенно моим редакторам:

    Джеймсу Расселу (James Russel), который проявил немало внимания и терпения при работе над настоящей книгой, а также Джейд Вильяме (Jade Williams) и Кэлли Оливер (Kelly Oliver).

    Я благодарен компании VCommunications (www.v-com.com) за предоставление таких программных продуктов, как System Commander и Partition Commander. Это замечательные утилиты для настройки работы нескольких операционных систем на одном компьютере, что мне требовалось при работе с beta-версиями Microsoft Office XP. Также спасибо Лизе Роббинс (Lisa Robbins) из компании Waggener Edstrom, подразделения компании Microsoft, за помошь при знакомстве с нюансами новой версии VBA, а также за предоставление пробных версий программных продуктов компании Microsoft, необходимых мне при работе.

    Начинаем...

    Да, это именно та книга, которая необходима для того, чтобы начать освоение VBA (аббревиатура от Visual Basic for Applications, что означает Visual Basic для приложений).

    Благодаря этой книге вы узнаете об основных принципах программирования в VBA и получите необходимые навыки для создания полезных программ. А самое главное, вы сможете сделать это без лишних усилий.

    В книге использовано много примеров, написана она легко и понятно, поскольку, кто знает, сколько скучных томов уже издано в этом мире! Я попытался изложить все самым обычным языком, по возможности исключив из употребления режущий ухо нормального человека специальный жаргон. И с этого момента я начинаю отпускать (иногда не самые лучшие) шуточки, чтобы вам было на что направить свое раздражение.

    С другой стороны, обсуждение рассматриваемых вопросов не слишком упрощено, иначе оно было бы лишено всякой ценности. Если отбросить шутки в сторону, то эта книга- полноценное справочное пособие, охватывающее все основные разделы VBA.

    О чем эта книга

    Вы, наверное, уже знаете, что VBA - это язык программирования, встроенный во множество программ, от приложений Microsoft Office, Microsoft Project, Visio и AutoCAD до многочисленных специализированных приложений, предназначенных для управления производственными процессами, учета финансовых ресурсов или информационной поддержки клиентов.

    В этой книге рассмотрены все существенные аспекты программирования в VBA. Здесь вы найдете достаточно полную информацию по следующим темам:

    * использование преимуществ визуальных средств программирования VBA;

    * запись и редактирование макросов;

    * запуск VBA-программ из других приложений;

    * создание приятных на вид диалоговых окон и других элементов интерфейса;

    * работа с объектами, которая станет ключом к использованию всей силы VBAt приложений.

    В настоящей главе рассмотрены версии VBA с версии 6 по 6.3 (VBA6.3 входит в состав приложений Microsoft Office ХР). Согласно данным компании Microsoft, все версии VBA, начиная с версии 6 и заканчивая версией 6.3, с точки зрения программиста совершенно идентичны.

    Компания Microsoft исправила некоторые ошибки, улучшила производительность, но способы написания программного кода или создания диалоговых окон не изменились. Поэтому, когда я говорю о VBA б, это касается как VBA 6.0 и VBA 6.3, так и всех промежуточных версий.

    Не следовало бы делать предположений...

    Но я все же сделаю. Я предполагаю, что вы не такой уж и чайник, наоборот, думаю, вы должны весьма комфортабельно чувствовать себя в Windows. Поэтому, если вы не знаете, как обращаться с мышью, выбирать из меню и щелкать на кнопках, появляющихся на экране вашего монитора, вам имеет смысл предварительно прочитать одну из книг, выпущенных издательством Диалектика, например Windows для чайников (есть также отдельные издания по Windows 95, Windows 98, Windows Me и Windows 2000). Далее, чтобы использовать VBA, вы должны иметь по крайней мере одно приложение, в которое встроены средства разработки VBA-программ. Среди таких приложений прежде всего следует назвать лидера рынка программ для бизнеса Microsoft Office, за которым следует постоянно растущая группа продуктов, принадлежащих другим производителям. Изо всех многочисленных возможностей подойдет, например, любое из следующих приложений:

    * любое приложение Microsoft Office - Word, Excel, PowerPoint, Access, Outlook или FrontPage;

    * Microsoft Project;

    * CorelDraw версии 9 или 10 и Corel WordPerfect Office 2000;

    * серия графических бизнес-приложений iGrafx от Micrografx;

    * Visio версий 4.5, 5 или 2000;

    * AutoCAD R14, AutoCAD 2000 или AutoCAD 2000i для Windows;

    * TurboCAD Professional;

    * M.Y.O.B. Accounting Software;

    * пакет программ для учета ресурсов Great Plains (некоторые программы из этого пакета понимают VBA);

    * Omni Trader, средства оценки рисков и управления торговыми операциями.

    Разделяй и властвуй

    Теоретические знания и навыки, которые требуются для программирования в VBA, образуют нечто целое, органический симбиоз взаимосвязей, подобный самой жизни... Именно по этой причине мне пришлось разбить предлагаемый материал на пять больших частей, каждая из которых содержит как минимум две главы.

    Часть I. Начальные сведения о VBA

    Начинает книгу только одна унылая глава, посвященная теоретическим вопросам, зато следующие три шустренькие главы разбудят вас и заставят бежать вместе с VBA. Вы научитесь записывать макросы, чтобы не обращаться к программированию там, где это можно и оправданно, запускать свои VBA-программы из других приложений. Вам даже предстоит по ходу дела создать полностью законченную программу, выполняющую определенное практическое задание.

    Редактор Visual Basic является, так сказать, доверенным представителем VBA на экране- здесь вы пишете свои программы, конструируете открываемые этими программами окна и тестируете свои создания, чтобы выяснить причины, по которым они отказываются работать так, как нужно. Об этом я расскажу в первой главе части. Затем я расскажу об использовании переменных. В остальных главах обсуждаются способы контроля того, что происходит при выполнении программы, а также способы выявления и исправления хотя бы части тех ошибок, которые всегда норовят прицепиться к любой программе. Завершим мы материал части II рассмотрением таких вопросов, как создание окон, диалоговых окон и форм, а также приемов программирования, необходимых для этого.

    Часть III. Практикуемся в программировании на VBA

    Эта часть - сердце книги. Здесь, в сотворенных с любовью главах, я открою вам секреты мира VBA. Первая половина глав этой части систематизирует компоненты VBA-программы и раскрывает структуру этих компонентов, чтобы вы всегда точно знали, что и где вам следует печатать. Далее идет практикум по правильному присвоению имен в VBA и приданию презентабельного вида программному коду. Затем следуют главы, рассказывающие о работе с переменными и объектами, что очень важно при настройке таких приложений, как Word, Excel или CorelDraw. В последней главе мы поговорим о обработке данных, представленных в виде массивов и наборов.

    Часть IV. Профессиональная работа с VBA

    В главах этой части вы познакомитесь с приемами программирования, которые применимы практически ко всем приложениям Office, например настройка интерфейса пользователя, программирование помощника по Office и многое другое. Затем мы подробно поговорим о программировании для Word и Excel, а также вопросах, представляющих немалый интерес для VBA-программистов, независимо оттого, с какими приложениями они работают.

    19.08.2010

    В процессе так называемого визуального программирования большая часть кода создается компьютерной программой. Пользователю остается лишь водить мышью по экрану и вписывать значения в отведенные окна. В таком режиме очень сложно научиться программировать «от и до». На ум приходит сравнение из области кулинарии.

    С одной стороны, можно сделать лазанью, используя шаблонный полуфабрикат, с другой - такой подход малопригоден при обучении будущих поваров.

    Впрочем, начинать программировать можно и на Visual Basic. Главное, не отвлекаться на графический интерфейс и создавать первые программы в виде консольных приложений. Учебники и самоучители, посвященные программированию в консоли, вы вряд ли найдете, и потому мы постараемся научить вас его азам на страницах нашего журнала. Причем в понятном формате.

    Для старта скачаем последнюю редакцию Visual Studio 2010 (бесплатная версия Express доступна по адресу www.microsoft.com/express/downloads/) и установим на пользовательский ПК. Мы начнем знакомиться с классическими алгоритмическими конструкциями на примере игры «Угадай-ка». Пусть компьютер загадывает число от до 100, а вы попытаетесь его угадать за семь попыток. Домашний ПК будет вам помогать фразами «перелет» и «недолет».

    Итак, «Пуск Программы Microsoft Visual Studio 2010 Express Microsoft Visual Studio 2010 Express». В открывшемся окне идите в меню «Файл», укажите пункт «Создать проект» и в раскрывшемся списке выберите строку «Консольное приложение». Задайте имя проекта (по умолчанию - ConsoleApplication1). И даже здесь вы увидите четыре «бесплатные» строки будущей программы:

    Module Module1

    Sub Main ()

    End Module

    Теперь в главную процедуру (между второй и третьей строками) вставьте код нашей игры - чуть ниже мы его разберем по частям (см. листинг).

    В этом месте неискушенный новичок покрутит пальцем у виска, а бывалый программист искренне улыбнется. Цифры слева - это классика. Строки кода на языке Бейсик нумеровались с 1964 г., когда в первом руководстве по языку программирования Beginner"s All Purpose Symbolic Instruction Code (BASIC) были представлены три команды:

    10 LET X= (7+8) / 3

    20 PRINT X

    Сейчас это скорее атавизм, а в прошлом веке наличие строковой нумерации обусловливалось определенными целями. Мы же будем использовать ее, чтобы было удобнее разбирать код по кирпичикам.

    Строка 10. С помощью оператора DIM объявляются имя и тип одной или нескольких переменных. В данном случае мы объявили три целочисленных переменных: i - будем использовать в цикле; n - загаданное число; p - наши варианты загаданного числа.

    Строки 20 и 30 мы объясним в паре. Функция RND () возвращает случайное вещественное число (типа Single) в диапазоне от до 1. Мы умножили случайное число на 100, чтобы расширить диапазон от до 100. А вот функция Math.Round (), по сути, лишняя в нашей программе, но все же пусть будет. Она округляет получившееся число до целого значения. Однако переменная n объявлена как целочисленная, а значит, при выполнении программы дробная часть загаданного числа обрезалась бы автоматически. Функция Randomize () инициализирует генерацию случайных чисел, иначе задуманное число всегда будет одним и тем же.

    Строки 40 и 50 обеспечивают вывод приветственных фраз на экран в консольном режиме.

    Строки с 60 по 180 ключевые в нашем коде - это циклическая конструкция. Команды с 70 по 170 называются телом цикла. Нашему циклу суждено повториться 7 раз - те самые 7 попыток отгадать задуманное число. С каждым проходом (итерацией) цикла значение счетчика i будет увеличиваться с 1 до 7 в строке 180. Причем значение переменной i будет играть важную роль в строке 190, но об этом чуть позже.

    Обратите внимание на уже знакомый оператор в строке 80. Здесь выводимая строка формируется динамически, в зависимости от значения переменной i. А функция Str (i) превращает числовую переменную в обычную строку, чтобы появилась информативная фраза «Это твоя 1‑я попытка. Вводи число:».

    Пользователь вводит значение в переменную p в 90‑й строке. Если здесь ввести не число, а какой-либо другой символ, получится ошибка. В дальнейшем мы будем учиться обрабатывать подобные варианты событий, а пока не станем останавливаться на этом.

    Конструкция с 100‑й по 170‑ю строку называется ветвлением. В зависимости от выполнения того или иного условия осуществляются те или иные команды. Допустим, вы угадали и введенное p равняется задуманному n. Тогда компьютер выполнит операторы из 110‑й и 120‑й строк. Кстати, команда Exit For нужна, чтобы в случае победы завершить выполнение запущенного цикла 60–180 и передать управление оператору в строке 190.

    Строка 140 будет задействована в работе алгоритма, если введенное p окажется больше задуманного n. А строка 160 исполнится, если введенное p окажется меньше задуманного n. Правда, все просто?

    Конструкция с ветвлением в строках со 190‑й по 220‑ю сработает, если на выходе с цикла значение счетчика i будет равно 8. Поясним: если бы вы угадали задуманное число на последней, 7‑й, попытке, то значение i равнялось бы 7. А если оно равно 8, то, значит, цикл завершился сам собой, «счастливый» оператор Exit For из строки 120 не выполнялся.

    Ну и последний оператор из строки 230 ожидает ввода в консоль любого одного (!) символа. Если бы не он, то написанное консольное приложение отработало бы без ошибок и сразу же закрылось. Кстати, попробуйте вместо Console.ReadKey () написать оператор GoTo 30. Запустите отладку приложения клавишей. Что получилось в итоге? Если что-то не поняли, встаньте курсором на GoTo и нажмите клавишу - «Помощь» вам в помощь.

    А в следующий раз мы запрограммируем еще более интересную консольную игру.