рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Создание нестандартного окна диалога

Создание нестандартного окна диалога - Курсовая Работа, раздел Программирование, Средства разработки офисных приложений Создание Нестандартного Окна Диалога. Редактор Visual Basic Предоставляет Эфф...

Создание нестандартного окна диалога. Редактор Visual Basic предоставляет эффективные средства, позволяющие создавать нестандартные диалоговые окна для Microsoft Excel, Word и Power Point. Эти средства одинаковы для всех приложений.

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

Запуск редактора VB осуществляется с помощью меню Сервис Макрос Редактор Visual Basic. Чтобы создать нестандартное диалоговое окно, необходимо создать форму (UserForm), добавить в нее элементы управления, установить их свойства и написать код, реагирующий на события, определенные для формы и элементов управления.

Разработка диалогового окна в редакторе Visual Basic происходит в режиме конструктора.

В этом режиме элементы управления можно редактировать, но на события они не реагируют. При запуске диалогового окна происходит переключение в режим выполнения (run mode). В этом режиме элементы управления реагируют на события. Создадим новое нестандартное окно – UserForm, при помощи команды в меню Insert (вставка). В окне Properties при помощи свойства Caption изменим заголовок на «Формирование прайс-листа». Для добавления элементов управления предназначена панель элементов – ToolBox. Чтобы добавить элемент управления в нестандартное диалоговое окно, его необходимо выделить на панели элементов ToolBox, перетащить с помощью мыши на форму и подобрать размеры.

Каждая форма или элемент управления распознают определенный набор событий, вызываемых пользователем или системой.

Чтобы указать, как форма или элемент управления должны реагировать на событие, пишутся процедуры обработки событий. Добавим в созданное диалоговое окно элементы управления Label: наименование товара, тип цены, единицы измерения, количество, цена единицы товара. Добавим элементы управления TextBox – (раскрывающийся список) поля для заполнения типа цены и единицы измерения. Элемент управления Frame для выбора наценки. Элемент управления СhechBox (флажок) для указания наличия или отсутствия НДС. Необходимо добавить элементы управления СommandButton для заполнения прайс-листа и подсчета итогов.

Получившееся нестандартное диалоговое окно представлено в приложении 1. Элементы управления на базе ActiveX можно добавить не только в нестандартные диалоговые окна, но и в рабочий лист. Добавим в рабочий лист кнопку для запуска созданного диалогового окна. Для этого используя панель инструментов Control Toolbox (элементы управления) меню View (Вид) команды Toolbars. 4. Разработка программного кода С помощь закрытой процедуры Sub создаем кнопку ОК, при нажатии на которую заполняется прайс-лист. Задаем переменные i a присваивая им тип Variant.

Переменная а задает номер прайс-листа. С вводом нового товара, ее значение увеличивается на единицу. Переменной i присваиваем значение 6, которое является начальной строкой для заполнения прайс-листа. Затем, используя оператор цикла Do While … Loop, который проверяет условие в начале цикла, и если оно истинно, переходит к выполнению цикла и продолжает, пока условие не станет ложным, присваиваем i= i+1. Второму столбцу i-ой строки присваивается наименование товара, вводимого пользователем, третьему – единицы измерения, четвертому – количество.

Используя оператор ветвления If…Then, который проверяет одно условие и выполняет оператор или блок операторов, в зависимости от типа цены пятому столбцу присваивается цена оптовой партии, шестому – мелкооптовой, седьмому – розничной. При этом, оптовая цена = количество умножить на цену, задаваемую пользователем; мелкооптовая и розничная учитывают наценку в 5%. Также с помощью оператора ветвления If…Then, задаем три вида наценки: 5, 10 и 15%. При расчете цены партии товара учитывается НДС в 18%, если он помечен флажком в диалоговом окне. Затем, с помощь закрытой процедуры Sub создаем кнопку Итог. Задаем переменные u, i,j, b,c и присваиваем начальные значения. С помощью оператора Do While … Loop задаем суммирование значений по столбцам количества, оптовой, мелкооптовой и розничной цены. Второму столбцу i-ой строки задается «Итого», а по столбцу 4,5,6,7 выводятся их итоговые значения.

