Работа с макросами в офисных приложениях — КиберПедия 

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

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Работа с макросами в офисных приложениях

2023-02-03 39
Работа с макросами в офисных приложениях 0.00 из 5.00 0 оценок
Заказать работу

Горностай, А.В.

Г хх Программирование на языке VBA: лабораторный практикум для студентов специальности 1-43 01 03 / сост.: А.В. Горностай. – Минск: БНТУ, 2013. – 66 с.

 

ISBNxxxxxx

 

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

 

ISBNxxx                                                          © БНТУ, 2013

 


Введение

 

Visual Basic for Applications (VBA) – разновидность объектно-ориентированного языка программированияVisual Basic, встраиваемая практически во все офисные и многие другие приложения. Для использования его возможностей нужно из основного приложения, в котором он встроен, войти в редактор VBA. В приложениях MSOffice2010 (Word, Excel, Acces, PowerPointдр.)это делается нажатием комбинации клавиш <Alt+F11>или выбором команды Visual Basicна ленте вкладки Разработчик.В обоих случаях откроется главное окно редактора VBA, в котором и производятся все действия по созданию кода программ и графических объектов приложения VBA.

Для Excel2010 код программы можно вводить в нескольких местах - на листах VBA в папке MicrosoftExcelObjects, в модулях в папкеModulesи в разделах окна кода, связанных с графическим объектом UserForm. Для быстрого запуска программы на VBAиспользуется функциональная клавиша <F5>, а для пошаговой проверки программы – клавиша <F8>.

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

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

По выполненнойлабораторной работе требуется подготовить отчет, который должен содержать:

1. Наименование и цель работы.

2. Отрабатываемые задания и краткое описание хода их выполнения.

3. Пометки наиболее трудных вопросов для дополнительной проработки.

4. Выводы по работе.

Лабораторная работа №1

Методические материалы

 

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

Для создания макроса в редакторе VBAнеобходимо сначала открыть специальное окно - MicrosoftVisualBasicforApplications из окна офисного приложения, в котором мы хотим создавать макрос. Это окноназывается редактор программ на VBA, или кратко - редактор VBA. Во всех офисных приложениях это можно сделать одинаково – нажать <Alt+F11>. Откроется главное окно редактора VBA, возможный вид которого показан на рис.1.1.

Макросы хранятся впрограммных модулях. В любой книге Excel можно создать любое количество программных модулей и разместить там макросы. Один модуль может содержать любое количество макросов. Выбор макроса в модуле для запуска на выполнение производится установкой курсора в любое место текста кода макроса. Доступ ко всем модулям осуществляется с помощью окна Project Explorer в левом верхнем углу окна редактора VBA (если его не видно, нажмите <Ctrl+R>).

Программные модули бывают нескольких типов для разных ситуаций:

· стандартные модули- используются в большинстве случаев, когда речь идет о макросах. Для создания такого модуля выберите в менюInsertкомандуModule. В появившееся окно кода нового пустого модуля можно вводить команды на VBA, набирая их с клавиатуры или копируя их из другого модуля;

Рис. 1.1 Вид окна редактора VBA в Excel 2010

 

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

· модуль листа- доступен через Project Explorer и через контекстное меню листаExcel(командаИсходный текст). Сюда записывают макросы, которые должны выполняться при наступлении определенных событий на листе.

Вид макроса с именем Macros_1, введенного в модульлиста Лист1, приведен на рис. 1.2.

 

Рис. 1.2 Пример кода макроса в модуле Лист1

Структуракода этого макроса следующая:

· любой макрос начинается с оператораSub, за которым идет имя макроса и список аргументов в скобках. Если аргументов нет, то скобки надо оставить пустыми;

· любой макрос должен заканчиваться операторомEnd Sub;

· все, что находится междуSubиEnd Sub–это  команды, которые будут выполняться при запуске макроса.

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

Макрорекордер- это небольшая программа, встроенная в Excel, которая переводит любое действие пользователя на язык программирования VBA и записывает код в программный модуль.

Естественно, у такого способа есть свои плюсы и минусы:

· макрорекордер записывает только те действия, которые выполняются в пределах окна Excel;

