Слепцова Л.Д. Программирование на VBA в Microsoft Office 2010 – скачать книгу бесплатно Скачать книгу

Поиск книг на сайте  |  Каталог книг в формате pdf, djvu, fb2  |  Читайте нас вЧитайте нас в twitter!
Не нашли нужную книгу? Закажите
Подпишитесь на бесплатную рассылку новых книг

Скачать книгу Слепцова Л.Д. Программирование на VBA в Microsoft Office 2010

Слепцова Л.Д. Программирование на VBA в Microsoft Office 2010

Слепцова Л.Д. Программирование на VBA в Microsoft Office 2010. –М.: ООО "И.Д. Вильямс", 2010. –432 с.: ил. ISBN 978-5-8459-1663-1 (рус.).

Использование диалоговых окон Excel

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

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

Dim Диалог As Dialog
Set Диалог = Dialogs(Тип_окна)

Здесь аргумент Тип_окна определяет конкретное диалоговое окно, доступ к которому требуется получить. В библиотеке типов Excel содержится список предопределенных констант в форме xlDialogXXXX, где ХХХХ определяет конкретное диалоговое окно. В большинстве случаев (но не во всех) имя ХХХХ связано с именем соответствующего диалогового окна в английской версии приложения. Например, константа xlDialogOpen определяет диалоговое окно открытия файла. Когда диалоговое окно имеет вкладки, константа приобретает вид xlDialogXXXXyyyy, где хххх определяет диалоговое окно, а уууу – его отдельную вкладку. Так, константа xlDialogFormatNumber определяет вкладку Число диалогового окна Формат ячеек.

После того как ссылка на требуемое диалоговое окно получена, для его отображения можно использовать метод Show этого объекта. Синтаксис его следующий.
Окно.Show(Аргументы)

Здесь набор параметров Аргументы определяется типом открываемого окна. Иногда никаких аргументов не требуется, а в других случаях передаваемые открываемому окну аргументы обязательны и определяют исходное состояние открываемого диалогового окна. Набор и краткое описание аргументов метода Show диалоговых окон можно найти на странице справочной системы редактора VBA в Excel, если в ее строку поиска ввести значение Built-in Dialog Box Argument Lists.

Следует отметить, что изменения и любые действия, выполненные пользователем в открытом диалоговом окне, вступают в силу автоматически, обычным способом. Ваша программа сама должна получить информацию о внесенных пользователем изменениях, а затем поступить с ними требуемым образом.
Метод Show возвращает значение типа Boolean, определяющее, какая кнопка использована для закрытия окна: True, если пользователь щелкнул на кнопке ОК, и False, если щелчок был сделан на кнопке Отмена (Cancel).

Следующий пример показывает, как открыть из программного кода диалоговое окно Open, а затем проверить, открыл ли пользователь какой-либо файл.

Dim Диалог As Dialog Dim Кнопка As Boolean
Set Диалог = Application.Dialogs(xlDialogOpen)
Кнопка = Диалог.Show If Кнопка Then
MsgBox ("Файл открыт") Else
MsgBox ("Файл не открыт") End If

В этом случае, если в раскрывшемся диалоговом окне пользователь выберет некоторый файл и щелкнет на кнопке Open, указанный файл будет открыт и метод Show возвратит значение True. В противном случае для закрытия диалогового окна пользователь вынужден будет щелкнуть на кнопке Отмена, и метод возвратит значение False.

В приложении Excel имеется 1101 (!) встроенное диалоговое окно. Информацию о них можно получить с помощью справочной системы редактора VBA, выполнив поиск фразы Built-in Dialog Boxes. Результаты поиска по этой фразе включают множество ссылок на описание доступных в Excel диалоговых окон, а полный перечень всех окон с указанием аргументов их вызова можно увидеть, если перейти по первой ссылке – Built-in Dialog Box Argument Lists.

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

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

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

Написание пользовательских функций рабочего листа Excel

