Стив Каммингс - VBA для чайников

Здесь есть возможность читать онлайн «Стив Каммингс - VBA для чайников» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Москва, Год выпуска: 2002, Издательство: Компьютерное издательство Диалектика, Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

VBA для чайников: краткое содержание, описание и аннотация

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

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

VBA для чайников — читать онлайн бесплатно полную книгу (весь текст) целиком

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

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Set frmOne = MultiForm

Set frmTwo = New MultiForm ' Здесь используется New

' отображение двух экземпляров форм

frmOne . Show

frmTwo.Show

Распознавание нажатий клавиш

Используйте события KeyPress, KeyDown и KeyUp, чтобы отвечать на нажатия клавиш пользователем. Событие KeyPress удобно использовать для распознавания клавиш с обычными "печатаемыми" символами (буквы, числа, знаки пунктуации), когда нужно обработать информацию, вводимую в текстовое поле или в поле со списком. С помощью этого события распознаются также многие из комбинаций типа , а также клавиша . Немного позже я покажу, как проверить или изменить напечатанный символ с помощью процедуры обработки события KeyPress.

События KeyDown и KeyUp, напротив, распознают практически любую посылаемую им комбинацию клавиш, включая выкрутасы типа . С этими событиями работать труднее, чем с KeyPress, но зато они позволяют использовать более широкий набор сочетаний клавиш. Например, можно создать процедуру обработки события KeyDown, которая позволяет с помощью комбинаций <-> и > соответственно уменьшать или увеличивать значение полосы прокрутки, например, на 10.

В главе 10 мы обсудили основные приемы, позволяющие убедиться в том, что пользователь ввел в форму правильные сведения. Здесь мы обсудим еще несколько приемов.

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

Private Sub txtSerial Number_KeyPress(ByVal KeyAscii _

As MSForms.ReturnInteger)

' весь следующий блок является условием:

If Chr(KeyAscii) < "0" Or _

(Chr(KeyAscii) > "9" And Chr(KeyAscii) < "A") Or _

(Chr(KeyAscii) > "Z" And Chr(KeyAscii) < "a") Or _

Chr(KeyAscii) > "z" Then

MsgBox "Недопустимый символ!"

KeyAscii = 0 ' отбрасывание символа

End If

End Sub

Да, я признаю, что используемое здесь условие оказалось довольно длинным, но зато оно работает. Как только оператор If ... Then обнаружит недопустимый символ, отображается сообщение об этом. Затем идет оператор KeyAscii = 0; KeyAscii является аргументом процедуры обработки события KeyPress, поэтому он используется как локальная переменная в данной процедуре. Изменение его значения меняет код символа, передаваемого в текстовое поле. А поскольку само текстовое поле не воспринимает символ, имеющий код 0, напечатанный пользователем недопустимый символ исчезнет без следа.

Изменение значения аргумента KeyAscii позволяет изменять неправильно введенные данные на правильные. Например, следующую процедуру обработки события можно использовать для отображения и сохранения вводимого пользователем текста в виде текста, записанного буквами верхнего регистра:

Private Sub txtSerial Number_KeyPress(ByVal KeyAscii _

As MSForms.ReturnInteger)

KeyAscii = Asc(UCase(Chr(KeyAscii)))

End Sub

Оператор, осуществляющий преобразование, потребовал использования трех функций, вложенных одна в другую. Поскольку KeyAscii является числовым кодом символа, сначала приходится конвертировать этот код в строку с помощью функции Chr, затем перевести строку в верхний регистр с помощью UCase и, наконец, конвертировать строку снова в целое число с помощью Asc.

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

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

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

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «VBA для чайников»

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


Отзывы о книге «VBA для чайников»

Обсуждение, отзывы о книге «VBA для чайников» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x