regeda_v_v_regeda_o_n_osnovy_programmirovaniya_na_vba
.pdfекта Diagram. Внутри процедуры необходимо дописать код, с помощью которого происходит построение диаграммы.
Private Sub Diagram_Click() Range("D12").Select ActiveSheet.ChartObjects.Delete Dim ch As ChartObject
Set ch = ActiveSheet.ChartObjects.Add_ (215.5, 110.5, 333.25, 200.175)
ch.Chart.ChartWizard Source:=Range("A3:B24"),_
gallery:=xlLine, Format:=2, PlotBy:=xlColumns,_ CategoryLabels:=1, SeriesLabels:=1, _
Title:="График функции y=x^" & Range("E1")_ Value, CategoryTitle:="x", ValueTitle:="y"
End Sub
8)Отключить режим конструктора и поверить работу программы для различных значений параметров.
9)Оформить отчет, включив в него тексты всех программ с необходимыми коментариями. Пояснить за счет чего программа из п. 10.3. защищена от несанкционированных действий.
10)Разработать алгоритм решения задачи и реализовать этот алгоритм в среде VBA для варианта, заданного преподавателем из ПРИЛОЖЕНИЯ 4.
|
ПРИЛОЖЕНИЕ 1. |
Наиболее часто используемые свойства форм |
|
|
Таблица П1.1. |
Свойства форм, задающие имя и внешний вид формы |
|
|
|
Свойство |
Описание |
1 |
2 |
Name |
Возвращает или устанавливает имя пользователь- |
|
ской формы |
Caption |
Возвращает или устанавливает текст, отображаемый |
|
в строке заголовка формы |
Appearance |
Возвращает или устанавливает вид формы в период |
|
выполнения кода. Допустимые значения: |
|
• 0 (плоский); |
|
• 1 (объемный) |
|
|
BorderStyle |
Возвращает или устанавливает тип границы. Дости- |
|
жимо только на этапе конструирования. Допустимые |
|
значения: |
|
•VbBSNone или 0 (нет границы, причем заголовок |
|
формы не отображается); |
|
•VbFixedSingle или 1 (пользователь не может |
|
изменять размер окна); |
|
•VbSizable или 2 (используется по умолчанию, |
|
пользователь может изменять размер окна); |
|
•VbFixedDouble или 3 (рамка формы имеет |
|
двойную толщину); |
|
•VbFixedToolWindow или 4 (используется для |
|
вывода окна с кнопкой Close, заголовок окна ото- |
|
бражается в уменьшенном шрифте, пользователь |
|
не может изменять размер окна); |
|
•VbSizableToolWindow или 5 (как в предыду- |
|
щем случае, но пользователь может изменять раз- |
|
мер окна). |
MaxButton, |
Логические свойства, доступные только для чтения, |
MinButton |
которые при значении равном True указывают на |
|
присутствие в форме кнопок Maximize и Minimize, |
|
соответственно. |
|
Продолжение таблицы П1.1. |
1 |
2 |
ControlBox |
Логическое свойство, доступное только для чтения, |
|
которое при значении равном True указывают на |
|
присутствие в форме раскрывающегося меню, со- |
|
держащее команды восстановления, перемещения, |
|
изменения размеров и закрытия формы. |
BackColor, |
Возвращают и устанавливают цвет фона и текста |
ForeColor |
формы. Цвета зашифровываются в шестнадцатерич- |
|
ной системе счисления. Для удобства работы с цве- |
|
тами часто вместо их шестнадцатеричного представ- |
|
ления используются константы, встроенные в Visual |
|
Basic (табл. П1.2) |
Icon |
Устанавливает или возвращает значок, отображае- |
|
мый при минимизации окна формы. При программ- |
|
ной установке данного свойства используется функ- |
|
ция LoadPicture, в параметре которой приводит- |
|
ся ссылка на полное имя файла, используемого в ка- |
|
честве значка. В Visual Basic имеется богатая кол- |
|
лекция стандартных значков, располагаемая в папке |
|
GraphicsMcons. В следующем примере в качестве |
|
значка отображается российский флаг: |
|
Icon = LoadPicture ("\Common\Graphics\Icons\Flags\_ |
|
Flgrus.ico") |
Moveable |
Логическое свойство, которое определяет, может ли |
|
пользователь передвигать форму. |
WindowState |
Возвращает или устанавливает вид формы во время |
|
выполнения кода. Допустимые значения: |
|
•VbNormal или 0 (нормальный); |
|
•VbMinimized или 1 (в виде значка); |
|
•VbMaximized или 2 (полноэкранный). |
FillColor |
Возвращает или устанавливает цвет заполнения гра- |
|
фического изображения, созданного методами Line |
|
и Circle. |
|
Продолжение таблицы П1.1. |
1 |
2 |
FillStyle |
•Возвращает или устанавливает тип заполнения |
|
изображения, созданного графическими методами |
|
Line и Circle. Допустимые значения: |
|
•VbFSSolid или 0 (сплошной); |
|
•VbFSTransparent или 1 (прозрачный); |
|
•VbHorizontalLine или 2 (горизонтальные ли- |
|
нии); |
|
•VbVerticalLine или 3 (вертикальные линии); |
|
•VbUpwardDiagonal или 4 (диагональные на- |
|
правленные вверх линии); |
|
•VbDownwardDiagonal или 5 (диагональные на- |
|
правленные вниз линии); |
|
•VbCross или 6 (сетка); |
|
•VbDiagonalCross или 7 (диагональная сетка). |
DrawWidth |
Возвращает или устанавливает толщину линии для |
|
графических методов Line, Circle и Pset. |
DrawStyle |
Возвращает или устанавливает тип линии для гра- |
|
фических методов Line и Circle. Допустимые |
|
значения: |
|
•VbSolid или 0 (сплошная линия, используется по |
|
умолчанию); |
|
•VbDash или 1 (штриховая); |
|
•VbDot или 2 (пунктирная); |
|
•VbDashDot или 3 (штрихпунктирная); |
|
•VbDashDotDot или 4 (штрихпунктирная с двумя |
|
точками); |
|
•VbInvisible или 5 (прозрачная); |
|
•VbInsideSolid или 6 (сплошная внутри). |
|
|
|
|
|
|
|
|
Продолжение таблицы П1.1. |
|||
|
|
1 |
|
|
|
|
|
2 |
|
|
|
|
DrawMode |
|
|
Задает происходящее при размещении одного шаб- |
|||||||
|
|
|
|
лона поверх другого. Используется при создании |
|||||||
|
|
|
|
анимации. Допустимые значения: |
|
|
|||||
|
|
|
|
VbBlackness, VbNotMergePen, VbMaskNot- |
|||||||
|
|
|
|
Pen, |
VbNotCopyPen, |
VbMaskPenNot, |
|||||
|
|
|
|
Vblnvert, |
VbXorPen, |
VbNotMaskPen, |
|||||
|
|
|
|
VbMaskPen, VbNotXorPen, VbNop, VbMer- |
|||||||
|
|
|
|
geNotPen, |
VbCopyPen, |
VbMergePenNot, |
|||||
|
|
|
|
VbMergePen, |
VbWhiteness со значениями от 0 |
||||||
|
|
|
|
до 15. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Таблица П1.2. |
|
|
|
|
|
|
Константы, задающие цвет |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
||
|
Константа |
Значе- |
|
Цвет |
Констан- |
Значение |
|
Цвет |
|||
|
|
ние |
|
|
та |
|
|
|
|
|
|
|
VbBlack |
&HO |
|
Черный |
VbBlue |
&HFFOOOO |
Синий |
|
|||
|
VbRed |
&HFF |
|
Крас- |
VbMa- |
&HFFOOFF |
Розовый |
|
|||
|
|
|
|
|
ный |
genta |
|
|
|
|
|
|
VbGreen |
&HFFO |
|
Зеленый |
VbCyan |
&HFFFFOO |
Голубой |
|
|||
|
|
O |
|
|
|
|
|
|
|
|
|
|
VbYellow |
&HFFFF |
|
Желтый |
VbWhite |
&HFFFFFF |
Белый |
|
Вместо прямого указания шестнадцатеричного кода цвета, довольно часто цвет удобнее задавать, используя функции RGB и QBCoior. Функция RGB позволяет получить любой цвет, смешивая красную, зеленую и синюю компоненты различной интенсивности. Синтаксис:
RGB (Red, Green, Blue)
Таблица П1.3.
Цвет |
Red |
Green |
Blue |
Черный |
0 |
0 |
0 |
Синий |
0 |
0 |
255 |
Зеленый |
0 |
255 |
0 |
Голубой |
0 |
255 |
255 |
Красный |
255 |
0 |
0 |
Розовый |
255 |
0 |
255 |
Желтый |
255 |
255 |
0 |
Белый |
255 |
255 |
255 |
Параметры: Red – целое число из диапазона от 0 до 255, указывающее красную компоненту цвета; Green – целое число из диапазона от 0 до
255, указывающее зеленую компоненту цвета; Blue – целое число из диапазона от 0 до 255, указывающее синюю компоненту цвета.
Функция QBCoior возвращает шестнадцать основных цветов в соответствии значению параметра. Синтаксис: QBCoior(color),
где color – это целое число из диапазона от 0 до 15.
Таблица П1.4. Соответствие между цветами и значением параметра функции QBCoior
Число |
Цвет |
Число |
Цвет |
Число |
Цвет |
Число |
Цвет |
|
|
|
|
|
|
|
|
0 |
Черный |
4 |
Красный |
8 |
Серый |
12 |
Светло- |
|
|
|
|
|
|
|
красный |
1 |
Синий |
5 |
Розовый |
9 |
Светло- |
13 |
Светло- |
|
|
|
|
|
синий |
|
розовый |
2 |
Зеленый |
6 |
Желтый |
10 |
Светло- |
14 |
Светло- |
|
|
|
|
|
зеленый |
|
желтый |
3 |
Голубой |
7 |
Белый |
11 |
Светло- |
15 |
Насыщенный |
|
|
|
|
|
голубой |
|
белый |
Таблица П1.5.
Свойства, позволяющие выводить рисунки в форме и восстанавливать на ней графическое изображение, а также задающие тип и цвет заполнений
Свойство |
Описание |
|
|
Pic- |
Определяет рисунок, отображаемый как фон формы. При про- |
ture |
граммной установке данного свойства используется функция |
|
LoadPicture. Ее параметр задает полное имя растрового файла, |
|
используемого в качестве рисунка |
AutoRe |
Логическое свойство, по умолчанию принимающее значение |
draw |
False. В этом случае, любое графическое изображение, создан- |
|
ное графическими методами, в форме теряется в том месте, где |
|
она хотя бы временно закрыта другим окном. Если свойство при- |
|
нимает значение True, то изображение восстанавливается, так как |
|
его образ в этом случае хранится в буфере обмена |
Clip- |
Логическое свойство, по умолчанию принимающее значение |
Con- |
. В этом случае, Windows определяет отсекаемую область |
trols |
True |
для заднего фона формы перед событием Paint . Отсекаемая об- |
|
|
ласть окружает все неграфические элементы управления. Во вре- |
|
мя события Paint Windows снова прорисовывает задний план, |
|
не затрагивая неграфических элементов управления |
Не используя элементов управления непосредственно в форме, можно выводить текст при помощи метода Print (Таб. П1.6).
Таблица П1.6. Свойства, задающие параметры и координаты шрифта текста в форме
Свойство |
Описание |
|
|
Font |
Возвращает или устанавливает шрифт. |
FontBold |
Логические свойства, возвращающие или устанавли- |
FontItalic |
вающие тип шрифта: полужирный, курсивный, под- |
FontUnder1ine |
черкнутый, перечеркнутый. |
FontStrikethru |
|
FontTranspar- |
Логическое свойство, возвращающее или устанавли- |
ent |
вающее прозрачность области текста. При значении |
|
равном True текст выводится поверх графических |
|
объектов, созданных в форме графическими методами. |
|
При значении равном False символы текста обладают |
|
непрозрачным фоном |
FontName |
Возвращают или устанавливают имя и размер шрифта. |
FontSize |
|
CurrentX |
Возвращают или устанавливают координаты в форме, |
CurrentY |
где при помощи метода Print будет выводиться текст |
|
или при помощи графических методов рисоваться ри- |
|
сунок. По умолчанию координаты измеряются в тви- |
|
пах и координата левого верхнего угла формы – (0, 0). |
|
В случае переопределения системы координат в форме, |
|
данные свойства задают координаты в заданной систе- |
|
ме координат. |
Left |
Возвращают или устанавливают местоположение |
Тор |
верхнего левого угла и формы. |
Height |
Возвращают или устанавливают высоту и ширину |
Width |
формы. Эти свойства включают в себя толщину грани- |
|
цы формы. Кроме того, в Height входит и высота за- |
|
головка формы. Если надо работать с внутренними |
|
размерами формы, без учета границы толщины грани- |
|
цы и высоты заголовка, то воспользуйтесь свойствами |
|
ScaleHeight и ScaleWidth. |
Основной единицей измерения этих свойств является твип (twip): 1 дюйм – 2.54 см; 1 дюйм – 1440 твипов; 1 см – 567 твипов.
Кроме твипов в Visual Basic в качестве единиц измерения используются также пункты (в одном дюйме 72 пункта), пиксели (наименьшая единица измерения разрешения монитора или принтера; число пикселей в дюйме зависит от разрешающей способности монитора или принтера).
Таблица П1.7. Свойства, задающие единицы измерения и систему координат в форме
|
Свойство |
Описание |
||
|
|
|
|
|
ScaleHeight |
Устанавливают или возвращают координаты правого ниж- |
|||
ScaleWidth |
него угла формы |
|||
ScaleLeft |
Устанавливают или возвращают координаты левого верхне- |
|||
ScaleTop |
го угла формы. По умолчанию приравнены нулю |
|||
ScaleMode |
Устанавливает единицы измерения. Допустимые значения: |
|||
|
|
|
•VbUser или 0 (определенная пользователем единица из- |
|
|
|
|
мерения) |
|
|
|
|
•VbTwips или 1 (твипы; используется по умолчанию) |
|
|
|
|
•VbPoints или 2 (пункты) |
|
|
|
|
•VbPixels или 3 (пиксели) |
|
|
|
|
•VbCharacters или 4 (символы) |
|
|
|
|
•VbInches или 5 (дюймы) |
|
|
|
|
•VbMillimeters или 6 (миллиметры) |
|
|
|
|
•VbCentimeters или 7 (сантиметры) |
|
|
|
|
Таблица П1.8 |
|
|
|
Свойства, управляющие формой указателя мыши |
||
|
|
|
|
|
|
Свойство |
|
Описание |
|
|
|
|
|
|
|
1 |
|
2 |
|
|
Mouse- |
Устанавливает форму указателя мыши. |
|
|
|
Pointer |
|
|
|
|
|
|
|
Продолжение табл. П1.8 |
|
1 |
|
|
2 |
|
Mouse- |
Если свойство MousePointer равно VbCustom, то оно позво- |
||
|
Icon |
ляет задать |
конкретный вид пользовательского курсора. При |
|
|
|
программной установке данного свойства используется функция |
||
|
|
LoadPicture. Ее параметр задает полное имя файла, исполь- |
||
|
|
зуемого в качестве значка. Файлы пользовательских курсоров |
||
|
|
имеют расширение CUR. Большой список файлов пользователь- |
||
|
|
ских курсоров находится в папке Graphics\Cursors. В сле- |
||
|
|
дующем примере устанавливается курсор в форме руки с подня- |
||
|
|
тым вверх указательным пальцем. |
||
|
|
Mouselcon=LoadPicture("\Common\Graphics\Cursors\H_point.cur") |
||
|
|
MousePointer = VbCustom |
||
|
|
|
|
|
|
|
|
|
Таблица П1.9. |
|
|
Константы, задающие форму указателя мыши |
||
|
|
|
|
|
|
Константа |
Значе- |
Указатель |
|
|
|
|
ние |
|
|
|
|
|
|
|
VbDefault |
0 |
По умолчанию |
|
|
VbArrow |
|
1 |
|
|
VbCrosshair |
2 |
|
|
|
Vblbeara |
3 |
|
|
|
VblconPointer |
4 |
Текущий значок для объекта |
|
|
VbSizePointer |
5 |
|
|
|
VbSizeNESW |
6 |
|
|
|
VbSizeNS |
7 |
|
|
|
VbSizeNWSE |
8 |
|
|
|
VbSizeWE |
9 |
|
|
|
VbUpArrow |
10 |
|
|
|
VbHourgiass |
11 |
|
|
|
VbNoDrop |
12 |
|
|
|
VbArrowHourglass |
13 |
|
|
|
VbArrowQuestion |
14 |
|
|
|
VbSizeAll |
12 |
Крест из двухконечных стрелок |
|
|
VbCustom |
99 |
Значок, указанный в свойстве MouseIcon |
ПРИЛОЖЕНИЕ 2. Список элементов управления
Элементы управления |
Имя |
Кнопка |
|
|
|
TextBox – Поле ввода |
Text |
|
|
|
|
Label – Надпись |
Label |
|
|
|
|
CommandButton – Кнопка |
Command |
|
|
|
|
ListBox – Список |
List |
|
|
|
|
ComboBox – Комбинированное поле |
Combo |
|
|
|
|
OptionButton – Переключатель |
Option |
|
|
|
|
CheckBox – Флажок |
Check |
|
|
|
|
Frame – Рамка |
Frame |
|
|
|
|
HScrollBar – Горизонтальная по- |
HScroll |
|
лоса прокрутки |
|
|
VScrollBar – Вертикальная полоса |
VScroll |
|
прокрутки |
|
|
Image – Рисунок |
Image |
|
|
|
|
– Счетчик |
|
|
|
|
|