· макрорекордер может записать только те действия, для которых есть команды меню или кнопки в Excel. Программист же может написать макрос, который делает то, что Excel никогда не сделает;

· допущенная во время записи макроса ошибка будет записана. Однако можно нажать на кнопку отмены последнего действия Undo - во время записи макроса макрорекордером она не просто возвращает в предыдущее состояние, но и стирает последнюю записанную команду на VBA.

Запуск макрорекордеравExcel 2010 осуществляется кнопкой Запись макроса, которую можно найти в нескольких местах:

· в левой части строки состояния книги Excel;

· на вкладке Вид при выборе команды Макросы;

· на специальной вкладке Разработчик, где собраны все инструменты для работы с макросами.

При нажатиина кнопкуЗапись макросаоткрываетсядиалоговое окно Запись макроса, показанное на рис. 1.3.

 

Рис. 1.3 Диалоговое окно Запись макроса

 

В поле Имя макросанеобходимо ввестиимя макроса, которое должно начинаться с буквы.

В поле Сочетание клавиш можно ввести букву для быстрого вызова макроса.

Выбором значения поляСохранить в определяется, где будет сохранен макрос:

· Эта книга - макрос сохраняется в модуль текущей книги и будет выполняться,пока эта книга открыта в Excel;

· Новая книга– макрос сохраняется в шаблон, на основе которого создается любая новая пустая книга в Excel;

· Личная книга макросов– это специальная книга Excel с именемPersonal.xls b, которая используется как хранилище макросов. Все макросы изPersonal.xls bзагружаются в память при старте Excel и могут быть запущены в любой момент и в любой книге.

В поле Описание желательно внести краткое описание макроса, чтобы в будущем легко было вспомнить его назначение.

После нажатия кнопки ОКначинается запись выполняемых действий пользователя. Во время записи макроса кнопка Запись макроса изменяет свое назначение наОстановить запись , которую и необходимо нажать для остановки записи макроса.

Для просмотра и редактирования кода записанного макроса используется кнопкаИзменить окна Макрос, показанная на рис. 1.4.

Рис. 1.4. Окно работы с макросами

 

Окно можно открыть нажатием кнопки Макросы на вкладках РазработчикилиВидили комбинацией клавиш <Alt+F8>.

Из окна Макрос можно выполнить и другие действия с записанными макросами, нажимая на требуемую кнопку (например, удалить ненужный макрос). При нажатии кнопки Параметры откроется диалоговое окно, в котором можно переопределить клавишу запуска на выполнение и отредактировать описание макроса.

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

Для настройки макроса кнопке на панели быстрого доступа в Excel 2010 нужно выполнить следующие операции:

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

· в открывшемся окне Параметры Excel в спискеВыбрать команды из выбратьМакросы;

· в поле, расположенном ниже, выбрать имя макроса и нажать кнопкуДобавить. Имя выбранного макроса появится в списке на правом поле окна;

· в списке настройки этого поля выбрать имя макроса и нажать кнопкуИзменить;

· в открывшемся окне выбрать понравившийся значок и нажать кнопку ОК. Выбранный значок появится на панели быстрого доступа;

· закрыть окно Параметры Excel.

Настроить макрос кнопке на панели быстрого доступа можно также из меню Файл, выбрав команду Параметры, и в открывшемся окне Параметры Excelвыбрать команду Строка быстрогодоступа.

Настройкамакроса кнопке быстрого доступа в Word 2010производится также, каки в Excel 2010.


 

Лабораторная работа № 2

Методические материалы

 

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

Вход в редактор VBAво всех приложениях MSOffice выполняется одинаково:

· самый простой способ: на вкладке Разработчик нажать кнопкуVisual Basic;

· самый быстрый способ: нажать <Alt>+<F11>;

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

· можно открыть готовый макрос на редактирование в диалоговом окнеМакрос.

В любом случае откроется окно редактора VBA, показанное на рис.1.1.

Всего в редакторе VBA9 окон:

· ProjectExplorer - окно проводника проекта. По умолчанию оно открыто и находится в левой части окна редактора VBA. В нем можно просмотреть компоненты проекта и выполнить с ними множество операций;

· UserForm - окно формы. Появляется тогда, когда вы редактируете пользовательскую форму из окна дизайнера формы;

· Toolbox - панель инструментов управления. Из нее можно добавить требуемые элементы управления на форму или в документ. Появляется в окне дизайнера форм при создании новой формы;

· Properties - одно из самых важных окон. Через него можно просмотреть свойства выбранного элемента управления или компонента проекта и отредактировать их при необходимости;

· Code - окно программного кода. В этом окне выполняется основная работа по написанию кода программы на VBA. При открытии программного модуля открывается автоматически;

· ObjectBrowser - обозреватель объектов. Необходим для получения информации о классах и объектах, доступных программе;

· Watch es - окно контролируемых выражений. Используется во время отладки для отслеживания значений выбранных переменных программы и выражений;

· Locals - окно локальных переменных. Нужно для отслеживания во время отладки значений переменных текущей процедуры;

· Immediate -окно просмотра значений переменныхcвозможностью выполнения отдельных строк программного кода при отладке и немедленноговывода результата.

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

Окно Project Explorer(Проводник проектов) при первой активации редактора VBAобычно открыто. Если оно случайно было закрыто, то вызвать его можно:

· нажав на клавиши <Ctrl>+<R>;

· нажав на кнопкуProjectExplorerна панели инструментов Standard;

· воспользовавшись командойProjectExplorerменюView.

В окнеProject Explorerпредставлено дерево компонентов приложения VBA.Самый верхний уровень – этоProject, которому соответствует документ Word, рабочая книга Excel, презентация PowerPoint и прочие файлы, с которыми работает данное приложение. Если редактор VBA открыт из Excel, то в Project Explorer будут открытые книги Excel и специальная скрытая книга PERSONAL.XLS B.

Каждый проект - это одновременно контейнер для хранениякак самого документа, так и стандартных модулей, модулей классов и пользовательских форм. Добавить в проект каждый из этих компонентов можно при помощи меню Insert или через контекстное меню в Project Explorer.

Стандартный модуль - это просто блок с текстовым представлением команд VBA. В нем может быть только два раздела:

· раздел объявлений уровня модуля (объявление переменных и констант уровня модуля);

· раздел методов модуля (расположение процедур и функций).

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

· для удобства экспорта и импорта (из контекстного меню в Project Explorer). Так можно очень удобно обмениваться блоками кода между приложениями VBA;

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

· для улучшения читаемостикода. Если приложение выполняет разные группы задач, то код, относящийся к каждой группе, лучше поместить в свой модуль.

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

В окне VBAProject Properties, которое в контекстном менюVBAProjec, можно:

· изменить имя проекта;

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

· защитить проект паролем.

Если необходимосоздать макрос вручную, а макросов в данном проекте еще нет, то нужно щелкнуть правой кнопкой мыши по имени проекта и в контекстном меню выполнить командуInsert>Module. В проекте будет создан новый модуль и сразу открыт в окне редактора кода.

Если макросы уже созданы в этом проекте (макрорекордером или вручную), то модуль будет уже создан. Его можно увидеть под контейнером Modules.

В окне Code(Редактор программного кода) выполняется основная часть работы по программированию, поэтому знать приемы работы с ним нужно очень хорошо. Открыть окно редактора кода можно разными способами:

· выбрать нужный элемент (в Project Explorer, в дизайнере форм и т.п.) и в контекстном меню выбрать View>Code;

· нажать клавишу<F7>;

· выбрать команду Code из менюView;

· дважды щелкнуть по объекту модуля в Project Explorer (или выделить его и нажать на кнопку Enter).

В верхней части окна редактора кода находятся два списка. Список слева – этосписок объектов. В нем можно выбрать объект, к которому будет относиться код. Если открыт программный код модуля, то здесь будет только пункт General. Если открыта форма - в этом списке кроме Generalможно выбрать саму форму или любой ее элемент управления и записать (просмотреть, изменить, удалить) для него код.

Список справа – этосписок процедурили событий. В нем есть раздел Declarations - объявления уровня всего модуля и список всех процедур (макросов) для стандартного модуля или событий, если создается или открыт код для формы. При выборе нужного события автоматически создаются строка заголовкаи строка окончания процедуры для обработки этого события. Между этими строками и нужно вставить исполняемый при возникновении данного события код.


 

