Adelitusn.ru

ПК и Техника
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

VBA-Урок 1. Что такое VBA. Основные понятия

VBA-Урок 1. Что такое VBA. Основные понятия.

В данном разделе мы рассмотрим что такое VBA, посколько именно на нем и пишутся макросы.

Что такое VBA?

VBA — язык (расшифровывается как Visual Basic for Application) был разработан компанией Microsoft. Данный язык не является самостоятельным, а предназначен для автоматизации процессов в пакете MS Office. VBA широко используется в Excel, а также в Access, Word и других программах пакета.

VBA — простой язык программирования, которому может научиться любой желающий. Изучив его, вы сможет предоставлять команды Excel, что делать с колонками, строками, значениями в ячейках, перемещать/добавлять/сортировать листы, выводить заранее запрограммированные сообщения, писать свои формулы и функции и т.д. Суть языка заключается в оперировании объектами (что относит его к объектно-ориентированному программированию).

Чтобы работать с VBA кодом, нам нужен редактор, который уже установлен по умолчанию. Вы можете открыть его, нажав комбинацию клавиш » ALT + F11 «.

Объекты (Objects)

Давайте разберем, что же такое объект. Объект — это элемент, структурная частица Excel, а именно: книга, лист, диапазон, ячейка. Данные объекты имеют иерархию, т.е. подчиняются друг другу. Схематично структуру иерархии Excel можно изобразить следующим образом:

Главный объект это Application, что соответствует самой программе Excel. Далее следует Workbooks (книга), Worksheets (лист), Range (диапазон, или отдельная ячейка). Например, чтобы обратиться к ячейке «A1» на листе нам нужно будет прописать следующий путь с учетом иерархии:

Application.Workbooks(«Архив»).Worksheets(«Аркуш1»).Range(«A1»).

Таким образом, мы научились обращаться до наименьшего объекта в Excel — ячейки.

Коллекции (Collections)

  • ChartObjects (элемент коллекции объекта ChartObject)
  • Range
  • PageSetup
  • PivotTables (элемент коллекции объекта PivotTable).

Свойства (Properties)

Каждый объект имеет свойства . Например, объект Range имеет свойство Value или Formula.

Worksheets(“Sheet1”).Range(“A1”).Value або Worksheets(“Sheet1”).Range(“A1”).Formula

В данном примере, свойство отображает значение, которое введено в ячейку или введенную формулу.

Также, через свойство Formula можно не только получить формулу, но и записать ее:

MsgBox Range(“A1”).Formula — получим сообщение с формулой в ячейке "А1";

Range(“B12”).Formula = “=2+6*100” — вписываем формулу =2+6*100 в ячейку B12.

Методи (Methods)

Теперь давайте рассмотрим, каким образом мы можем управлять содержимым диапазона или ячейки. Для этого в VBA существуют, так-называемые методы (команды «что сделать»). При написании кода методы отделяются от объекта точкой, например:

Range(«A1»).Select или Cells(1, 1).Select

Данный метод указывает выбрать (Select) ячейку «A1».
Далее, давайте, удалим значение в данной ячейке. Для этого напишем следующий код:

Selection.ClearContents

Здесь программа «берет» то, что мы выделили (Selection) и удаляет его содержимое (ClearContents ).

Лекция №2 Введение в VBA. Макросы. Макрорекордер. Интегрированная рабочая среда VBA

АннотацияОфисное программирование — это процесс разработки приложений, предназначенных для автоматизации офисной деятельности с использованием специализированных пакетов (MS Office, OpenOffice.org или подобных).

Офисное программирование как процесс разработки приложений имеет ряд особенностей по сравнению программированием как таковым. В основном они проявляются в таких аспектах, как:

· поддержка объектно-ориентированного программирования.

КлючевыесловаМакрос, Макрорекордер, Visual Basic for Application

Офисное программирование — это процесс разработки приложений, предназначенных для автоматизации офисной деятельности с использованием специализированных пакетов (MS Office, OpenOffice.org или подобных).

Офисное программирование как процесс разработки приложений имеет ряд особенностей по сравнению программированием как таковым. В основном они проявляются в таких аспектах, как:

· поддержка объектно-ориентированного программирования.

Рассмотрим эти особенности на примере MS Office.

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

Стандартные возможности среды по работе с документами велики. Однако возможность изменить типовой документ, снабдив его дополнительными функциями – это одна из важнейших задач офисного программирования. Для ее решения офисная среда представляет совокупность библиотек классов, которые составляют каркас (Framework) текстовых документов, электронных таблиц, презентаций, баз данных и приложений на основе этих документов. Всякий раз, когда создается новый документ, его каркас составляют объекты библиотек, заданные по умолчанию. Этот каркас можно существенно изменить, добавив в документ новые свойства. Расширение каркаса не требует от программиста значительных усилий – достаточно включить в него необходимые библиотеки классов.

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

Понятно, что основное назначение офисных приложений — автоматизация офисной деятельности, однако, средства офисного программирования применяют и для совсем других разработок, выходящих далеко за ее рамки. Для наглядности приведем ряд примеров: программа биоритмов, написанная на VBA для Excel; ASCII art на музыкальный клип AC/DC; макровирусы и множество других совсем не офисных приложений.

Единственный язык программирования, поддерживаемый пакетом MS Office является Visual Basic for Application (VBA). VBA — это инструмент разработки приложений, который позволяет создавать программные продукты, решающие практически все задачи, встречающиеся в среде MS Windows. В случае офисных приложений, программы или макросы на VBA можно использовать, например, для оформления документов (подготовки текстов) или анализа данных таблиц (электронных таблиц).

VBA – уникальное приложение, поскольку оно встраивается в другое приложение и расширяет его функциональные возможности. С помощью VBA можно:

· создать собственное диалоговое окно и придать ему требуемый внешний вид;

· создать макросы, расширяющие функциональные возможности приложения, в которое встроен VBA;

· изменить меню приложения Microsoft Office;

· управлять другим приложением Microsoft Office или принадлежащими ему данными;

· объединить данные из нескольких приложений Microsoft Office в одном документе;

· автоматически создавать или изменять страницы Web, совместно используя приложения Microsoft Office и VBA.

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

· отладка приложений без предварительной компиляции;

· средства Win32 API;

· SQL и объекты доступа к данным для управления данными и извлечения их из внешних источников данных, таких как Microsoft SQL Server;

· построение и проверка элементов интерфейса непосредственно в среде разработки VBA (Integrated Development Environment, IDE);

· связывание программ и процедур с событиями, которые возникают в приложениях VBA.

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

Среда MS Office предлагает два способа создания программ, отличающихся подходом к процессу: использование макрорекордера и написание исходного кода программ на языке VBA в интегрированной среде разработки. Эти подходы ориентированы на разные категории: непосредственно пользователей и программистов соответственно.

Макрорекордер (MacroRecorder) – это программный инструмент, записывающий действия пользователя при работе с документами и приложениями, с сохранением записи в виде макроса — исходного кода на языке VBA. При вызове сохраненного макроса воспроизводится вся сохраненная последовательность действий.

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

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

Интегрированная среда разработки на VBA (Visual Basic Environment, VBE) — встроенное в MS Office средство для написания, тестирования и отладки приложений на VBA. Среда VBE представляет все возможности для создания законченных офисных приложений, включая средства визуального проектирования пользовательского интерфейса. VBE ориентирована на использование программистами для разработки офисных приложений (это отнюдь не означает, что пользователи не могут применять VBE).

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

Макрос – это программа (в контексте офисного программирования — созданная автоматически), состоящая из списка команд, которые должны быть выполнены приложением.

Основными преимуществами использования макросов являются:

· повышение точности и скорости работы, поскольку компьютеры лучше приспособлены для выполнения повторяющихся задач, чем человек;

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

Макрос служит для объединения нескольких различных действий в одну процедуру, которую можно легко вызвать. Этот список команд состоит в основном из макрокоманд, которые тесно связаны с приложением, в котором создается макрос – т.е. с командами Word, Excel или других приложений Microsoft Office.