Пользовательские функции Excel – это в сущности обычные VBA-функции. Текст функции начинается с декларации ее имени и заканчивается оператором End Function. Внутри может присутствовать оператор, присваивающий значение переменной с именем функции, – данное значение как раз и будет возвращать функция при выполнении.

Function SeparatorAvailable()
SeparatorAvailable = Application.DecimalSeparator End Function

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

Выполнить функцию в программе – значит использовать стандартную процедуру обращения к функции в языке VBA, т.е. вызвать ее внутри процедуры Sub. Подробно об этом речь шла в главе 7.

Для того чтобы вставить в рабочий лист значение, возвращаемое созданной вами функцией, следует использовать тот же механизм, который применяется для встроенных функций Excel, – внести имя функции в ячейку после знака равенства. Вслед за именем функции следуют круглые скобки, в которые заключаются требуемые значения аргументов. Скобки необходимы даже в том случае, когда аргументы отсутствуют. Например: =SeparatorAvailable().

Так же как и встроенные, пользовательские функции могут быть частью более сложной формулы ячейки. Например: = "Используется десятичный разделитель "' & Separator-AvailableQ & ""'. Результат помещения этой формулы в ячейку рабочего листа показан на рис. 13.10. (Напомним, что приведенное выше определение функции SeparatorAvailable() должно присутствовать в одном из программных модулей, доступных приложению в данный момент.)

Можно добавить к функции описание, которое будет появляться в диалоговом окне мастера вставки функций Excel при выборе функции. Чтобы создать описание, на вкладке Вид ленты приложения в группе Макросы раскройте меню кнопки Макросы и выберите команду Макросы, а затем в раскрывшемся диалоговом окне Макрос в поле Имя макроса введите имя функции (по умолчанию функции не отображаются в списке макросов этого окна). Теперь щелкните на кнопке Параметры и введите описание функции в поле Описание раскрывшегося диалогового окна Параметры макроса (рис. 13.11). По завершении щелкните на кнопке ОК и закройте окно Макрос.

Если нужная функция хранится в текущей книге, достаточно просто написать ее имя в ячейке формулы. Для того чтобы использовать функцию, хранящуюся в другой открытой книге, имени функции должно предшествовать имя рабочей книги и восклицательный знак, например
= Личные_функции.xlsm!SeparatorAvailable().

Для доступа к функциям, хранящимся в книгах, не открытых в текущий момент, необходимо создать на них ссылку. Для этого в окне редактора VBA выберите команду Tools^References. Если нужная рабочая книга – точнее, имя требуемого VBA-проекта, сохраняемого в этой книге, – не представлена в списке раскрывшегося диалогового окна References, щелкните на кнопке Browse для ее локализации и добавления в список. Если в раскрывшемся диалоговом окне AddReferences флажок рядом с требуемым проектом не установлен, обязательно установите его для активизации ссылки. Теперь любую из содержащихся в данном проекте функций можно использовать, просто указав ее имя, не указывая при этом имени книги.

Не читаются скачанные книги в форматах djvu, pdf, rar, fb2? Не получается скачать книгу с depositfiles? Прочтите подсказки

Скачать электронную книгу в формате pdf djvu Скачать бесплатно книгу Слепцова Л.Д. Программирование на VBA в Microsoft Office 2010

Читать фрагмент, купить и скачать в магазине электронных книг Купить  и  скачать  книгу Читать фрагмент, купить и скачать книгу fb2, epub, на андроид в магазине электронных книг ЛитРес

Читайте спиcок всех книг онлайн для бесплатного скачивания без регистрации: Формулы Excel

Каталог книг по темам для бесплатного скачивания в электронных форматах

Наш сайт регулярно обновляется, и Вы можете получать новинки – электронные книги, которые на нём размещаются.
Подпишитесь на обзор книжек, и он будет приходить на Вашу электронную почту.
Вы всегда сможете легко отказаться от этой бесплатной рассылки. --> Читать последний выпуск книжной рассылки
подписаться на новые книги:
 
Я
Ищу
в возрасте от до

 
Следите за книжными новинками в Twitter
Рейтинг@Mail.ru Яндекс.Метрика +Freabooks