Лабораторная работа № 3

Методические материалы

 

Для создания графического интерфейса VBA-программ в виде пользовательских диалоговых окон используются формы (объект UserForm).

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

Создать форму просто: для этого достаточно в редакторе VBAвыполнить команду Insert>User Form или щелкнуть правой кнопкой мыши по проекту в окне Project Explorer и в контекстном меню выбрать Insert>UserForm. Откроются два новых окна:окно дизайнера форм, в котором будет представлено пустое поле формы, и окноToolbox- панель с набором стандартных элементов управления. Возможный вариант окна дизайнера форм представлен на рис. 3.3.

 

Рис. 3.3 Окно дизайнера форм VBA в Excel

 

Если окно Toolbox по какой-либо причине скрыто, его можно открыть из меню View .

Если включен показ окна свойств Properties(он включается по клавише <F4>), то в этом окне будут представлены свойства формы. Переход на код для этой формы (по умолчанию открывается событие Click) - по клавише <F7>, возврат обратно в окно дизайнера форм - по <Shift>+<F7>.

Некоторые важные свойства объекта UserForm:

· свойство Name -определяет имя формы, которое используется в  программном коде для этой формы;

· свойство Caption - определяет заголовок формы;

· свойство Enabled - используется для временного отключения формы, если установить False;

· свойство ShowModal - по умолчанию установлено True.Пользователь не может перейти к другим формам или вернуться в документ, пока не закроет эту форму.

 

Некоторые важные методы объекта UserForm:

· Show - если форма уже была загружена в память, она просто станет видимой, если еще нет - то будет автоматически загружена;

· Hide - форма будет убрана с экрана, но останется в памяти.

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

Самые важные события объекта UserForm:

· Initialize - происходит при подготовке формы к открытию (появлению перед пользователем);

· Click (выбирается по умолчанию) - реакция на одиночный щелчок мыши;

· Error - это реакция на возникновение ошибки в форме, используется как возможность предоставить пользователю исправить сделанную им ошибку;

· Terminate- событие используется при нормальном завершении работы формы и выгрузке ее из памяти.

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

Элементы управления - это специализированные объекты, которые можно размещать на формах VBA и непосредственно в документах, используемые для организации взаимодействия с пользователем. В VBA можно использовать как стандартные элементы управления (CommandButton, CheckBox, OptionButton и др.), так и нестандартные - любые другие, которые есть на компьютере (например, Calendar). Элементы управления реагируют на события, которые генерирует пользователь (нажатие на кнопку, ввод значения, перемещение ползунка и др.).

Добавление элементов управления на форму производится в дизайнере форм при помощи Toolbox. Для этого необходимо выбрать элемент управления в Toolbox и перетащить его на форму.

Чаще всего элемент управления Label(Надпись)используется как строка состояния с объяснением того, что сейчас произошлоиличто должен сделать пользователь.

Самое важное свойство элемента Label - это Caption. В его поле набирается текст, который будет выводиться на форме. Большая часть остальных свойств относится к форматированию этого текста или настройке внешнего вида этого элемента на форме.

Элемент управления TextBox(Текстовое поле) - один из самых часто используемых элементов управления.Текстовое поле используется:

· для приема каких-либо текстовых данных, вводимых пользователем;

· для вывода пользователю текстовых данных с возможностью их редактирования или только копирования и печати.

Некоторые важные свойства TextBox:

· Value или Text - то текстовое значение, которое содержится в этом поле. Используется для занесения исходного значения и для приема значения, введенного пользователем, в строковую переменную;

· AutoSize - возможность для текстового поля автоматически менять свой размер, чтобы вместить весь текст;

· Enabled–установка в False блокирует возможность редактирования текста в поле пользователем;

· Locked - поле будет выглядеть как обычно, пользователь сможет выделять и копировать данные из него, но не изменять их;

· MultiLine–определяет, можно ли использовать в текстовом поле несколько строк;

· PasswordChar–позволяет указать, за каким символом будут "прятаться" вводимые пользователем значения. Используется при вводе пароля;