Можно выделить три основные разновидности макросов:

1. Командные макросы – это наиболее распространенные макросы, обычно состоящие из операторов, эквивалентным тем или иным командам меню или параметрам диалоговых окон. Основным предназначением такого макроса является выполнение действий, аналогичных командам меню – т.е. изменение окружения и основных объектов приложения.

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

3. Макрофункции – представляют сочетание командных макросов и пользовательских функций. Они могут использовать аргументы и возвращать результат, подобно пользовательским функциям, а также могут изменять среду приложения, как и командные макросы. Чаще всего эти макросы вызываются из других макросов, и активно используются для модульного программирования.

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

Таким образом, различают 2 способа разработки макроса:

· автоматическое создание, с использованием макрорекордера;

· написание макроса "с нуля", используя язык программирования VBA.

Отметим, что возможен и комбинированный подход: фрагменты будущей программы записываются автоматически, а затем они корректируются и дополняются "рукописным" кодом. Для записи макросов из приложений Microsoft Office используется макрорекордер. Это встроенный инструмент, который фиксирует все действия пользователя, включая ошибки и неправильные запуски. При выполнении макроса интерпретируется каждая записанная макрорекордером команда точно в такой последовательности, в которой пользователь выполнял их во время записи.

Для записи макроса в приложении Microsoft Office можно использовать меню "Сервис/Макрос/Начать запись" или выбрать кнопку "Записать макрос" на панели инструментов Visual Basic. До начала записи нужно указать имя макроса и определить, где он будет храниться и как будет доступен. Затем выполнить действия, которые требуется сохранить в макросе. Для завершения записи нужно на панели инструментов "Остановка записи" щелкнуть кнопку "Остановить запись". Для выполнения макроса необходимо:

1. Установить курсор в место вставки выполнения макроса.

2. Выбрать пункт меню "Сервис/Макрос/Макросы".

3. В появившемся диалоговом окне "Макрос" выбрать имя нужного макроса и выбрать "Выполнить".

Чтобы просмотреть код записанного макроса, надо выбрать меню "Сервис/Макрос/Макросы". В появившемся диалоговом окне выбрать имя нужного макроса и щелкнуть кнопку "Изменить". Исходный код указанного макроса будет загружен в окно редактора Visual Basic.

Структура записанного макроса

Макросы, создаваемые макрорекордером MS Office, сохраняются в специальной части файла данных, называемой модулем. Модуль VBA содержит исходный код программы на языке VBA. Фактически макрос является подпрограммой (а точнее, процедурой) VBA. Записанный макрос имеет строго определенную структуру. Ниже представлен исходный код простого макроса, созданного в Microsoft Word.

Листинг 1. Пример макроса

Sub Hello() ‘ Макрос изменяет размер, начертание шрифта, выравнивание абзаца и ‘ выводит надпись в активный документ MS Word ‘

Selection.TypeText Text:="Hello, World!"

В общем виде структуру кода макроса можно представить следующим образом 2 :

Sub имяМакроса () ‘ текст комментария

Каждый макрос VBA начинается с ключевого слова Sub, за которым следует имя макроса. Строку, содержащую ключевое слово Sub и имя макроса, называют строкой объявления (declaration) макроса. За именем макроса всегда следуют пустые круглые скобки (т.к. макрос является процедурой VBA без параметров). За строкой объявления макроса следуют строки комментариев. Комментарий (comment) – это строка в макросе VBA, которая не содержит инструкций, являющихся частью этого макроса. Каждая строка комментария начинается с символа апострофа ( ‘ ). Комментарии содержат имя макроса и текст, который был введен пользователем в текстовое поле "Описание" ("Description") диалогового окна "Запись макроса" ("Record Macro") в момент записи этого макроса. Сразу за объявлением макроса следует тело макроса (body). Каждая строка в теле макроса состоит из одного или более операторов VBA. Оператор VBA (statement) – это последовательность ключевых слов и других символов, которые вместе составляют одну полную инструкцию для VBA. Макрос VBA состоит из одного или нескольких операторов.

