Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Excel2010_студ.doc
Скачиваний:
9
Добавлен:
18.08.2019
Размер:
4.6 Mб
Скачать

5.5. Контрольные вопросы

1. Для каких задач используется процедура Подбор параметра?

2. Для чего применяются Таблицы подстановки?

3. В какую ячейку заносится формула, если значения подстановки находятся в строке (столбце)?

4. Для чего применяется Диспетчер сценариев?

5. Для каких задач используется процедура Поиск решения?

6. Какие параметры процедуры Поиск решения влияют на точность и скорость вычислений?

7. Какие ячейки называются изменяемыми?

8. Какая ячейка называется целевой?

9. Какие виды ограничений допускаются при использовании процедуры Поиск решения?

Предъявите работу преподавателю.

6. Основы программирования на vba

6.1. Общие положения

Несмотря на богатый набор возможностей стандартного интерфейса пользователя Excel, который продемонстрирован выше, может понадобиться несложный способ выполнять повторяющиеся задачи или какие-то задачи, которые не удается решить с помощью интерфейса пользователя. Для таких случаев в приложения Office интегрирован Visual Basic для приложений (VBA). Этот язык программирования, позволяющий расширять возможности приложений, работает, выполняя макросы – пошаговые процедуры, написанные на языке Visual Basic.

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

Объекты. Программируемые объекты связаны друг с другом в иерархию, называемую объектной моделью приложения. Объектная модель Excel содержит, среди многих других, объекты Application, Workbook, Sheet, Range. Объектная модель является общей картой приложения и его возможностей.

Свойства и методы. Управлять объектами можно, задавая их свойства и вызывая их методы. Задание свойства изменяет некоторое качество объекта. Вызов метода заставляет объект выполнить некоторое действие. Например, у объекта Workbook есть метод Close, закрывающий книгу, и свойство ActiveSheet, представляющее лист, активный в данный момент в книге. Основным свойством объекта Range, является Value (значение), которое, однако, можно не указывать. Например,

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

Коллекции. Многие объекты поставляются в версиях единственного и множественного числа — Workbook (книга) и Workbooks, Worksheet (лист) и Worksheets и т. д. Версии множественного числа называются коллекциями. Они используются для выполнения действия над несколькими объектами коллекции. Позднее мы рассмотрим, как использовать коллекцию Worksheets для изменения имени каждого листа книги.

6.2. Макросы и редактор vba

Если вкладка Разработчик установлена в интерфейсе Excel (рис. 30), то нужно обратить внимание на местонахождение кнопок Visual Basic, Макрос и Безопасность макросов.

П

Рис. 30. Вкладка Разработчик

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

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

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

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

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

Запись макроса. Если нажать кнопку Макрос, открывается диалоговое окно с одноименным названием, которое предоставляет доступ к подпрограммам или макросам VBA. Кнопка Visual Basic открывает редактор Visual Basic, где можно создавать и редактировать код VBA.

На вкладке Разработчик размещена кнопка Запись макроса, которая автоматически создает код VBA, позволяющий воспроизводить действия, выполненные пользователем в приложении. Запись макроса — это великолепное средство, которое можно использовать для изучения VBA. Читая сгенерированный код, можно понять язык VBA и объединить знания пользователя и программиста Office 2010. Единственное, что нужно помнить — это то, что сгенерированный код может быть запутанным, так как редактор макросов использует некоторые предположения о намерениях пользователя, которые не всегда точны.

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

  • упростить понимание кода, не только для автора, но и для всех, кому впоследствии может понадобиться изменить код;

  • временно отключить строку кода.

Задание 22. Создание новой книги, в которой будут сохраняться макросы.

1. Нажмите кнопку Макрос и в открывшемся диалоговом окне введите Hello в поле Имя макроса.

2. Нажмите кнопку Создать, чтобы открыть редактор Visual Basic с уже введенной структурой нового макроса, рис. 31.

Мы рассматриваем только те средства, которые используются для азов программирования. С

Рис. 31. Код макроса Hello

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

3. Сохраните эту книгу в формате XLSM-файла.

Рассмотрим текст созданного макроса. Sub — это сокращение от Subroutine (подпрограмма), которую в данном случае можно определить как "макрос". Вызов макроса Hello приведет к выполнению любого кода между строчками Sub Hello() и End Sub.

З

Рис. 32. Новый код макроса Hello

адание 23
. 1. Измените пользовательский код VBA в Excel в соответствии с рис. 32.

В этом коде оператор MsgBox осуществляет вывод информации в диалоговое окно и устанавливает режим ожидания нажатия кнопки пользователем.

2. Вернитесь на вкладку Разработчик в Excel.

3. Нажмите кнопку Макрос.

4. Выберите макрос Hello в появляющемся списке.

5. Нажмите кнопку Выполнить, чтобы вывести небольшое окно сообщения, содержащее текст «Hello, world!».

6. Нажмите кнопку ОК в окне сообщения, чтобы закончить выполнение макроса. Если окно сообщения не появляется, проверьте настройки безопасности макросов и перезапустите Excel.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]