· ScrollBars–определяет, будут ли показаны горизонтальная и вертикальная полосы прокрутки (в любом сочетании).

Главное событие для TextBox- это Change (то есть изменение содержания поля). Обычно на это событие привязывается проверка вводимых пользователем значений или синхронизация введенного значения с другими элементами управления.

 

Элемент управленияComboBox(Поле со списком) обычно используется в двух ситуациях:

· когда пользователю необходимо выбрать одно или несколько значений из списка размером от 4-х до нескольких десятков позиций;

· когда список позиций для выбора необходимо формировать динамически на основании данных из источника (базы данных, листа Excel).

Для заполнения списка позициями используется специальный метод AddItem. Обычно он помещается вобработчик события Initialize для формы. Применение его может выглядеть так:

Private Sub UserForm_Initialize()

ComboBox1.AddItem "Минск"

ComboBox1.AddItem "Могилев"

ComboBox1.AddItem "Витебск"

ComboBox1.AddItem "Гродно"

EndSub

Самым важным свойствомComboBoxявляется Value (или Text) - позволяет программным способом установить выбранное значение в списке или вернуть выбранное или введенное пользователем значение.

Главное событие для ComboBox- Change. Обычно в обработчике этого события проверяются введенные пользователем значения, затем эти значения переносятся в текстовое поле.

Элемент управления ListBox(Список) очень похож на ComboBox, но применяется гораздо реже по двум причинам:

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

· пользователь не может вводить свои значения – можно только выбирать из готового списка.

Основные свойства, методы и события у ListBox - те же, что и у ComboBox. Главное отличие - то, что имеется свойство MultiSelect, которое позволяет пользователю выбирать несколько значений. По умолчанию это свойство отключено.

Основные свойства элемента управления CheckBox(Флажок):

· Caption - надпись справа от флажка, которая объясняет, что выбирается этим флажком;

· TripleState - если в False (по умолчанию), то флажок может принимать только два состояния: установлен или нет. Если для TripleState установить значение True, то появляется третье значение: Null;

· Value - само состояние флажка. Может принимать значения True (установлен), False (снят) и Null(нейтральный), когда свойство TripleState установлено в True.

Главное событиеCheckBox -Change.

Элемент управления ToggleButton(Выключатель) выглядит как кнопка, которая при нажатии становится включенной, а при повторном нажатии отключается. У нее могут быть те же два (или три, в соответствии со свойством TripleState) состояния, что и у CheckBox. Свойства и методы - те же самые. Единственное отличие - в восприятии их пользователем. Обычно ToggleButton воспринимается пользователем как переход в какой-то режим или начало выполнения продолжительного действия.

Если CheckBox предназначен для выбора невзаимоисключающих вариантов, то OptionButton(Переключатель) как раз нужен для выбора варианта в ситуации или/или.

Главных свойств у этого элемента управления два:

· Caption - надпись для переключателя;

· Value - установлен флажок или нет (только два состояния True или False).

Frame (Рамка) - это просто рамка, которая выделяет прямоугольную область на форме и позволяет сгруппировать элементы управления. Помещенные внутрь рамки переключателисчитаются взаимоисключающими. При желании рамку можно сделать невидимой, установив для свойства BorderStyle значение 1 и убрав значение свойства Caption.

Элемент управления CommandButton (Кнопка)— самый распространенный элемент управления в формах.В большинстве форм обязательно будет по крайней мере две кнопки: Cancel(Отмена) и OK. По нажатию кнопки Cancelформа должна закрыться, по нажатию кнопки OK должно выполниться то действие, ради чего создавалась эта форма.

Главное событие для кнопки - это Click. Как правило, к этому событию и привязывается тот программный код (обработчик), ради которого создавалась кнопка.

Самые важные свойства кнопки:

· Cancel - если для него установить значение True, то это значит, что кнопка будет нажиматься при нажатии на клавишу <Esc>;

· Caption - надпись, которая будет на кнопке;

· Default - такая кнопка будет считаться нажатой, если пользователь нажал на клавишу <Enter>, а курсор находился в другом месте формы (но не на другой кнопке). Обычно такие кнопки являются главными, по которым выполняется действие, ради которого создавалась форма;

· Picture - если просто надпись вас не устраивает, можно назначить кнопке рисунок.

ScrollBar (Полоса прокрутки) чаще всего встречается в текстовых полях, когда введенный текст полностью на экране не умещается.

Главное событие для этого элемента управления -Change.

Главные свойства выглядят так:

· Max и Min - максимальное и минимальное значения, которые можно задать при помощи этого элемента управления;

· LargeChange и SmallChange–определяют, какими шагами будет двигаться ползунок при перемещении его пользователем (путем щелчка на полосе ниже ползунка или при нажатии на кнопку направления соответственно);

· Orientation - определяет расположение ползунка: вертикальное или горизонтальное;

· Value - главное свойство этого элемента управления. Определяет положение ползунка и то значение, которое будет возвращать этот элемент управления программе.

Элемент управления SpinButton (Счетчик) - это та же полоса прокрутки, лишенная самой полосы и ползунка. Все свойства, которые есть у SpinButton, совпадают со свойствами ScrollBar.

Image(Рисунок)позволяет отобразить на форме рисунок в одном из распространенных форматов, который будет реагировать на щелчок мышью или просто использоваться для украшения формы.

Главное событие элемента Image - событие Click.

Главные свойстваImage:

· Picture - позволяет выбрать само изображение для формы;

· PictureAlignment - позволяет выбрать местонахождение изображения в отведенной ему области. По умолчанию - по центру;

· PictureTiling–определяет, размножать ли маленький рисунок, чтобы он покрыл все отведенную ему область.

Стандартные элементы управления изначально помещены в ToolBox и доступны для размещения в формах. Для размещения дополнительных элементов управления на форме нужно сначала вставить их в окно ToolBox. Для этого надощелкнуть правой кнопкой мыши по пустому пространству в ToolBoxи выбрать пункт Additional Controls.

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

Главное свойство элемента Calendar - Value, то есть та дата, которая выбрана пользователем. Остальные свойства предназначены для оформления внешнего вида.

.

Рис. 3.4Вид элемент управления Calendarна форме

 


 

Лабораторная работа № 4

Методические материалы

 

Опыт показывает, что при написании программного кода могут быть допущены ошибки.Задача программиста - найти эти ошибки и устранить их до передачи программы конечному пользователю.

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

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

В режим паузы программу можно перевести:

· сразу запустить программу в режиме пошагового выполнения (меню Debug>StepIntoиликлавиша<F8>). В этом случае программа будет переходить в режим паузы после выполнения каждого оператора;

· установить в программе точку останова (breakpoint). Это можно сделать установкой указателя в нужной строке кода и выбором в меню Debugкоманды Toggle Breakpoint (<F9>). Второй вариант - просто щелкнуть мышкой по рамке слева от строки. Снятие точки останова - сделать все то же самое еще раз;

· еще одна возможность приостановить выполнение программы - воспользоваться контролируемым выражением в окне Watch es.

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

В режим паузы можно:

· продолжить выполнение программы в пошаговом режиме - команда Debug->Step Into(<F8>);

· если в строке программы происходит вызов какой-то процедуры, которая уже отлажена, можно без остановок перейти к следующему оператору - Debug>Step Over(<Shift>+<F8>);

· довести выполнение начатой процедуры до конца - команда Debug>Step Out(Ctrl>+<Shift>+<F8>);

· исполнить код не пошагово, а участками.Для этого надо щелкнуть правой кнопкой мыши по нужному участку кода и в контекстном меню выбрать Run to Cursorили воспользоваться той же командой в меню Debug(<Ctrl>+<F8>);

· "перепрыгнуть" через какой-то участок кода, вызывающий ошибку - командаDebug>Set NextStatement(<Ctrl>+<F9>), а затем перетащить желтую отметку по левой границе вниз или вверх;

· вернуться к месту остановки без долгих розысков -Show Next Statement;

· продолжить выполнение после остановки - <F5> или воспользоваться командой Continue (она появится вместо команды Run) в меню Run;

· прекратить выполнение программы командойReset(<Alt>+<F4>).