Конец макроса выделяется ключевой строкой End Sub, завершающей тело макроса.

1. Таганов Л. С., Пимонов А. Г. Информатика: [Электронныйресурс]: учеб.пособие для студентов техн. направлений испециальностей вузов/ Л. С. Таганов, А. Г. Пимонов; ГУ КузГТУ. – Кемерово, 2010. – 330 с.

2. Информатика. Базовый курс: учеб. пособие для студентов втузов/ под ред. С. В. Симоновича. — 3-е изд. — СПб.: Питер, 2012. — 640 с.

3. Таганов, Л. С. Конспекты лекций по курсу«ИНФОРМАТИКА»: [Электронный ресурс]: для студентов всех форм обученияспециальности130400.65 «Горное дело» / Л. С. Таганов; КузГТУ. – Кемерово, 2013. – 290 с.

Дата добавления: 2018-04-04 ; просмотров: 932 ; Мы поможем в написании вашей работы!

Vba простые примеры. Примеры макросов Excel

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

Что такое VBA

Программирование в Excel осуществляется посредством языка программирования Visual Basic for Application, который изначально встроен в самый известный табличный процессор от Microsoft.

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

Недостатком программы являются проблемы, связанные с совместимостью различных версий. Они обусловлены тем, что код программы VBA обращается к функциональным возможностям, которые присутствуют в новой версии продукта, но отсутствуют в старой. Также к минусам относят и чрезмерно высокую открытость кода для изменения посторонним лицом. Тем не менее Microsoft Office, а также IBM Lotus Symphony позволяют пользователю применять шифрование начального кода и установку пароля для его просмотра.

Объекты, коллекции, свойства и методы

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

Главным из них является Application, соответствующий самой программе Excel. Затем следуют Workbooks, Worksheets, а также Range. Например, для обращения к ячейке A1 на конкретном листе следует указать путь с учетом иерархии.

Что касается понятия «коллекция», то это группа объектов того же класса, которая в записи имеет вид ChartObjects. Ее отдельные элементы также являются объектами.

Следующее понятие — свойства. Они являются необходимой характеристикой любого объекта. Например, для Range — это Value или Formula.

Методы — это команды, показывающие, что требуется сделать. При написании кода в VBA их необходимо отделять от объекта точкой. Например, как будет показано в дальнейшем, очень часто при программировании в «Эксель» используют команду Cells(1,1).Select. Она означает, что необходимо выбрать ячейку с координатами

Вместе с ней нередко используется Selection.ClearContents. Ее выполнение означает очистку содержимого выбранной ячейки.

Как начать

Затем необходимо перейти в приложение VB, для чего достаточно воспользоваться комбинацией клавиш «Alt» и «F11». Далее:

  • в строке меню, расположенном в верхней части окна, нажимают на иконку рядом с иконкой Excel;
  • выбирают команду Mudule;
  • сохраняют, нажав на иконку с изображением ;
  • пишут, скажем так, набросок кода.

Он выглядит следующим образом:

Sub program ()

Обратите внимание, что строка «»Наш код» будет выделена другим цветом (зеленым). Причина в апострофе, поставленном в начале строки, который обозначает, что далее следует комментарий.

Теперь вы можете написать любой код и создать для себя новый инструмент в VBA Excel (примеры программ см. далее). Конечно, тем, кто знаком с азами Visual Basic, будет намного проще. Однако даже те, кто их не имеет, при желании смогут освоиться достаточно быстро.

Макросы в Excel

За таким названием скрываются программы, написанные на языке Visual Basic for Application. Таким образом, программирование в Excel — это создание макросов с нужным кодом. Благодаря этой возможности табличный процессор Microsoft саморазвивается, подстраиваясь под требования конкретного пользователя. Разобравшись с тем, как создавать модули для написания макросов, можно приступать к рассмотрению конкретных примеров программ VBA Excel. Лучше всего начать с самых элементарных кодов.

Пример 1

Задача: написать программу, которая будет копировать значение содержимое одной ячейки и затем записывать в другую.

  • открывают вкладку «Вид»;
  • переходят на пиктограмму «Макросы»;
  • жмут на «Запись макроса»;
  • заполняют открывшуюся форму.