Чтобы установить начальное значение, которое будет у элемента управления при каждом открытии содержащего его диалогового окна, необходимо добавить нужный код в процедуру обработки события Initialize формы UserForm, включающий этот элемент. Для данного примера для цены задается три ее вида (оптовая, мелкооптовая, розничная) и для единицы измерения два вида (шт. и кг.). Чтобы вывести диалоговое окно на экран при выполнении программы, используем метод Show. Для данного примера программный код выглядит следующим образом: Private Sub CommandButton1_Click() Dim i, a As Variant With p a = Cells(2, 3) a = a + 1 Cells(2, 3) = a i = 6 Do While Cells(i, 1) <> "" i = i + 1 Loop Cells(i, 1) = i - 5 Cells(i, 2) = .TextBox1 Cells(i, 3) = .ComboBox2 Cells(i, 4) = .TextBox2 If. ComboBox1 = "оптовая" Then Cells(i, 5) = .TextBox2 * .TextBox3 Cells(i, 6) = 0 Cells(i, 7) = 0 Else If. ComboBox1 = "мелкооптовая" Then Cells(i, 5) = 0 Cells(i, 6) = .TextBox2 * .TextBox3 * 1.05 Cells(i, 7) = 0 Else If. ComboBox1 = "розничная" Then Cells(i, 5) = 0 Cells(i, 6) = 0 Cells(i, 7) = .TextBox2 * .TextBox3 * 1.05 End If End If End If If. OptionButton1 = True Then Cells(i, 5) = Cells(i, 5) * 1.05 Cells(i, 6) = Cells(i, 7) * 1.05 Cells(i, 7) = Cells(i, 7) * 1.05 End If If. OptionButton2 = True Then Cells(i, 5) = Cells(i, 5) * 1.1 Cells(i, 6) = Cells(i, 7) * 1.1 Cells(i, 7) = Cells(i, 7) * 1.1 End If If. OptionButton3 = True Then Cells(i, 5) = Cells(i, 5) * 1.15 Cells(i, 6) = Cells(i, 7) * 1.15 Cells(i, 7) = Cells(i, 7) * 1.15 End If If. ComboBox1 = True Then Cells(i, 5) = Cells(i, 5) * 1.18 Cells(i, 6) = Cells(i, 7) * 1.18 Cells(i, 7) = Cells(i, 7) * 1.18 End If End With End Sub Private Sub CommandButton2_Click() Dim u, i, j, b, c With p i = 6 u = 0 j = 0 b = 0 c = 0 Do While Cells(i, 1) <> "" u = u + Cells(i, 4) j = j + Cells(i, 5) b = b + Cells(i, 6) c = c + Cells(i, 7) i = i + 1 Loop Cells(i, 2) = "ИТОГО" Cells(i, 4) = u Cells(i, 5) = j Cells(i, 6) = b Cells(i, 7) = c End With End Sub Sub UserForm_Initialize() With p With. ComboBox1 .AddItem "оптовая" .AddItem "мелкооптовая" .AddItem "розничная" End With With. ComboBox2 .AddItem "шт." .AddItem "кг." End With End With End Sub 5. Пример работы программы Водим начальные данные в диалоговое окно и получаем прайс-лист. Прайс-лист № 5 № Наименование товара Ед. Изм. Кол-во Цена Опт. Мелк. Розн. 1 Товар 1 шт. 950 149625 0 0 2 Товар 2 шт. 100 0 0 0 3 Товар 3 шт. 210 0 0 0 4 Товар 4 кг. 350 0 16905 16905 5 Товар 5 кг. 300 6300 0 0 ИТОГО 1910 155925 16905 16905

– Конец работы –

Эта тема принадлежит разделу:

Средства разработки офисных приложений

Разработка языка программирования VBA, встраиваемого в прикладные системы, является одним из стратегических направлений компании Microsoft. Этот язык уже интегрирован в такие программы, как Word for Windows, Power… В принципе, можно полностью перепрограммировать все функции программы Excel, если в этом появилась необходимость.На…

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Создание нестандартного окна диалога

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Эта работа не имеет других тем.

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги