ebook img

VBA for Excel PDF

162 Pages·01.027 MB·Russian
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview VBA for Excel

Министерство образования и науки Российской федерации РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ НЕФТИ И ГАЗА им. И.М. ГУБКИНА _______________________________ Кафедра информатики Тихвинский В.И. VBA for Excel Методические указания по курсу «Информатика» Часть 1. Москва - 2007 УДК 681.3 Тихвинский В.И. VBA for Excel. Методические указания по курсу «Информатика». Часть 1. Под общей ред. Сидорова В.В. - М.: РГУ нефти и газа им. И.М. Губкина, 2007.- c. Методические указания содержат учебный материал по основам программирования в среде VBA for Excel (MS Office), включая заданиями по выполнению лабораторных работ. Методические указания предназначены для студентов первого курса юридического факультета и факультета экономики и управления. Рецензент – проф. кафедры АСУ Степин Ю.П. © Российский государственный университет нефти и газа им. И.М. Губкина, 2007. 2 1. VBA for Excel 1.1 Введение Практически не возможно полностью вместить в одной книге все, о каком либо языке программирования. Тем не менее, мы постарались в данной книге дать максимально полезный объем информации по языку VBA. Книга в основном ориентирована на язык VBA программы Excel, но в конце книги в ее приложениях есть немного информации о работе VBA в Word и Access. Отметим, что большинство операторов VBA Excel работают и в других приложениях MS Office. Язык VBA (Visual Basic for Application) относится к визуальным языкам программирования. Это язык встроен в среду MS Office и предназначен для расширения функциональных возможностей ее компонентов. Идеология языка практически не отличается от стандартного VB (Visual Basic). Однако он работает только внутри конкретного приложения в режиме интерпретации, сохраняя при этом все возможности обычного VB. VBA расширен дополнительными языковыми конструкциями, служащими, для обработки специализированных файлов приложений. Название языка программирования Visual Basic for Application можно перевести дословно следующим образом: “Визуальный Бейсик(Basic) для Приложений”. Английское слово Visual используется в названиях визуальных языков программирования. Basic – это имя программного языка, из которого Visual Basic произошел. “для Приложений” - означает то, что данный язык встроен внутри программных приложений MS Office: Word, Excel, Access, Power Point и др. Визуальные языки программирования это объектно-ориентированные языки, при помощи которых легко создавать Интерфейс программы. Интерфейс программы - это программные средства, при помощи которых 3 человек общается с компьютерной программой. В среде Windows существуют различные объекты, такие как: кнопки, поля, поля со списками, меню и др., которые являются элементами программного интерфейса. Практически все эти элементы в визуальных языках программирования просто рисуются программистом, точно так же, как рисуется круг, квадрат, линия в графических редакторах. Такая возможность значительно облегчила и ускорила работу программиста по созданию программного интерфейса. В VBA имеется возможность написание макросов. Макрос – это компьютерная программа записанная особым образом, в которой записываются действия человека внутри приложения. Макрос даже может написать человек, который не знает языка VBA, но текст программы макроса в большинстве приложений MS Office пишется на рассматриваемом нами языке программирования или он может быть легко оттранслирован в язык VBA. Программист VBA может написать макрос, а затем подправить текст этой программы для своих нужд. Написать макрос в ряде случаев значительно легче, чем написать программу VBA, что значительно облегчает работу программиста по созданию текста программы. (Пример написание подпрограммы через макрос указан нами в Приложение 2 данной книги) 1.2 Правила оформления конструкций языка VBA в общем виде При написании конструкций языка VBA в общем виде мы придерживались в этой книге следующих правил: (cid:131) Необязательные параметры элементов конструкции берутся в квадратные скобки […]. (cid:131) Если в элементе конструкции может использоваться только один из указанных параметров, то такие параметры разделяются символом /. (cid:131) Служебные слова в конструкции выделяются жирным шрифтом. 4 (cid:131) Идентификаторы в конструкции пишутся курсивом. (cid:131) Строки, которые могут содержать операторы VBA помечаются символом точка “.”. 1.3 Идеология визуальных языков Как и в классических языках программирования в VBА сохраняются такие языковые конструкции как: Оператор присваивания, Условный оператор и Оператор выбора, Операторы цикла, процедуры и функции. В отличие от классических языков программирования в VBA весь текст программы состоит из процедур и функций. Работа программы есть последовательное выполнение событийных процедур, которые выполняются как ответная реакция на соответствующие события, происходящие в компьютере (нажатие клавиш клавиатуры, перемещение мыши и др.). Из событийных процедур производится запуск обычных процедур и функций. В VBA, в отличие от классических языков программирования, подпрограммы, находящие внутри одного и того же модуля, могут вызвать любую подпрограмму модуля в независимости от порядка их объявления в модуле. 1.4 Основные понятия визуальных языков Прежде чем прочесть данную главу, рекомендуем вам прочесть Приложение 9 (Основные понятия визуального программирования на доступных примерах) , это особенно будет полезно, если вы никогда не программировали в визуальных средах. (cid:131) Класс – особый тип для создания объектов (cid:131) Объект - экземпляр класса характеризующийся: (cid:131) Свойством (Полем, Атрибутом) – определяет состояние объекта, его ширину, высоту, цвет или какое-либо другое состояние, которое не обязательно определяется визуально; 5 (cid:131) Методом – способ изменения свойств объекта; (cid:131) Событием – действие (операция) происходящее с объектом (попадание объекта в фокус и потеря им фокуса, нажатие левой клавишей мыши на объекте и т.п.); (cid:131) Элемент управления, компонент, инструмент – особый объект, предназначенный для визуально управления программой (кнопка, однострочный редактор, поле со списком и т.п.) Классы в объектно-ориентированном программировании могут происходить от других классов. Такие классы называются потомками, а те классы, от которых они происходят, – родителями. В потомках могут сохраняться методы и свойства от родителей. Такая способность классов называется наследственностью. Если метод в потомке имеет тоже же имя что и у родителя, но выполняет другую функцию, то эта способность называется полиморфизм. 1.5 Дополнительные понятия языка VBA (cid:131) Алфавит языка – символы, которые используются в языке программирования. В VBA это латинские буквы и кириллица, а так же арабские цифры и специальные символы; (cid:131) Комментарии – не влияют на выполнение программы, но помогают ориентироваться в ней программисту, строка комментариев начинается со знака (‘) - апостроф; (cid:131) Перенос строки – совокупность знаков «пробел» и «подчеркивание» - « _»; (cid:131) Идентификатор (символическое имя) – имя переменной, именованной константы, поля, метода, процедуры или функции, а так же имя объекта, через которое происходит обращение к последнему. Идентификатор может содержать один и более 6 символов. Первым символом должна быть обязательно буква. В идентификаторе можно использовать цифры и некоторые специальные символы (например, знак подчеркивания) ; (cid:131) Продолжение однострочной конструкции – символ двоеточие ”:”, через который можно записать несколько операторов в плечах однострочной конструкции условного оператора. С его помощью можно также записать несколько операторов VBA в одной строке; (cid:131) Переменная – область в оперативной памяти компьютера, которая имеет имя; способна содержать в себе информацию определенного типа: (cid:131) Глобальная переменная – переменная, которая используется во всем модуле в любой подпрограмме; (cid:131) Локальная переменная - переменная, которая используется только в конкретной подпрограмме; (cid:131) Именованная константа - область в оперативной памяти компьютера, которая имеет имя, и содержит в себе информацию, которую нельзя изменить во время работы программы; (cid:131) Неименованная константа – способ записи числовых, строковых и других значений используемых в арифметических и в других выражениях; (cid:131) Оператор – команда (инструкция) для компьютера; (cid:131) Программа – совокупность всех операторов, направленных на то, что бы компьютер выполнял определенные действия; (cid:131) Подпрограмма – общее название для процедуры и функции. Обособленная часть программы, которая имеет имя и которую можно вызывать для выполнения конкретных операций; (cid:131) Процедура – часть программы, имеющая имя и которую можно вызвать из другой подпрограммы; 7 (cid:131) Событийная процедура объекта – часть программы, которая выполняется по свершению определенного события, происходящего с определенным объектом; (cid:131) Функция – часть программы, предназначенная, как правило, для вычисления значения выражения; (cid:131) Проект – файл, в котором находится программа. Для VBA for Excel это рабочая книга Excel; (cid:131) Диалоговые окна – стандартные диалоговые окна, встроенные в язык VBA, которые обеспечивают диалог человека с компьютером; (cid:131) Форма – диалоговое окно, созданное пользователем; (cid:131) Модуль – представляет собой именованную область внутри проекта, которая содержит в себе процедуры и функции. Имеется следующая разновидность модулей: (cid:131) Модуль рабочей книги (стандартное имя ThisWorkbook или в некоторых русских версиях Excel - ЭтаКнига) (cid:131) Модуль листа рабочей книги (Имя модуля листа совпадает по умолчанию с именем листа) (cid:131) Модуль макросов (Этот модуль может так же, помимо макросов, содержать в себе процедуры имеющие входные параметры, а так же функции. Имя такого модуля по умолчанию начинается со слова Модуль. Название этого модуля в английских версиях Excel начинается со слова Module.) (cid:131) Модуль формы (Обеспечивает работу диалогового окна созданного пользователем. Имя этого модуля совпадает с именем формы.) (cid:131) Модуль класса ( Содержит в себе класс, созданный пользователем. Используется для последующего создания экземпляров пользовательского класса.) 8 2 Переменные и константы 2.1 Структура модуля Каждый модуль в VBA состоит из двух областей: (cid:131) General (Общая область) – область для описания глобальных переменных, а так же для объявления не событийных подпрограмм. Эта область состоит из двух соответствующих подобластей: (cid:131) Declaration (Описания) - раздел описания глобальных переменных, констант и полей модуля (этот раздел расположен в самом верху редактора модуля) (cid:131) Раздел описания не событийных подпрограмм – расположен под разделом описания, не событийные процедуры могут описываться вперемешку с событийными, но через специальное, правое поле со списком редактора модуля, не событийная процедура выбирается только в разделе General (Общая область), когда эта область выбрана из левого поля со списком редактора модуля. (cid:131) Область событийных процедур объектов – расположена под разделом описания. Событийные процедуры могут описываться вперемешку с не событийными, но через специальное, правое поле со списком редактора модуля, событийная процедура выбирается только тогда, когда выбрано имя объекта в левом поле со списком редактора модуля. 9 Выбор Общей Выбор раздела Описания или области или имени имени не событийной объекта подпрограммы, а так же имени события происходящего в выбранном объекте Програм- мный код модуля Кнопка, Кнопка, утанавливающая режим утанавливающая режим просмотра только текущей просмотра всех подпрограмм подпрограммы в редакторе в редакторе модуля модуля Рис.1. Вид окна редактора модуля 2.2 Объявление переменных и констант Переменные и именованные константы являются глобальными для всех процедур и функций внутри модуля, если они описаны в общей области модуля в разделе описания, и являются локальными, если они описаны 10

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.