Для простоты в поле «Имя макроса» оставляют «Макрос1», а в поле «Сочетание клавиш» вставляют, например, hh (это значит, что запустить программку можно будет блиц-командой «Ctrl+h»). Нажимают Enter.

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

  • вновь переходят на строку «Макросы»;
  • в списке выбирают «Макрос 1»;
  • нажимают «Выполнить» (то же действие запускается начатием сочетания клавиш «Ctrl+hh»).

В результате происходит действие, которое было осуществлено в процессе записи макроса.

Имеет смысл увидеть, как выглядит код. Для этого вновь переходят на строку «Макросы» и нажимают «Изменить» или «Войти». В результате оказываются в среде VBA. Собственно, сам код макроса находится между строками Sub Макрос1() и End Sub.

Если копирование было выполнено, например, из ячейки А1 в ячейку C1, то одна из строк кода будет выглядеть, как Range(“C1”).Select. В переводе это выглядит, как «Диапазон(“C1”).Выделить», иными словами осуществляет переход в VBA Excel, в ячейку С1.

Активную часть кода завершает команда ActiveSheet.Paste. Она означает запись содержания выделенной ячейки (в данном случае А1) в выделенную ячейку С1.

Пример 2

Циклы VBA помогают создавать различные макросы в Excel.

Циклы VBA помогают создавать различные макросы. Предположим, что имеется функция y=x + x 2 + 3x 3 — cos(x). Требуется создать макрос для получения ее графика. Сделать это можно только, используя циклы VBA.

За начальное и конечное значение аргумента функции берут x1=0 и x2=10. Кроме того, необходимо ввести константу — значение для шага изменения аргумента и начальное значение для счетчика.

Все примеры макросов VBA Excel создаются по той же процедуре, которая представлена выше. В данном конкретном случае код выглядит, как:

Sub programm()

Do While x1 0 Then Cells(1, 1).Value = 1

If x=0 Then Cells(1, 1).Value = 0

If x 0 Then Cells(1, 1).Value = 1

If x=0 Then Cells(1, 1).Value = 0

If x Книга: Использование макросов в Excel.

Страниц: 507
Формат: DJVU
Размер: 8.02 Mb

Несмотря на мощные функциональные возможности, обеспечиваемые пользовательским интерфейсом Excel, существует ряд задач, выполнение которых возможно только программным путем. Книга «Использование макросов в Excel” представляет собой введение в программирование на Excel VBA, содержащее примеры решения различных практических задач, возникающих при работе в Excel. Материал книги рассчитан на пользователей Excel, а также программистов, которые не знакомых с объектной моделью Excel. Наряду с разделами, посвященными разработке макросов для Excel 2002, здесь излагается вводный курс по написанию макросов и программ в среде Excel.

Книга: Интенсивный курс программирования в Excel за выходные

Издательство: Диалектика
Страниц: 421
Формат: DJVU
Размер: 12.6 Мб
Качество: Нормальное
Язык: Русский
Жанр: программирование
Год издания: 2004
ISBN: 5-8459-0687-3

Возможности Microsoft Excel не ограничиваются только работой с таблицами данных. За средствами обработки электронных таблиц прячется сильный язык программирования — VBA (Visual Basic for Applications). Впрочем, практически хоть какой юзер имеет возможность выучиться писать программы на языке VBA для решения самых разнородных задач в Excel — от механического исполнения вычислений до создания системы для ввода данных с собственными экранными формами и с вероятностью ревизии корректности набираемых значений.

Книга: Программирование на VBA 2002

Качество: Нормальное
Язык: Русский
Жанр: программирование

