Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Размещение элементов управления в окне диалога




Для размещенияэлемента управления в окне необходимо выбрать требуемый элемент на панели Формы (щелкнуть на него), а затем в окне диалога указать место его расположения (выделить соответствующую прямоугольную область). Элемент будет нарисован на выбранной области. После этого при необходимости можно переместить элемент, или изменить его размеры. Для изменения свойств элемента следует выделить его и в контекстном меню выбрать Формат объекта. Здесь можно установить связи с ячейками рабочего листа.

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

Все исходные данные и расчеты ведутся на Листе1.

На Листе1 введите следующие данные.

 

  A B C D E F
  Марка машины   Сигнализация  
    82 000,00р.   Prestige 1 900,00р.  
    96 000,00р.   Clifford 5 700,00р.  
    115 000,00р.   Fighter 1 800,00р.  
    117 000,00р.   Excalibur 3 500,00р.  
    125 000,00р.   Flashpoint 4 800,00р.  
    153 000,00р.   Нет    
    Клиент сделал следующий выбор:
  Марка Сигнализация Тип страховки Предоплата Пост. Клиент Итого
             
               

Создайте следующие элементы в диалоговом окне:

· Создать надписи;

· Вставить поле со списком. В контекстном меню выбрать Формат объекта, вкладку Элемент управления. В графе Формировать список по диапазону ввести ссылки на имеющиеся Марки машин. В графе Помещать результат в ячейку ввести ссылку на ячейку, куда должна быть помещена выбранная марка машины (A10). В графе Количество строк списка поставить 6. После этого проверить работу поля со списком. Для этого нажать кнопку и выбрать один из пунктов списка. На Листе1 в графе Марка должен отобразится номер выбранного пункта.

 

 


 

· Вставить список. Список сформировать по диапазону имеющихся марок сигнализаций. Результат поместить в соответствующую ячейку Листа1. Проверить работу списка.

· Вставить рамку. Ввести ее заголовок.

· В рамке расположить 3 переключателя. Для переключателя «Нет» в Формате объекта установите Состояние – установлен, в поле Связать с ячейкой – ссылка на ячейку с типом страховки (C10). Обратить внимание, что после все переключатели группы будут связаны с той же ячейкой. Проверить работу переключателей группы.

· Вставить флажки. Установить связи с соответствующими ячейками. Проверить работу флажков. При этом в связанных ячейках отображается логический результат ИСТИНА или ЛОЖЬ.

· Вставить Текстовое поле. Здесь должен высвечиваться результат. Этот результат сначала необходимо рассчитать в соответствующей ячейке Листа1. Это будет делано в следующем разделе.

· Вставить кнопку. В Формате объекта выбрать Функцию кнопки – Отклонить. Проверьте работу кнопки.

Создание элементов управления в диалоговом окне завершено.

 

3. Программирование логики электронной сметы. В результате пробного запуска диалога в десятой строке Листа1, где фиксировались выбранные клиентом пункты, появились некоторые значения. Для дальнейшего проектирования электронной сметы необходимо воспользоваться функциями АДРЕС и ДВССЫЛ. Функция АДРЕС возвращает ссылку на ячейку в виде текста и использует в качестве аргументов номер строки и номер столбца. Вторая функция преобразует ссылку, заданную как текст в обычную ссылку (адрес ячейки).

Ввести в ячейку А11 формулу =ДВССЫЛ(АДРЕС(А10+1;2;;;)). После этого в ячейке А11 отобразится цена выбранной марки машины. Ввести аналогичную формулу в В11.

Пусть страховка на полгода стоит 2500 р., а на год 4000 р. Тогда в ячейку С11 ввести формулу =ВЫБОР(С10;0;2500;4000). Эта функция выбирает значение из списка значений по индексу (индекс – первый аргумент).

Оплата может производиться в виде предоплаты и в кредит, при чем при оплате в кредит стоимость увеличивается на 25%. В ячейку D11 ввести формулу =ЕСЛИ(D10;СУММ(А11:С11); СУММ(А11:С11)*1,25).

Постоянным клиентам предоставляется скидка 10%. В ячейку Е11 ввести формулу =ЕСЛИ(Е10;D11*0.9;D11).

В F11 ввести = Е11. Таким образом, итоговая цена будет отображена в ячейке F11.

Теперь необходимо создать два макроса. Первый будет автоматически запускать диалог при открытии документа. Для этого в меню Сервис нужно выбрать Макрос – Редактор Visual Basic. Открыть Модуль1. Для этого в окне справа открыть папку модулей и выполнить двойной щелчок на Модуле1. Ввести следующий макрос:

Sub auto_open()

DialogSheets(«Диалог1»).Show

End Sub

Проверить работу макроса.

Второй макрос служит для обновления суммы заказа в поле окна диалога. В окне модуля 1 введите следующую программу:

Sub Пересчет_Cуммы()

Sheets(«Диалог1»).DrawingObjects(«Editbox20»).Characters.Text=Sheets(«Лист1»).Range(«F11»)

End Sub

При вводе макросов обратить внимание на соответствие имен листов, полей ввода диалога и адресов ячеек вашего документа и представленного здесь образца.

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

Хотя диалог запускается каждый раз при открытии файла, необходимо назначить ему дополнительную кнопку или пункт меню. Для этого нужно зайти в меню Вид \ Панель инструментов \ Настройка, выбрать вкладку Команды, в правой половине окна выбрать Макросы, а слева Кнопку или Пункт меню. Перетащить элемент Кнопка (Пункт меню) на панель инструментов (в меню Сервис, подменю Макрос). Закрыть окно настройки панели инструментов. Нажать на созданную кнопку и присвойте ей макрос AutoOpen. Проверить работу Кнопки (Пункта меню).


Приложение А

 

 




Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 439; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.013 сек.