КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Создание других органов управления средствами Excel
Примеры типовых органов управления, функционирующих в MS Excel, представлены на Рис. 5.5.
Это "оживленные" рисунки, выполненные в любом пиксельном формате и вставленные на лист Excel. При нажатии мышкой на правую стрелку переключателя пределов измерения (Рис. 5.5, а) белая точка, указывающая предел измерения, перемещается на один шаг по часовой стрелке; при нажатии на левую кнопку точка движется в обратном направлении. При этом в заранее заданной ячейке Excel (например, A3) появляется число, указывающее номер позиции переключателя. Этот номер можно использовать, например, для масштабирования данных, принятых от датчика. Точка, указывающая положение переключателя на Рис. 5.5, а) является овалом, нарисованным средствами Excel. Она не может быть рисунком в пиксельном формате, поскольку VBA, входящий в состав Excel, не позволяет выполнять поворот растровых рисунков. Важно отметить, что код, управляющий движением рассматриваемых ниже органов управления и контроля, можно не писать, а включить режим записи макроса и в это время произвести нужные операции над создаваемым объектом. В результате Excel автоматически создаст код, выполняющий то, что вы делали вручную. Это избавляет вас от изучения языка VBA. Конечно, желательно понимать смысл того, что создал вместо вас визард макросов MS Excel, но для этого достаточно знать английский язык, который помогает угадать смысл отдельных команд записанного макроса. Макрос, перемещающий точку на Рис. 5.5, а) по часовой стрелке, выглядит следующим образом: GaugePisition = Sheets("Gauge").Range("A3") Sheets("Gauge").Shapes("Point").IncrementRotation 22 GaugePisition = GaugePisition + 1 Sheets("Gauge").Range("A3").Value = GaugePisition
Здесь первая строка считывает начальную позицию переключателя, которая хранится в ячейке A3 на листе "Gauge". Вторая строка выполняет поворот точки "Point" относительно центра вращения на угол 22 градуса. Для создания центра вра -щения в нужном месте следует создать вторую точку симметрично относительно центра ручки, сделать ее невидимой и сгруппировать с видимой точкой. Такая гру- ппа в нашем примере названа "Point". Третья строка представляет собой стандартный счетчик с приращением 1, четвертая строка записывает значение счетчика в ячейку A3. Переменную GaugePosition можно использовать в дальнейшем для масштабирования принятых данных.
Слайдер (Рис. 5.5, в) является стандартным элементом Excel, мы добавили к нему лишь шкалу. Позиция указателя записывается в ячейку, которую вы выбираете сами. Кнопки "СТОП" и "ПУСК" (Рис. 5.5, д) являются стандартными кнопками MS Excel, мы только изменили их цвет. Оригинальная кнопка (Рис. 5.5, е) является растровым рисунком, а зеленый "светодиод" на ней - векторным рисунком, выполненным средствами Excel. При нажатии кнопки светодиод "гаснет", т.е. его цвет изменяется на серый. При этом в ячейку А6 записывается значение "False", при повторном нажатии светодиод загорается и в ячейку записывается значение "True": If Worksheets("Gauge").Range("A6").FormulaRlCl = "=TRUE()" Then Worksheets("Gauge").Range("A6").FormulaRlCl = "=FALSE()" Worksheets("Gauge").Shapes("Light").Fill. Visible = msoTrue Else Worksheets("Gauge").Range("A6") = "=TRUE()" Worksheets("Gauge").Shapes("Light").Fill. Visible = msoFalse End If Третья строчка кода делает "светодиод" видимым (Fill. Visible = msoTrue), а шестая - "гасит" его. MS Excel позволяет "закрепить" каждый элемент на листе, защитить его от случайного удаления и защитить весь рабочий лист. Ввод данных можно выполнять непосредственно в ячейки рабочего листа Excel, в текстовые поля или в специальные элементы управления, поставляемые в составе MS Excel. Отметим некоторые общие особенности создания программ автоматизации эксперимента с помощью MS Excel. После отладки программы ее следует защитить от случайной порчи исходного текста. Для этого используется пункт меню "Сервис/Защита". Перед защитой в свойствах каждого элемента следует указать, должен ли он быть защищен после защиты всего листа. Если некоторые элементы должны изменяться программно, сначала нужно снять их защиту, а после модификации элемента вновь защитить его. Однако есть более простой способ: поверх изменяемого элемента можно положить "стекло" - прозрачный растровый рисунок - и защитить его. Тогда пользователю лежащие под "стеклом" объекты будут недоступны, а программа может их модифицировать.
При передаче такой программы заказчику ее текст можно скрыть с помощью пункта меню VBA "Tools/VBA Project Properties" и назначить пароль, который не позволит пользоваться исходным текстом программы без санкции поставщика.
Дата добавления: 2013-12-13; Просмотров: 229; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |