Глава 20. Десятка (без трех) эффектных решений с помощью VBA.
Глава 20. Десятка (без трех) эффектных решений с помощью VBA.
В этой главе ...
~ Сохранение установок программы в реестре Windows и извлечение их оттуда
~ Доступ к объектам других приложений
~ Работа с базами данных в VBA
~ Сохранение информации на диске и ее чтение с диска
~ Сохранение табличной информации в объектах Dictionary
~ Создание своих собственных объектов
~ Установка элементов управления ActiveX
Прочитав книгу до этой главы (а значит, большую ее часть), вы стали почти экспертом по VBA. Теперь вас уже не нужно постоянно вести за ручку, поэтому в этой главе, знакомящей с целым рядом важных приемов программирования в VBA, описания будут довольно сжатыми. Вы сможете воспользоваться предлагаемой здесь информацией на практике, чтобы почувствовать удовольствие от освоения достаточно тонких приемов программирования.
Сохранение информации в реестре Windows
Чтобы сохранить установки и значения других переменных, можно использовать небольшие файлы на диске, но реестр Windows как раз и предназначен для хранения подобных данных. VBA обеспечивает все необходимые средства для создания параметров реестра, размещения там данных и последующего извлечения информации.
Сохранение элемента информации в реестре осуществляет оператор Save Settings, который автоматически создаст заданный вами параметр, если его в реестре не окажется. Синтаксис оператора следующий:
Save Settings приложение, раздел, параметр, значение
Здесь приложение, раздел и параметр- это имена соответствующих уровней иерархии реестра. Все установки реестра для одной VBA-программы должны размещаться в одной, созданной специально для этой программы ветви реестра (используйте аргумент приложение для идентификации этой ветви). Сохраняемые в реестре данные можно разбивать на разделы и параметры совершенно произвольно, используя при этом произвольные имена.
Если вы назвали свою программу "Случайные цитаты" и хотите добавить в реестр параметры, хранящие информацию о том, сколько раз вызывалось диалоговое окно, содержащее случайную цитату, используйте для этого оператор типа:
SaveSettings "Случайные цитаты", "Параметры", _
"Число вызовов", "6"
Последний аргумент, "6", задает реальные данные, которые должны быть помещены в реестр. На рис. 20.1 приведен результат выполнения этой строки программного кода.
Рис. 20.1. Вид реестра Windows после добавления пользовательского параметра
Подобным образом для извлечения данных из реестра используется функция Get Setting. В ее синтаксисе, показанном ниже, первые три аргумента обязательны, а аргумент по_умолчанию не обязателен:
Get Setting приложение, раздел, параметр, по_умолчанию
Функция Get Setting используется, когда нужно выяснить, какое значение хранится в некотором параметре реестра. В программном коде нужно присвоить значение функции
Get Setting переменной (вроде String или Variant ), например, так:
sngЧисло = GetSetting("Случайные цитаты", "Параметры", _
"Число вызовов")
Последний аргумент, аргумент ло_умолчанию, определяет значение, которое должна вернуть функция Get Setting, если указанный параметр в реестре не найден.
В VBA есть еще две команды, предназначенные для работы с реестром.
* функция GetAllSettings возвращает список всех параметров и их значений
в форме двумерного массива строк.
* Оператор DeleteSetting дает возможность удалить как значение, хранящееся в реестре, так и сам параметр.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Глава 5 Принятие решений и сортировка данных
Глава 5 Принятие решений и сортировка данных Эта глава посвящена принятию решений, сортировке и различным способам обработки данных в ХМL-документах. Мы рассмотрим элементы <xsl:if>, <xsl:choose>, <xsl:when>, <xsl:otherwise>, <xsl:for-each> и <xsl:sort>, при помощи которых вы сможете
12.4. О трех типах текстовых редакторов
12.4. О трех типах текстовых редакторов Редактирование текстовых файлов (с текстами на естественном языке, либо с текстами программ) - одна из наиболее часто выполняемых работ на любом компьютере и в любой операционной системе. Может быть, поэтому для Linux разработано уже
Глава 21. Три десятка ресурсов VBA.
Глава 21. Три десятка ресурсов VBA. В этой главе ...~ Дополнительная информация о VBA, представленная разработчиками программного обеспечения~ Периодические издания, посвященные VBA~ Поиск Web-ресурсов, относящихся к VBA~ Как получить новые элементы управления ActiveX и программные
Утилита обзора решений
Утилита обзора решений Если вы следуете указаниям этой главы, то создайте новое консольное приложение C# (с именем Vs2005Example), выбрав File?New?Project из меню. Утилита Solution Explorer (Утилита обзора решений), доступная из меню View, позволяет просматривать множество файлов и компоновочных
интернет: Больше трех не собираться
интернет: Больше трех не собираться Автор: Эйдман, ИгорьКак правило, мы стараемся не связываться с оригинальными исследованиями — у нас нет ни ресурсов для проверки научных результатов, ни, честно говоря, особого желания эти результаты проверять. Но отказаться от статьи
Карты решений SAP
Карты решений SAP Компания SAP разработала и представила исчерпывающие карты решений (SAP Solution Maps), которые описывают созданные для различных отраслей решения, а также соответствующую технологию и услуги, необходимые для обслуживания этих решений. Карты Решений SAP описывают
Василий Щепетнев: Дело трёх поросят
Василий Щепетнев: Дело трёх поросят Началось это жуткое и загадочное дело самым обычным образом.Мы сидели перед телевизором и смотрели мультфильмы о Винни-Пухе. Все три.Потом, когда экран отдали прыгунам с трамплина, Первый Гость сказал:— Да, умели в советское время за
Повторное использование памяти в трех режимах
Повторное использование памяти в трех режимах Для объектов, созданных как в основанном на стеке режиме, так и в динамическом режиме, возникает вопрос, что делать с неиспользуемыми объектами? Возможно ли память, занятую таким объектом, повторно использовать в более
E3 2010: Десятка лучших игр Андрей Письменный
E3 2010: Десятка лучших игр Андрей Письменный Опубликовано 16 июня 2010 года The Legend of Zelda: Skyward Sword Приключенческий экшен-сериал The Legend of Zelda не останется без продолжения, пообещал легендарный гейм-дизайнер Cигеру Миямото. Выступая на
Время пошло!.. Попытка оптимистического прогноза: дело для трех поколений
Время пошло!.. Попытка оптимистического прогноза: дело для трех поколений Автор: Юрий РомановИтак, сто лет. Все случится в 2107 году. Интрига в чём? Успеем или нет? Хватит ли у нас времени и денег[При подсчётах возможных затрат за основу брались суммы военных бюджетов наиболее
Правило трех третей
Правило трех третей Еще с древних времен широко применялось художниками в своих произведениях правило третей, или правило «золотого сечения». Суть этого закона заключается в том, что кадр нужно равномерно разделить линиями сетки на три вертикальные и три горизонтальные