обилие примеров, — все это очень помогает в освоении этого языка и делает возможным его самостоятельное изучение даже без использования дополнительной литературы. Другие языки программирования так освоить практически невозможно. Кроме того, интерпретатор VBA обладает большими возможностями по коррекции ошибок, и поэтому программа на этом языке вряд ли вызовет ошибку системы и необходимость перезагрузки компьютера, если только не увлекаться вызовом функций API.
Если Вы научитесь программировать на VBA, поймете принципы разработки алгоритмов и основные приемы программирования, освоите среду написания программ — редактор VBA, то для Вас практически не составит труда начать создавать программы на Visual Basic for Windows. У этого языка абсолютно такой же синтаксис, такая же среда разработки с контекстной справкой и пошаговыми подсказками, на первый взгляд он отличается от VBA разве что набором доступных встроенных процедур и функций и отсутствием возможности записи макросов. Безусловно, есть и более глубокие различия, но при создании не очень сложных программ они не будут иметь большого значения. Вы сможете легко освоить средство разработки программ Delphi, хотя логика языка Pascal, лежащего в основе Delphi, несколько отличается от логики Visual Basic. Однако и среда разработки, и общие принципы программирования в Delphi те же. Несколько труднее будет освоить C++ и его производные из-за серьезно отличающегося синтаксиса и высокой сложности этого языка, но это не всегда необходимо, — подавляющее большинство проектов программ можно реализовать на Visual Basic или Delphi.
Среди тех, кто занимается программированием уже много лет и достиг в этом деле определенных высот, весьма распространено мнение, что VBA, да и Visual Basic — языки, на которых нельзя создать быстро и хорошо работающие программы. В определенной степени это соответствует действительности: программы на Visual Basic обычно работают несколько медленнее и занимают больше места, чем аналогичные им программы на С++, на Visual Basic весьма проблематично решение некоторых программистских задач и приемов. Поэтому профессиональные программисты часто считают, что Visual Basic — язык для дилетантов, а любой уважающий себя специалист в области информационных технологий обязан знать и использовать такие языки, как С++ или ассемблер. Но не следует забывать, что изначальное предназначение компьютерных технологий — помощь человеку в обработке и создании информации, а отнюдь не 'служение самим себе', своему дальнейшему развитию. Поэтому основная функция большинства компьютерных программ — получение нужного результата, обработка вводимой информации, например, анализ электрокардиограммы или расчет траектории космической ракеты, а быстродействие, малый размер, да и удобство интерфейса — лишь их хорошие свойства, которые могут серьезно облегчить работу с программой.
Создать же программу, дающую действительно нужный результат, может лишь человек, непосредственно работающий в области, для которой данная программа пишется, — врач, инженер, астроном, математик. Только он знает все тонкости своего дела и сможет предусмотреть в программе все необходимые условия. Профессиональный программист же, хоть и имеет возможность создать программу, которая будет работать в несколько раз быстрее и занимать на диске значительно меньше места, чем написанная врачом или инженером, не представляет себе тонкостей области человеческой деятельности, для которой эта программа пишется, а поэтому, при всей внешней привлекательности, такая программа будет работать хуже, чем первая. К примеру, какая программа для анализа электрокардиограмм лучше: созданная опытным специалистом в области медицины, который посвятил всю свою жизнь исследованию электрокардиографии и энает все-все тонкости этого дела, или написанная не менее опытным программистом, который знает все языки программирования как свои пять пальцев, но, увы, не знаком с медициной? Даже если врач обратится к программисту с просьбой помочь ему написать эту программу, то он все равно не сможет посвятить того во все тонкости своего дела, чтобы отразить в программе все грани своего многообразного опыта, — на это может уйти слишком много времени и сил, да и нелегко программисту будет изучить совершенно незнакомую ему до этого сферу деятельности! Поэтому врач, немного знающий программирование, больше подходит для написания медицинской программы, чем профессиональный программист, немного знакомый с медициной. И пусть программа врача будет работать медленнее, пусть она будет занимать на диске в два раза больше места, пусть даже при ее создании будут нарушены все сложившиеся каноны программистского искусства, — все равно она сможет принести людям гораздо больше пользы, чем программа, прекрасно и хорошо написанная не знакомым с медициной человеком, так как только врач сможет поделиться с ней всем своим многогранным опытом.[16]
Отнюдь не всякий человек, превосходно умеющий лечить людей, сможет столь же превосходно освоить язык С++. И это нормально — у каждого свой талант, свои дарования. Но, благодаря стараниям сотен и тысяч программистов, зачастую безвестных, сейчас существуют среды программирования, освоить которые без проблем может каждый — те же Visual Basic и Delphi. И поэтому практически любой специалист своего дела может в наши дни использовать в своей работе новейшие достижения информационных технологий — создать нужную ему программу, разработав ее алгоритм на основе своего опыта. А для профессиональных программистов осталось не менее почетное и трудное дело — создавать такие среды программирования и новые языки, с которыми работать будет еще легче и быстрее, чем с существующими.
На вопрос: 'Какой язык программирования лучше всего?' стоит отвечать так: 'Тот, на котором ты можешь лучше всего писать программы и реализовывать свои проекты'. Проще всего освоить Visual Basic и Delphi. И поэтому не стоит так уж стремиться обязательно знать ассемблер, выучить все функции API и жалеть, что не можешь вводить программы сразу в машинных кодах, — лучше повнимательнее изучить более простой язык даже вроде того же VBA для того, чтобы уметь использовать все его возможности для воплощения своих пожеланий в жизнь. Ну, а если кто желает посвятить свою жизнь информационным технологиям, создавать новые языки общения с компьютером, то тому знание Visual Basic никогда не помешает, а остальные знания, как говорится, дело наживное, — надо лишь начать учиться и освоить общие принципы.
Не стоит думать, что 'программирование мне никогда не понадобится' — современные компьютерные технологии развиваются с огромной быстротой, и скоро практически любая область человеческой деятельности будет компьютеризирована. А чтобы получить в своей работе наилучший результат, нужно уметь приспособить орудие труда — компьютер — под свои нужды, то есть — программировать.
И, наконец, стоит сказать об использовании программирования на VBA в процессе обучения в школе, институте, да и в самостоятельном образовании. Обучение искусству составления программ на собственном опыте, путем самостоятельного исследования возможностей языка и среды разработки является одним из наилучших способов научиться так называемому 'научному мышлению', тому подходу к различным явлениям окружающего мира, на котором стоит вся современная наука.
Самостоятельно обучаясь использованию VBA, можно как бы на небольшой модели испробовать почти все исследовательские приемы, которые используются современной наукой, — и наблюдение, и анализ результатов, и эксперимент… Например, вынесение из записанного макроса неизвестной команды в отдельную процедуру для выяснения ее функции, — чем не эксперимент в контролируемых условиях? Или изменение параметров команды с целью узнать, к чему это приведет, — разве не так действуют исследователи, изменяя начальные условия эксперимента? Так что изучение VBA может стать целым 'научным исследованием', в течение которого можно будет отработать основные приемы современного научного подхода.
Удачи вам в программировании!
Из мира Интернета
· В Интернете есть немало информации о программировании на VBA. Помимо Форума для разработчиков на сайте программы Microsoft Office Extensions (http://www.microsoft.ru/offext), обратите внимание на сайт Андрея Колесова и Ольги Павловой http://www.visual.2000.ru, на котором представлены статьи этих авторов о VBA, а также на литературу из сетевых библиотек
http://www.firststeps.ru, http://www.rusdocs.ru,