- •1. Введение
- •2. Среда для написания программы на vba
- •3. Примеры программирования на vba
- •4. Свойства и методы объектов excel
- •5. Пример - разработка бланка заказа
- •6. Разработка заявки на поступление товаров
- •7. Разработка автоматизированного бланка
- •‘Фамилия записывается во вторую колонку.
- •8. Изменение цвета объекта
- •9. Объект Image
- •8. Задания для самостоятельной работы
- •8.1. Задание 1
- •8.2. Задание 2
- •8.3 Задание 3
- •8.4. Задание 4
- •На первом рабочем введите необходимый текст и создайте элементы управления (рис.54):
- •Программирование в microsoft excel. Часть 1
‘Фамилия записывается во вторую колонку.
Worksheets(2).Cells(N + 2, 2).Value = Range("c2")
‘Имя записывается в третью колонку.
Worksheets(2).Cells(N + 2, 3).Value = Range("c4")
‘Отчество попадает в четвертую колонку.
Worksheets(2).Cells(N + 2, 4).Value = Range("c6")
‘Название города располагается в пятой колонке.
If OptionButton1.Value = True Then
Worksheets(2).Cells(N + 2, 5).Value = "Н.Новгород"
Else
Worksheets(2).Cells(N + 2, 5).Value = city.Text
End If
‘Вид деятельности расположим в шестой колонке, место работы или
‘ учебы в седьмой, а примечание в восьмой колонке.
If st.Value = True Then
Worksheets(2).Cells(N + 2, 6).Value = "студент"
Worksheets(2).Cells(N + 2, 7).Value = TextBox1.Text + " курс " +
TextBox2.Text
Else
Worksheets(2).Cells(N + 2, 6).Value = "спец. с в/о"
Worksheets(2).Cells(N + 2, 7).Value = TextBox3.Text
Worksheets(2).Cells(N + 2, 8).Value = TextBox4.Text
End If
‘Характеристики, указанные во флагах.
If flag1.Value = True Then
Worksheets(2).Cells(N + 2, 9).Value = "Да"
Else
Worksheets(2).Cells(N + 2, 9).Value = "Нет"
End If
If flag2.Value = True Then
Worksheets(2).Cells(N + 2, 10).Value = "Да"
Else
Worksheets(2).Cells(N + 2, 10).Value = "Нет"
End If
If flag3.Value = True Then
Worksheets(2).Cells(N + 2, 11).Value = "Да"
Else
Worksheets(2).Cells(N + 2, 11).Value = "Нет"
End If
End Sub
8. Изменение цвета объекта
Решим следующую задачу. На рабочем листе находится командная кнопка (Name = Цвет). При наведении мыши на левую половину кнопки кнопка должна окрашиваться в красный цвет. При наведении на правую половину – в зеленый. Используем метод MouseMove – наведение мыши.
Цвет объекта устанавливается с помощью свойства BackColor. Для выбора цвета используется внутренняя функция RGB(), которая позволяет получать множество оттенков путем сложения трех основных цветов спектра: R – red, G – green. B – Blue. Согласно цветовой модели RGB каждая из составляющих может меняться от 0 до 255 градаций. Таким образом, цвет кнопки будет определяться следующим выражением:
Цвет1.BackColor = RGB(a,b,c)
a, b и c – числовые значения красного, зеленого и синего оттенков, лежащие в пределах от 0 до 255.
Например:
Цвет.BackColor(255,0,0) – красный цвет.
Цвет.BackColor(255,255,255) – белый цвет.
Цвет.BackColor(255,255,0) – желтый цвет.
Представим кнопку, разделенную осями координат «x» и «y». Используем свойства кнопки Width и Height (ширина и высота) – рис. 49.
0
Рис. 49
Выражение :
x >1/2*Цвет.Width
‘будет означать, что координата лежит «х» лежит правее начала координат (координата больше половины ширины кнопки).
Выражение:
x<1/2*Цвет.Width
‘координата «х» лежит левее начала координат.
Программный код для изменения цвета кнопки показан на рис.50.
Для изменения цвета применен оператор ветвления (If-Then-Else).
Рис.50
Если в задаче встречается несколько условий, например, необходимо раскрасить кнопку в четыре цвета, используем координату по высоте «у» и свойство кнопки «Height».
В этом случае используем оператор ветвления с ключевым словом ElseIf.
Текст программы показан на рис. 51.
Com1- имя раскрашиваемой кнопки.
Рис.51