В книге содержится курс по программированию на Visual Basic for Applications (VBA), являющимся базовым языком в приложениях Microsoft Office (Word, Excel, Access, PowerPoint, FrontPage, Visio и др.). Книга предназначена для начинающих программировать в среде Windows с применением Word-, Excel-, PowerPoint-объектов. Часть книги посвящена вопросам разработки Office-приложений, использующих базы данных, хранимых как в отдельных файлах, так и на удаленных серверах. Материала книги достаточно для изучения основ языка Visual Basic и создания простых макросов, помогающих автоматизировать рутинную повторяющуюся работу с документами, электронными таблицами, диаграммами, презентациями и т.д., а также для разработки довольно сложных приложений обработки баз данных с использованием диалоговых окон, обеспечивающих пользователя самыми современными интерфейсными средствами. Большинство примеров в книге посвящены актуальным в настоящее время вопросам коммерческой деятельности, поэтому книга будет очень полезной менеджерам различных уровней, которым, по-видимому, и предназначен как Microsoft Office, так и встроенный язык программирования VBA.
Приложения в конце книги могут послужить удобным справочником при работе как с VBA, так и с обычным VB.

Книга: Профессиональное программирование на VBA в Excel 2003
Джон Уокенбах
Издательство: Вильямс
Формат: PDF
Размер: 11 Мб
Качество: Отличное
Язык: Русский
Год издания: 2005
ISBN: 5-8459-0771-3
К книге прилагается диск

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

Pdf-версия отредактирована и любезно предоставлена участником .

Книга: :
Джон Уокенбах
Издательство: Wiley
Формат: PDF
Страниц: 1308
Размер: 11,9 Мб
Качество: Отличное
Язык: Английский
Год издания: 2010

Книга: : Профессиональное программирование на VBA в Excel 2010
Джон Уокенбах
Издательство: Диалектика
Формат: PDF
Страниц: 920
Размер: 22,1 Мб
Качество: Отличное
Язык: Русский
Год издания: 2010 Предмет рассмотрения этой книги — язык программирования Visual Basic for Applications (VBA), который встроен в Excel, а также в другие приложения, входящие в состав Microsoft Office. Здесь подробно описано создание программ, автоматизирую­щих выполнение различных задач в Excel, а также рассматривается широкий круг других тем — от написания простейших макросов до создания сложнейших приложений и ути­лит, рассчитанных на взаимодействие с пользователем. В этой книге нет описания программного пакета Microsoft Visual Studio Tools for Office (VSTO). Он представляет собой воплощение относительно новой технологии, ис­пользующей Visual Basic .NET и Microsoft Visual С#. Технология VSTO также может применяться для управления поведением программы Excel и других приложений Microsoft Office.

Книга не предназначена для начинающих пользователей Excel. Если у вас нет опыта работы с этим приложением, то прочтите сначала книгу Excel 2010. Библия пользо­вателя, в которой подробно рассказывается обо всех возможностях Excel (она адресована пользователям всех уровней).

Книга: Самоучитель VBA
Гарнаев А.
Издательство: bhv
Страниц: 512
Формат: html с картинками в rar
ISBN: 5-8206-0067-3
Размер: 2,22 Мб

Отличное
Язык: Английский
Год издания: 2009

Создание макросов и пользовательских функций на VBA

Этим видео-уроком я хочу начать серию видео-уроков, которые будут посвящены основам работы в программе Microsoft Word.

Основы программирования на языке VBA

Процесс разработки программы на языке VBA – проекта, может состоять из нескольких этапов, в зависимости от конечного результата. Если необходимо получить программу, которая будет производить определенные вычисления или действия, расширяющие математические возможности стандартного приложения Microsoft Office, то достаточно создать программный модуль. Для применения этой программы можно поместить в рабочей области приложения кнопку, нажатие которой будет вызывать выполнение программы. Для этого в приложении необходимо включить панель инструментов с помощью команды Вид Панели инструментов Элементы управления, а затем создать кнопку с соответствующим программным кодом. Либо выполнять программу с помощью команды Сервис Макрос Макросы.

Разработка “полноценной” программы (для выполнения которой требуется отдельное окно, с различными элементами управления) будет включать два этапа. Первый этап – этап визуального программирования, на котором создается окно (форма) программы, где располагаются необходимые элементы управления. Второй – этап программирования, на котором создаются части программы (процедуры), выполняющиеся в ответ на определенные события. Событием является, например, щелчок левой кнопкой мыши на командной кнопке (событие Click), нажатие клавиши на клавиатуре (событие KeyPress) и т.д. Использовать такое приложение можно нажатием кнопки – «Запуск проекта».

2.1. Объекты, свойства и методы VBA

Одним из основных понятий VBA является объект. Объект – это то, чем вы управляете с помощью программы на языке VBA, например, форма, кнопка, рабочий лист или диапазон ячеек MS Excel. Каждый объект обладает некоторыми свойствами. Например, форма может быть видимой или невидимой в данный момент на экране. Другой пример свойства объекта – шрифт для отображения информации в ячейке (объекте) рабочего листа.

Объект содержит также список методов, которые к нему применимы. Методы – это то, что вы можете делать с объектом. Например, показать форму на экране или убрать её можно с помощью методов Show и Hide.

Таким образом, объект – это программный элемент, который имеет свое отображение на экране, содержит некоторые переменные, определяющие его свойства, и некоторые методы для управления объектом. Например, в MS Excel имеется много встроенных объектов:

Range(“Адрес”)

— диапазон ячеек (может включать только одну ячейку).

Cells(i, j)

— ячейка, находящаяся на пересечении i-й строки и j-го столбца рабочего листа MS Excel (i и j – целые числа).

Rows(№ строки)

— строка с заданным номером.

Columns(№ столбца)

— столбец с заданным номером

Sheets(“Имя”)

— лист с указанным именем.

Sheets(№ листа)

— лист с указанным номером.

WorkSheet

Установка значений свойств – это один из способов управления объектами. Синтаксис установки значения свойства объекта следующий:

Объект. Свойство = Выражение

Основным свойством объектов Cells и Range, является Value (значение), которое, однако, можно не указывать. Например:

Range(“A5:A10”). Value = 0 или Range(“A5:A10”) = 0 – в диапазон ячеек A5:A10 заносится значение 0.

Cells(2, 4). Value = n или Cells(2, 4) = n – в ячейку, находящуюся на пересечении 2-й строки и 4-го столбца (ячейка с адресом “D2”), заносится значение переменной n.

Синтаксис чтения свойств объекта следующий:

Переменная = Объект. Свойство

Xn = Cells(1, 2).Value или Xn = Range(“B1”).Value – переменной Xn присваивается значение из ячейки B1 текущего рабочего листа.

Синтаксис применения методов к объекту:

Объект. Метод

Sheets(2).Activate сделать активным лист с №2.

Sheets(“Диаграмма”).Delete удалить лист с именем “Диаграмма”.

Range(«A5:A10»).Clear – очистить диапазон ячеек A5:A10.

Range(«A2:B10»).Select – выделить диапазон ячеек A2:B10.

В MS Excel имеются объекты, которые содержат другие объекты. Например, рабочая книга содержит рабочие листы, рабочий лист содержит диапазон ячеек и т.д. Объектом самого высокого уровня является Application (приложение). Если вы изменяете его свойства или вызываете его методы, то результат применяется к текущей работе MS Excel. Например:

Application.Quit — завершение работы с Excel.

Отметим, что точка после имени объекта может использоваться для перехода от одного объекта к другому. Например, следующее выражение очищает вторую строку рабочего листа Май в рабочей книге Отчет:

Application.Workbooks(«Отчет«).Worksheets(«Май«).Rows(2).Delete

Нужно отметить следующее:

  • Можно не писать имя объекта Application, так как это подразумевается по умолчанию.
  • При работе с подобъектом уже активизированного объекта нет необходимости указывать содержащий его объект.
  • VBA использует некоторые свойства и методы, которые возвращают объект к которому они относятся (это позволяет быстро указывать нужный объект). Примеры таких свойств: ActiveCell (активная ячейка), ActiveSheet (активный лист), ActiveWorkBook (активная рабочая книга). Так, установить значение активной ячейки можно следующим образом:

ActiveCell.Value .

2.2. Описание данных

Все объекты, которыми оперирует язык программирования VВА, относятся к определенному типу.

Тип данных определяет:

– область возможных значений переменной;

– структуру организации данных;

– операции, определенные над данными этого типа.

Типы данных подразделяются на простые (скалярные) и сложные (структурированные). У простых типов данных возможные значения данных едины и неделимы. Сложные же типы имеют структуру, в которую входят различные простые типы данных. Скалярные типы данных представлены в таблице 2.1.

Что такое VBA? Что такое макросы VBA? Что такое надстройки?

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

Что такое VBA?

Итак, VBA – это сокращение от слов Visual Basic for Applications. VBA – это слегка упрощенная версия языка программирования Visual Basic, которую поддерживают приложения Microsoft Office.

Кроме того VBA встраивается и в другие программные продукты, такие как AutoCAD, SolidWorks, CorelDRAW, 3D Studio Max, и многие другие. Особенностью VBA является удобство при первом знакомстве с программированием, так как в наиболее используемых приложениях Microsoft Office имеется редактор VB (Visual Basic Editor), а также макрорекордер – средство кодирования действий пользователя для последующего их повторения. Кроме того, эти инструменты можно с успехом использовать для самостоятельного обучения программированию, «записывая» многие свои действия с помощью макрорекордера, а затем просматривая и корректируя результирующий код.

Что такое макросы VBA?

Таким образом, последовательности команд, записанных с помощью макрорекордера, либо вручную в редакторе VB, называются макрокомандами, либо сокращенно – просто макросами. Макрос VBA — это макрос, написанный на языке Visual Basic for Applications. Применительно к тематике программных приложений под словом макрос всегда имеется в виду макрокоманда.

При помощи макросов можно создавать пользовательские меню, диалоговые окна, а также панели инструментов, которые могут существенно изменить интерфейс всем известных приложений Word и Excel.

Что такое надстройки?

Надстройки – это программы, добавляющие в приложения дополнительные возможности.

Говоря обычным языком, надстройка – это особого типа файл, в котором могут содержаться различные сведения о константах, макросах, пользовательских формах и т.д. Надстройка — это также удобный способ хранения и распространения программного кода макроса (макросов). Файлы надстроек для Excel, имеют как правило расширения .xla/.xlam, надстройки для Word представляют собой глобальные шаблоны и имеют расшерения .dot/.dotm. Для PowerPoint — это pptm-файлы.

Редактор Visual Basic – не только средство редактирования кода, но и средство отладки кода, так как дает пользователям возможность в интерактивном режиме проверить действие любой синтаксической конструкции.

Если Вы попали на страницы этого сайта, то скорее всего Вы уже знакомы с тем, что такое MS Office в целом и MS Excel в частности. Остановимся на наиболее популярных приложениях пакета — Word и Excel, так как именно для этих приложений уже существует наибольшее количество готовых макросов и надстроек, но программирование можно использовать и в других приложениях пакета.

Microsoft Word – один из наиболее популярных текстовых редакторов, который позволяет набирать, редактировать, форматировать и распечатывать текст.

Microsoft Excel – наиболее популярное приложение для работы с таблицами и табличными данными, совмещающая в себе систему обработки числовых данных, средства для построения диаграмм и обработки электронных таблиц.

Проще говоря, Excel – это удобная табличная форма с возможностями калькулятора, позволяющего выполнять интенсивные расчеты на основе имеющихся данных. О том как работать с этими приложениями написано немало литературы, которую можно найти и на просторах интернета и на полках книжных магазинов. Если же Вы уже освоили стандартные возможности офисных приложений и посчитали, что этого недостаточно для решения Ваших задач, то давайте перейдем к вопросам «Что такое VBA?», «Что такое Макросы?», «Что такое надстройки» и «Как всем этим пользоваться?». Конечно, и Word, и Excel предоставляют достаточно широкий набор функций для выполнения самых разнообразных задач, но все же знание и использование макросов VBA дает такие преимущества, которые невозможно переоценить.

Для чего нужны макросы и надстройки?

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

голоса
Рейтинг статьи
Читайте так же:
Что делать, если забыл пароль от Стима?
Ссылка на основную публикацию
Adblock
detector