В окне Immediate (вызовиз меню View или <Ctrl>+<G>) можно просматривать или изменять значения переменных и свойств объектов.

Вывод в окно Immediateзначений переменной aможно произвести, вписав в код программы строкуDebug.Print a.

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

Чтобы не печатать в окне Immediate выражения и имена переменных, которые уже есть в коде, можно воспользоваться перетаскиванием участков кода в окно Immediate из окна редактора кода с нажатой клавишей <Ctrl>для копирования.

Окно Watch es(Контролируемые выражения) предназначено для контроля за отдельными выражениями и значениями переменных.

Чтобы добавить контролируемое выражение в окно Watch es, нужно щелкнуть по нему правой кнопкой мыши и выбрать из контекстного меню командуAdd Watch.

Для редактирования контролируемоговыраженияв окнеWatchesиспользуется команда Edit Watch, для удаления - Delete Watch, для добавления нового -Add Watch.

Вид окна Watches с введенными двумя контролируемыми выражениями приведен на рис. 4.4.

 

Ртс. 4.4 Вид окна Watch esс добавленными контролируемыми выражениями


 

Лабораторная работа № 5

Методические материалы

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

Оператор If…Then... Else применяется:

· когда нужно проверить на соответствие одному условию и в случае соответствия сделать какое-то действие;

If nTemperature < 10 Then

MsgBox "Одеть куртку"

End If

· когда нужно сделать то же, что и в предыдущем примере, а в случае несоответствия выполнить другое действие;

If nTemperature < 10 Then

MsgBox "Одеть куртку"

Else

MsgBox "Одеть ветровку"

End If

· когда нужно проверить на соответствие нескольким условиям;

If (nTemperature < 10) And (bRain = True) Then

MsgBox "Одеть куртку и взять зонтик"

End If

· в случае, если первая проверка вернула False, нужно проверить на соответствие еще нескольким условиям (в этом случае удобно использовать ElseIf);

If (bIGoInCar = True) Then

MsgBox "Одеться для машины"

ElseIf nTemperature < 10 Then

MsgBox "Одеть куртку"

Else

MsgBox "Можно идти в рубашке"

EndIf

ОператорSelect Case идеально подходит для проверки одного и того же значения, которое нужно много раз сравнить с разными выражениями;

Select Case sDayOfWeek

Case "Понедельник "

MsgBox "Салат из шпината"

Case "Вторник"

MsgBox "Салат из морской капусты"

Case Else

MsgBox "На этот день у нас ничего не предусмотрено"

End Select

Операторы циклав VBAиспользуются в ситуациях, когда нужно выполнить какое-либо действие несколько раз. Если известно, сколько раз нужно выполнить действие, используется конструкция For…Next:

For iCounter = 1 to 10

MsgBox "Счетчик: " & iCounter

Next

Чтобы указать, насколько должно прирастать значение счетчика, используется ключевое слово Step:

For iCounter = 1 to 10 Step 2

MsgBox "Счетчик: " & iCounter

Next

Можно и уменьшать исходное значение счетчика:

For iCounter = 10 to 1 Step -2

MsgBox "Счетчик: " & iCounter

Next

Для безусловного выхода из конструкции For…Next используется команда Exit For.

VStop = InputBox (“Введите значение останова”)

VInput = CInt(VStop)

For iCounter = 1 to 10

MsgBox "Счетчик: " & iCounter

If iCounter =VInput Then Exit For

Next

Очень часто в VBA требуется сделать какое-нибудь действие со всеми элементам коллекции или массива - перебрать все открытые документы, все листы Excel, все ячейки в определенном диапазоне и т.п. Для того, чтобы пройти циклом по всем элементам коллекции, используется команда For Each … Next:

ForEachoWbkinWorkbooks

MsgBoxoWbk.Name

Next

При использовании этого приема можно очень просто найти и получить ссылку на нужный нам объект:

For Each oWbk in Workbooks

If oWbk.Name = "Сводка.xls" Then

Set oMyWorkBook = oWbk

Exit For

End If

Next

Когда число повторений зависит от какого-либо условия, используются конструкции Do While…Loop и Do Until…L


Поделиться с друзьями:

Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.239 с.