Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Последние темы форума

Показать новые сообщения »

Почтовая рассылка

Подписчиков: 11639
Последний выпуск: 19.06.2015

Visual Basic. Визуальный для Апликаций

Багиров Заур aka BiZet
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.

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 

Комментарии

1.
44K
25 октября 2008 года
k9090
0 / / 25.10.2008
Мне нравитсяМне не нравится
25 октября 2008, 16:35:22
Заур, спасибо!
Для человека, который хочет начать, Ваш материал не скучен и информативен. Уверенна, что людям, более продвинутым в программировании, надо уметь искать и находить те материалы, которые соответствуют их требованиям. Жаль тратить время на колкости.
2.
Аноним
Мне нравитсяМне не нравится
14 ноября 2005, 21:46:06
Мне, извиняюсь, в средней школе такого не втирали, мы Паскаль проходили. Зато в Дельфе я теперь шарю )

Статью не дочитал, но для ньюбов типа меня оч. даже понятно и просто ) А главное - бесплатно.

З.Ы. Если кто-то может предложить лучше за те же деньги - выкладывайте тута в комментах :)
3.
Аноним
Мне нравитсяМне не нравится
23 февраля 2005, 12:59:35
Da когда начинают опубликовывать то что в средней школе втирают становится не интересно
4.
Аноним
Мне нравитсяМне не нравится
6 июня 2004, 00:47:57
скажите как мне в едите, selectall после SetFocus сделать. Я избалован элементариями C++ Builder и Delphi [:-} поэтому в высшее осознание Microsoft'а не посвящен, подскажите, просвещенные.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог