Visual Basic. Визуальный для Апликаций
bizetik@lycos.com
Салам всем без исключения !
Сегодня , я хотел бы начать цикл статей по офиссному программированию .Програмить мы будем в Excel-e (в принципе можно кодить и на балалайке -было бы желание , а на Екселе мне легче ,да и в любом случае код сегодняшней программки пойдет в любом офисном приложении ) .....
Для начала немного истории .Началось все тогда , когда я впервые сел за комп, и с удовольствием для себя обнаружил на нем пакет M$ Office.Так вот поковырявшись в нем с недельку пришел к выводу, что пакет-то конечно хороший , но не очень J .Первое ,что бросалось в глаза это -откровенная наглость в верхней части экрана
Рисунок 1.
Microsoft Excel -и это после того как мы с вами отдали свои кровные 2 у.е. за CD - и после всего этого команда Билли утверждает , что Excel не наш - а какого-то там Microsoft-а .Непорядок !!!!
Во-вторых почему именно Excel ,Word ,Access .... а не ZeXcel ,Wordussss или АхСекс ...
В-третьих , в- четвертых........ в n-ных .Так вот в связи с этим после , долгих скитаний по меню в поисках того пункта , который поможет мне исправить эти недоразумения -я совершенно случайно нажал на кнопку F1 , которая и подвела меня к двери (заднему проходу Microsoft'a J) .Приоткрыв ее на меня вылилось неимоверное колличество всякого ненужного мусора ( типа как писать формулы в этих ячейках, установить необоходимые параметры офиссного помощника -едакой придурковатой скрепки и т.д и т.п ). Пострадав еще немного -я все таки выудил у Microsoft их страшный секрет (сочетание клавиш Alt+F11) - и понеслась .........по кочкам J
А ларчик просто открывался ....
Да да - это был он (VBA - Visual Basic for Application (Васик Визуальный для Апликаций) . Слабонервных попрошу сразу удалиться ...Заранее извиняюсь , но офисный пакет у меня забугорный (язык соответсвенно аглицкий) , но я думаю , что у вас никаких проблем с русским вариантом не возникнет .В любом случае дальше можете и не читать.
ИТАК жмем ALT+F11 и мы в Едиторе (посмотри на рис.2)
На рисунке цифрами 1,2 и 3 обозначены все то, что нам сегодня нужно знать об этом Едиторе :
1. Project Explorer -в этом окне видно все открытые проекты , доступные для редактирования (на рисунке виден проект Personal.xls -личная книга макросов (так по крайней мере ее называет МS),сразу оговорюсь у вас ее может и не быть(ну это мы скоро исправим).Каждый проект состоит из трех частей а).Microsoft Excel Objects-обьекты Excel'a, (здесь вы найдете нечто вроде Sheet1(Sheet1) -в первый sheet это название обьекта по умолчанию, а sheet в скобках это название страницы, то которое дадите ей вы собственноручно .Последний обьект -ThisWorkbook -это глобальный обьект .б) Forms-формы.Отсюда вы получаете доступ ко всем формам в обьекте (естественно это будут те формы , которое создадите вы ) .в) Moduls -соответственно ваши же модули.Они могут быть двух видов-просто модули и модули классов (class moduls).Лично мне никогда не приходилось использовать модули классов (скорее всего вам это тоже не понадобиться ).Вот и весь Эксплоер . 2.Properties Window -окно свойств обьектов . Кликните на любом из вышеуказанном обьекте и перед вами откроется список свойств данного обьекта .Например Name -здесь будет красоваться имя данного обьекта . И наконец третье окно это Code Window -окно кода .Здесь вы будете писать свои процедуры и функции .Ну вот в принципе и все что вам нужно для написания своей первой програмки на VBA.
Рисунок 2.
Ключ на старт ....
Загрузили eXcel нажали ALT+F11 , делаем райт-клик на любом обьекте в Project Explorer-e (рис,3) и выбираем из меню Insert->Module .Поздравляю вас вы создали свой первый модуль .Теперь дадим ему имя . Для этого жмите F4 (или выберите в Properties Window свойство Name , тем более что оно там всего одно ) и дайте имя своему первенцу .Вообще если честно , то это не так уж и важно , но в любом случае лучше давать осмысленные имена модулям , формам и обьектам (самим легче будет потом ).
Рисунок 3.
НУ так вот своему модулю я дал имя HelloModule .После столь ответственной процедуры переходим в окно кода и пишем там содержание листинга .
Sub HelloWorld() 'Моя первая программа на VBA MsgBox "Салам мир-а вот и я !!!!", , "Hello World v 1.0 " End Sub
Программа готова .Смело жмите F5 и понаблюдайте за своим творением .
Перед вами будет стандартный Меssage Box с одной единственной кнопкой ОК .
Что же мы натворили
Сейчас попробую обьяснить вам что же мы натворили .В начале листинга после символа ' зелеными до ужаса буквами идут примечания (они никаким образом ни влияют на исходный код -ну вы наверное это знаете и без меня ).Далее при написании данной процедуры мы с вами использовали стандартную функцию VBA -message box.Она предназначена для вывода сообщений (и ничего более J ).У данной функции 5 параметров (см рис4.)
- Prompt - (сообщение) ,единственный необходимый параметр-Текст выводимого сообщения,пишется в двойных кавычках (можно также использовать и константы , но о них в следующий раз .)
- Buttons - (кнопки ),кнопки которые будут выводиться в мессаге .Как вы видите в листинге после промпта у меня стоит запятая , и по дефолту у нас на боксе будет всего одна кнопка ОК .На рисунке данный параметр взят в квадратные скобки (это как раз и свидетельствует о том , что он является необязательным ).Можете после запятой нажать CTR+Space(данная комбинация клавиш очень полезная и советуется к употреблению постоянно.Она избавляет вас от ошибок в написании названий как стандартных так и определенных вами функций ,процедур ,переменных и тому подобной муры),и вы получите полный список всех констант допустимых для данного параметра (я даже советую вам это сделать, потому как описать все эти параметры нет времени и сил , а разобраться с ними я думаю вы в состоянии).
- Title - (заголовок),заголовок вашего сообщения.Здесь также могут использоваться как константы так и обыкновенный текст , заключенный в двойные кавычки .
Два последних параметра HelpFile и Context -предназначены для получения справки(помощи).В первом указывается путь к файлу справки ,а во втором контекстный номер топика в указанном вами файле справки.
Рисунок 4.
Ну вот в принципе и все- на сегодня хватит .Закройте VB Editor и жмите ALT+F8,выберите из списка HelloWorld и ключ на старт.Можете в этот ответсвенный момент собрать вокруг себя родню(если вы дома),начальника и всех коллег-и прилюдно требовать у него повышения зряплаты(негоже вам программеру сидеть со старым окладом J ).Урок окончен. Дальше я думаю будет все намного интереснее.До скорых (надеюсь) встреч в эфире ....
Чуть не забыл на всякий случай перепишите содержание следушего листинга .
Sub Auto_Open() HelloWorld End Sub
Теперь каждый раз когда вы будете открывать этот файл , ваша программа будет автоматически выполняться.Если не будет , то скорее всего уровень безопасности не позволяет вам ей это сделать(рис.5).Установите свой секьюрити левел в Medium и наслаждайтесь жизнью .Этот диалог находиться на тулбаре Visual Basic ->Security.Особые извращенцы могут поставить себе Low и ощутить на себе все прелести макровирусов .Ну все исчезаю , пока всем ... рис5.
Рисунок 5.
Оставить комментарий
Комментарии
Для человека, который хочет начать, Ваш материал не скучен и информативен. Уверенна, что людям, более продвинутым в программировании, надо уметь искать и находить те материалы, которые соответствуют их требованиям. Жаль тратить время на колкости.
Статью не дочитал, но для ньюбов типа меня оч. даже понятно и просто ) А главное - бесплатно.
З.Ы. Если кто-то может предложить лучше за те же деньги - выкладывайте тута в комментах :)