- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
VBA для чайников - Стив Каммингс
Шрифт:
Интервал:
Закладка:
В действительности текстовое поле имеет как свойство Value, так и свойства Text. Оба эти свойства одинаковы для текстовых полей, однако многие другие элементы управления, такие как кнопки и полосы прокрутки, имеют только свойство Value, но не имеют свойства Text. Так как свойства Value и Text функционально одинаковы для текстовых полей, они равноценны. Я использую свойство Value только потому, что мне легче запомнить его параметры, а также потому, что многие другие элементы управления имеют это же свойство.
Для того чтобы обсудить использование свойства Value (или Text) на примерах, ознакомьтесь с разделами "Извлечение информации, введенной пользователем" и "Использование стандартных свойств элемента управления" ниже в настоящей главе.
Извлечение информации, введенной пользователем
Для того чтобы выяснить, какой текст ввел пользователь в текстовом поле, программа должна извлекать свойства Value или Text. Обычно вы должны назначить свойства для строковой переменной с оператором, как показано ниже:
strText BoxText = txtMessageFromUser.Value
После запуска программы переменная strText BoxText теперь содержит любой тип пользователя в текстовом поле, которое называется xt MessageFromUser.
Использование стандартных свойств элемента управления
Многие элементы управления обладают стандартными свойствами, к которым относится свойство Value.
В случае текстового поля вы не должны явно указывать, какое свойство используется - Value или Text - для настройки и извлечения содержимого текстового поля в коде VBA.
Поскольку свойство Value является стандартным свойством текстового поля, можно его пропустить. Следующая инструкция размещает сообщение в текстовом поле:
txtRUListening = "Do as I say!"
В данном примере в текстовом поле размешается текст, который пользователь ввел в строковой переменной:
strWhatHeard = txtSoundOffTextBox
Создание автоматически изменяющихся текстовых полей
Текстовые поля имеют те же свойства AutoSize, Wordwrap и Text Align, что и элементы управления. Работают они почти так же. Более подробная информация об этих свойствах содержится в разделе "Отправка сообщений с надписями" раньше в настоящей главе. Однако свойство Wordwrap работает только в текстовых полях, состоящих из нескольких строк, о чем я расскажу в главе 19, "Еще о VBA-формах".
Использование кнопок
Если вы хотите что-либо сделать, и сделать именно сейчас, проще всего нажать кнопку и получить немедленный результат. Кнопки создают ощущение власти над программой.
Стандартная кнопка представляет собой серый объект, на котором находится поясняющий текст, например OK, Cancel или Guess Again, Friend. Если простой текст оскорбляет ваш изысканный вкус, на кнопку можно поместить небольшое изображение. Для того чтобы сделать это, в окне Properties (Свойства) в поле свойства Picture щелкните на небольшой кнопке, на которой изображены три точки. Вы получите доступ к диалоговому окну, которое позволит указать файл с рисунком. На рис. 10.16 показаны различные кнопки.
Рис. 10.16. Кнопки могут быть различного размера, формы и формата. На двух кнопках, расположенных в нижнем левом углу, вместо текста находятся рисунки
К сожалению, кнопки ничего не будут делать, если о них ничего не сказано в программе. Щелчком на кнопке вызывается событие Click, однако вы должны написать код для того, чтобы сказать VBA, какое действие должно произойти, когда происходит событие.
Выбор стандартных кнопок
В основной части диалоговых окон нажатие клавиши <Enter> приводит к нажатию кнопки. Эта кнопка является стандартной кнопкой, так как именно она реагирует на нажатие клавиши <Enter>, за исключением случая, когда фокус переместился на другой элемент управления.
Для того чтобы назначить кнопку стандартной кнопкой в форме, установите значение свойства Default равным True. Конечно, в форме может быть только одна стандартная кнопка.
Если диалоговое окно позволяет изменить данные или параметры настройки, неплохо было бы предоставить пользователю возможность отмены внесенных изменений. По договоренности, кнопка, предназначенная для отмены сделанных изменения, называется Cancel (Отменить). Если вы не придерживаетесь принятых обозначений, можно назвать эту кнопку 'Never mind" или "Forget it". Независимо от того, что именно написано на данной кнопке, она предназначена для отмены предыдущих операций.
Также по договоренности, после нажатия клавиши <Esc> любое диалоговое окно закрывается, как будто пользователь щелкнул на кнопке, на которой написано Cancel (Отменить) (или что-либо другое). Если свойство кнопки Cancel равно True, это означает, что после нажатия клавиши <Esc> программа будет вести себя так, как будто вы щелкнули на кнопке Cancel (Отменить).
Если свойство Cancel равно True, это автоматически не означает, что после щелчка на кнопке диалоговое окно будет закрыто. Это связывает клавишу <Esc> с событием кнопки Click.
Рамка - это очень важный элемент форм VBA и представляет собой простой прямоугольник с заголовком в верхней части. В рамке можно разместить другие элементы управления.
Рамки служит для следующих двух целей.
* Для визуального выделения группы связанных элементов управления. Это помогает понять пользователю, что эти элементы управления связаны. Также рамки позволяют разделить большие формы на несколько участков (рис. 10.17).
* Для выделения группы кнопок, из которых пользователь должен выбрать только одну.
Рис. 10.17. В данной форме используется три различные рамки для упорядочения групп кнопок
В разделе "Выбор элемента с помощью переключателя", дальше в настоящей главе, я подробно рассматриваю использование рамок. В данном разделе я коснусь основ - использования рамок для организации всех типов элементов управления.
Как только вы добавите рамку в форму, размещение любых других элементов управления в рамке свяжет их и рамку. Теперь при перемещении рамки элементы управления переместятся вместе с ней. При этом они будут занимать те же места в рамке, что и раньше.
Добавить элемент управления в рамку можно следующим образом.
* Нарисовать новый элемент управления в рамке. Создание нового элемента управления происходит обычным образом. Для этого необходимо щелкнуть на соответствующем значке в панели инструментов и затем перетянуть его на то место в форме, на котором он будет находится. В нашем случае - в рамку.
* Переместить существующий элемент управления в рамку. Перетягивайте элемент управления с помощью мыши до тех пор, пока указатель мыши не окажется в рамке. Как только вы отпустите кнопку мыши, элемент управления окажется в рамке.
После того как вы разместите элемент управления в рамке, границы рамки станут выделенными, как будто выбран данный элемент управления (рис. 10.18).
Рис. 1018. После того как вы выберете элемент управления, связанный с рамкой, данная рамка тоже будет выглядеть выбранной
Для того чтобы разорвать связь между элементом управления и рамкой, достаточно просто перетянуть данный элемент управления в другое место формы. Как только указатель мыши окажется вне границ рамки, отпустите кнопку мыши. При этом связь между элементом управления и рамкой будет разорвана, а сам элемент управления окажется в другом месте.
Теперь оба объекта (форма и элемент управления) можно перемешать отдельно.
Выбор элемента с помощью переключателя
Как в жизни, так и в программном обеспечении, есть много взаимоисключающих вариантов. Покупая мороженое, вы выбираете либо с изюмом, либо с орехами, либо в фруктами, но никогда не все три сразу. Покупая платье или брюки, вы всегда покупаете только те вещи, которые подходят вам по размеру. А когда вы собираетесь жениться на Анне, о других претендентках вы не думаете (Анна должна этому радоваться!).
В Windows для изображения взаимно исключающих вариантов выбора используются так называемые переключатели. Это небольшие круглые кнопки, которые работают как нажимные кнопки на радиоприемниках в автомобилях. Одновременно можно слушать только одну радиостанцию. На рис. 10.19 показан типичный набор переключателей.
Рис. 10.19. Переключатели в действии
Переключателей всегда должно быть несколько, но выбрать можно только один из них. Если вы выберете один из переключателей, все остальные автоматически останутся не выбранными.
Не беспокойтесь о том, как создать группу переключателей. Все, что вам необходимо сделать, - это разместить кнопки в одном месте в форме. VBA автоматически объединит их в группу. При запуске программы будет выбран только один переключатель.
А что это за странные слова: переключатели должны быть размещены "в одном месте формы"? Конечно, это не официальная терминология VBA, но можно сказать следующее: одна часть формы является самой формой. Каждая добавленная вами рамка элемента управления создаст другую часть формы. И каждая вкладка элемента управления, состоящего из нескольких вкладок, также является отдельной частью формы (о элементах управления, состоящих из нескольких вкладок, которые создаются для ноутбуков и которые похожи на обычные диалоговые окна Windows, я расскажу в главе 19). Можно разместить рамку внутри другой рамки или на вкладке элемента управления, состоящего из нескольких вкладок. Каждая вложенная рамка занимает свою часть формы.

