Главная страница
Навигация по странице:

  • Создать новую форму

  • Tools

  • Caption

  • TabStop

  • KeyCode

  • TextBox1.Enabled=True

  • Do...Loop ,For...Next и For Each...Next

  • If...Then...Else и Select Case .Переход к другой части той же программы выполняется с помо щью оператора GoTo

  • ActiveDocument .UndoClear

  • Application. Screen Updating = False

  • Application

  • Orientation

  • Леонтьев Б.К. Я изучаю Microsoft Office Visio 2003 (PDF). Удк 004. 738. 5 Ббк 32. 973. 26 018. 2


    Скачать 0.88 Mb.
    НазваниеУдк 004. 738. 5 Ббк 32. 973. 26 018. 2
    АнкорЛеонтьев Б.К. Я изучаю Microsoft Office Visio 2003 (PDF).pdf
    Дата25.04.2017
    Размер0.88 Mb.
    Формат файлаpdf
    Имя файлаЛеонтьев Б.К. Я изучаю Microsoft Office Visio 2003 (PDF).pdf
    ТипДокументы
    #4822
    КатегорияИнформатика. Вычислительная техника
    страница24 из 35
    1   ...   20   21   22   23   24   25   26   27   ...   35
    Visual Basic, выберите Add ins

    Add ins Manager. При этом появит ся диалоговое окно встроенного диспетчера вместе со списком других расширений Microsoft Office Visio.
    Глава 8.
    Программирование в Microsoft Office
    Visio 2003
    Работа с формами
    Формы — это окна интерфейса программы. С их помощью можно сообщать пользователю необходимую информацию или получать ее в от вет. Для создания форм используются средства Visual Basic for Applicati ons (VBA).
    Создать новую форму: Выберите Insert, а далее дайте команду User
    Form.
    Поле отображения текста — отражает текстовую информацию.
    Поле ввода текста — позволяет пользователю ввести текстовую информацию.
    Несколько видов списков — средства выбора варианта наподобие ниспадающего перечня шрифтов.
    Флажок — элемент, который может находиться в трех состояниях:
    включенном, выключенном (это устанавливается как пользователем, так и программистом) или неактивном (определяется программой).
    Переключатель — элемент, который также может находиться во включенном, выключенном и неактивном состоянии. В отличие от флажка, переключатели должны быть объединены в группы с помощью элемента «рамка». В случае, если же один из группы включен, то осталь ные уже не могут быть в таком состоянии.
    В Visio 2003 есть диалоговые окна, которые содержат как флажки
    (принято называть «функции»), так и переключатели. Кстати, почти все закладки меню
    Tools состоят из флажков, а меню Insert — из переключа телей.
    Выключатель — кнопка, которая может находиться в нажатом или отжатом состоянии.
    Рамка — отражает прямоугольник с заголовком, используется в основном для объединения групп переключателей.
    Командная кнопка — обычная, наподобие кнопки OK или «Отме на» в любом диалоговом окне.
    Набор вкладок и 10 й элемент — наборы страниц, которые пред ставляют комплект страниц вкладок. Отличие между этими двумя эле ментами (т.е. набором вкладок и 10 м элементом) состоит в том, что 9 й при переключении на другую страницу не затрагивает остальные элемен ты формы, даже когда они находятся на нем, а изменить состояние дру гих элементов можно только программно. Десятый же элемент при сво ем переключении принудительно (т.е. вне зависимости от программы)
    скрывает элементы на одной своей странице и показывает на другой. Для того, чтобы лучше понять разницу между этими двумя типами элемен тов, создайте форму с каждым из них и посмотрите, как они работают, —
    при переключении закладок в 9 м элементе на них самих ничего менять ся не будет, а при использовании 10 го элемента на каждой новой за кладке вы можете разместить свой, отдельный набор элементов.
    Так, 9 й элемент может использоваться в какой либо программе,
    в частности базе данных, отображая вкладки с именами сотрудников. На каждого из них в нескольких полях есть стандартная текстовая информа ция, и число этих полей для всех одинаково. В этом случае разумнее будет использовать именно 9 й элемент, соответственно изменяя содер жимое полей с текстом при переключении вкладок, чем создавать с по мощью 10 го элемента набор страниц с отдельными полями текста на каждой из них, что резко увеличивает объем программы и усложняет ее.
    К сожалению, в настоящее время нет единой номенклатуры этих двух элементов форм VBA, поэтому в справочной системе и литературе можно встретить разные названия для каждого из них.
    Использование редактора Visual Basic
    253 254
    Использование редактора Visual Basic

    Полоса прокрутки может передавать в программу число, равное расстоянию в пунктах от ее начала. Верхний предел расстояния неогра ничен.
    Счетчик — две кнопки со стрелками. Может передавать в про грамму свое значение от 1 до 100.
    Рисунок — в этот элемент можно вставить из файла рисунок, ко торый будет храниться в форме (и шаблоне с ней).
    У каждого элемента есть свое уникальное имя, а также набор свойств, которые необходимо внимательно изучить.
    Большой набор свойств имеет также и сама форма. С помощью ниспадающего меню в «Окне свойств» можно быстро перейти к свойст вам выбранного элемента.
    Среди наиболее распространенных свойств, имеющихся почти у всех элементов, можно отметить следующие:
    Caption — надпись на по верхности или в заголовке, если он есть;
    Top и Left — координаты верх него левого угла элемента;
    Height и Width — высота и ширина; Enabled
    доступность для изменений пользователем;
    TabIndex — число, показыва ющее, когда можно изменить в данном элементе содержание или состо яние при переходах между элементами с помощью клавиши табуляции
    (можно запретить переход на какой либо элемент, указав его свойство
    TabStop как False).
    Следует обратить внимание и на свойства формы:
    Picture, Pic
    tureAlignment, PictureSizeMode, PictureTiling. С их помощью на поверх ность формы можно поместить какой нибудь фоновый рисунок.
    Следует помнить, что создание элемента — только начало работы над формой. Сам по себе элемент никаких действий не выполняет, кро ме, конечно, тех, которые его определяют: кнопка активизируется от щелчка мыши или клавиши
    Enter, в списке представляются значения и т.д. Для того, чтобы элемент выполнял какое нибудь действие, когда на него оказывается влияние, надо написать программу «реакции на собы тия». С элементом может произойти множество событий: двойной щел чок мыши на нем, проводка курсора мыши, ввод текста в соответствую щее поле и т.д. Итак, чтобы записать программу, необходимо два раза щелкнуть на элементе. Тогда откроется окно и появится «заготовка» сле дующего вида:
    Private Sub UserForm_Click()
    End Sub
    Теперь можно вводить команды, которые выполняются в том слу чае, когда в заголовке происходит событие. Оно считается стандартным для кнопок, флажков, рисунков, рамок, переключателей и окон отобра жения текста. Для остальных элементов — полей ввода текста, полос прокрутки, счетчиков и др. — стандартным считается событие
    Change, т.
    е. их изменение.
    Чтобы получить список возможных событий для элемента, следу ет поставить курсор внутрь процедуры обработки стандартного события и выбрать нужное, которое размещается справа вверху окна написания программы. Слева вверху этого же окна указаны все процедуры и функ ции программы реакции формы на события. В последней могут быть представлены процедуры и функции, не связанные с элементами формы.
    Некоторые события имеют параметры, которые передаются про грамме. Так, процедура обработки события KeyDown (т. е. нажатие ка кой либо клавиши при активном элементе) имеет вид:
    Private Sub CommandButton1_KeyDown(ByVal
    KeyCode As MSForms.ReturnInteger, ByVal
    Shift As Integer)
    End Sub
    Переменная
    KeyCode после срабатывания данной процедуры бу дет иметь значение, равное коду нажатой клавиши, а переменная
    Shift
    будет составлять 1, если соответствующая клавиша была нажата, и 0, ес ли не была. Эти переменные можно использовать в процедуре.
    Все свойства можно изменять и из программы. Например, коман да
    TextBox1.Enabled=True позволяет пользователю ввести текст в поле ввода
    TextBox1, а команда CheckBox1.Value=False снимет флажок с име нем
    CheckBox1. Такая возможность делает формы VBA динамическими,
    т.е. их содержимое может в ответ на действия пользователя изменяться немедленно, причем без выгрузки и повторной загрузки формы. Сама форма может работать как обычное диалоговое окно программы для
    Windows XP — к примеру, выбор пользователем значения из списка поз воляет каждый раз выводить в форму какой либо текст, неодинаковый для разных значений. Наиболее часто динамические формы применяют ся для отключения элементов, которые не могут быть использованными при каких либо условиях. Например, в форме, состоящей из поля ввода текста и кнопки, вызывающей процедуру вычисления квадратного кор ня, кнопка может становиться неактивной при написании в поле ввода отрицательного числа.
    Для того, чтобы просмотреть форму в режиме выполнения, иначе говоря, представить вид ее в готовой программе, надо нажать клавишу
    F5, как и для запуска обычной программы.
    Использование редактора Visual Basic
    255 256
    Использование редактора Visual Basic

    Следует иметь в виду, что после выгрузки формы все переменные,
    описанные в программе реакции формы на события, обнуляются. По этому получить от формы какие либо данные уже нельзя. В случае, если в результате работы формы в основную программу должны передаваться некоторые данные, то нужно с помощью инструкции
    Public объявить в этой программе несколько переменных. Затем в программе реакции формы на события записать в них всю требующуюся информацию, полу ченную от пользователя, и потом снова использовать значения этих пе ременных в основной программе.
    Программа реакции формы на события представляет собой пол ноценный модуль проекта, за исключением лишь того, что процедуры из него могут быть вызваны только в другой программе. Так как вызов фор мы на исполнение с помощью кнопки, строки меню или сочетания кла виш невозможен, то необходимо в основной программе указать команду
    ИмяФормы.Show и назначить ей кнопки и сочетания клавиш. Следует учесть, что если даже все требуемые функции реализованы в процедурах программы реакции формы на события, то все равно приходится создать основную программу, хотя бы только для вызова данной формы.
    Так же как и модули, формы могут быть сохранены в отдельных файлах с помощью функции
    Export File.
    Однако в отличие от модулей, при сохранении форм получается два файла: один содержит текст программы реакции формы на события,
    другой — информацию о расположении элементов на форме, их свойст вах, а также рисунки и фон формы.
    Поэтому при импортировании оба этих файла должны находиться в одной папке.
    Операторы цикла и перехода
    В случае, если нужно повторить ту или иную группу операций не сколько раз, то используются такие операторы цикла, как
    Do...Loop,
    For...Next и For Each...Next.
    А если требуется совершить какие либо действия в зависимости от наличия определенных условий, а также от значения той или иной пере менной, то применяются операторы условия:
    If...Then...Else и Select Case.
    Переход к другой части той же программы выполняется с помо щью оператора
    GoTo «имя метки».
    В то место, куда нужно совершить переход, на отдельной строке следует проставить метку с соответствующим именем и за ней двоеточие.
    Для того, чтобы ускорить выполнение работающей с текстом про граммы, рекомендуется почаще использовать команду
    ActiveDocument.
    UndoClear, которая позволяет очистить список выполненных команд
    (однако делает невозможной отмену последних изменений).
    Для того, чтобы система не тратила время и ресурсы на постоян ное обновление экрана и отображение изменений и чтобы выполнять визуальный контроль происходящих изменений, поставьте в начало про граммы команду
    Application. Screen Updating = False, а в конец — коман ду
    Application.ScreenUpdating = True.
    В случае, если возникает нестандартная ошибка, то с помощью команды
    On Error goto «имя метки» можно заставить программу перехо дить к указанной метке, а поставив перед каким либо фрагментом про граммы команду
    On Error Resume Next, можно приказать ей (при возник новении ошибки) начать выполнение следующей команды.
    О шифровании и паролях
    Защита доступа к информации с помощью пароля — самый рас пространенный способ хранения секретов на ПК. Она используется практически везде — начиная с задания пароля на вход в Интернет и за канчивая установкой пароля на проекты VBA. Однако о принципах та кой защиты большинству пользователей известно довольно мало. Вот некоторые сведения.
    Среди различных математических логических функций есть одна весьма примечательная функция —
    XOR. Команда, выполняющая ее,
    имеется практически во всех языках программирования.
    XOR — это та же функция ИЛИ (если хотя бы на один из входов было подано значение
    1, то и результат получается равным 1), однако она при подаче на вход сразу двух единиц выдает 0. Обратите внимание на одно интересное свойство функции: если на ее вход подать значение первого входа и по лучившийся после этого результат, то выйдет значение второго входа.
    То же самое происходит и со значением второго входа и с полученным результатом: в результате образуется значение первого входа. Следова тельно, зная итоговую величину функции
    XOR и данные на любом из входов, можно получить значение на другом входе — т.е. функция
    XOR
    обратима.
    Отсюда и вытекает принцип шифрования паролем. Берем некий текст, который должен быть зашифрован, и определенное слово, вы бранное в качестве пароля. Текст — это последовательность букв байтов.
    Поскольку байт равен восьми битам, это позволяет представить текст как последовательность битов — нулей и единиц.
    Использование редактора Visual Basic
    257 258
    Использование редактора Visual Basic

    Зная зашифрованный текст и ту часть незашифрованного, кото рая соответствует определенной части обычного, можно с использовани ем той же функции
    XOR определить пароль, а затем с его помощью рас шифровать остальную часть текста. Потому то в современных системах для защиты текста паролем и применяют более сложные способы шиф рования, к примеру повторение пароля не несколько раз подряд, а через определенные промежутки, либо расположив символы пароля в обрат ном порядке. Но всегда необходима функция XOR благодаря своей обра тимости.
    Способы создания программ
    Многие используют Visio 2003 как среду разработки программных продуктов посредством Visual Basic for Applications — языку программи рования. Visual Basic for Applications — вполне полнофункциональный язык программирования, с помощью которого можно создавать вполне законченные и работоспособные программы. На языке Visual Basic for
    Applications могут начать создавать программы даже те, кто ранее никог да не занимался программированием, причем для этого не потребуются ни толстые книги, ни дорогие курсы обучения. Необходимо лишь уметь думать, наблюдать, исследовать, ставить эксперименты, делать выводы
    — в общем, проявлять способности к научному анализу. И именно это делает программирование на Visual Basic for Applications прекрасным способом выработки в себе способности к научному подходу к различ ным явлениям.
    Средства программирования
    В поставку Visio 2003 входит интерпретатор языка программиро вания Visual Basic for Applications, а также средства создания полноцен ных программных продуктов.
    Компоненты проекта делятся на категории:
    ThisDocument
    При выборе пункта
    View Object произойдет переход к соответству ющему документу — к его содержимому.
    В чертеж Visio 2003 можно вставить специальные объекты — кноп ки, поля ввода текста, поля выбора вариантов и др. В этом случае после выбора пункта контекстного меню объекта
    ThisDocument можно напи сать программу, которая будет выполняться при нажатии соответствую щей кнопки, введении текста и др. К написанию такой программы мож но перейти и из контекстного меню самого специального объекта.
    Модули
    Модули — это и есть собственно программы. Щелкнув два раза мышью на имени модуля, можно получить доступ к тексту программы или начать ее создавать.
    Для начала написания программы надо в ее окне написать
    Sub
    Уникальное имя программы, после чего Visio сама добавит фразу End Sub,
    и между этими двумя фразами должен заключаться текст основной части программы.
    Модули класса
    Класс — это особое понятие, играющее очень важную роль в про граммировании.
    Вкратце это тип объектов, определяемых программистом.
    Формы
    Формы — это диалоговые окна программ, которые можно разра ботать по своему вкусу.
    Редактор Visual Basic обладает дружественным интерфейсом. Он постоянно подсказывает программисту, какие параметры имеет та или иная команда, как надо корректно ее написать. Например, если набрать команду
    MsgBox, а после нее открывающую круглую скобку, то над кур сором сразу же появится подсказка. С ее помощью можно получить ин формацию о синтаксисе данной команды, т.е. о том, как конкретно нуж но задавать ее параметры в тексте программы — в данном случае текст окошка, количество кнопок, значок и звук при появлении диалогового окна.
    Язык Visual Basic for Applications объектно ориентированный. Это значит, что очень многие его команды имеют особенный формат, отлич ный, скажем, от формата Basic или Pascal. Типичная команда Visual Basic имеет такой вид:
    <Объект>.<Объект, входящий в первый объект>.
    <...>.<Тот объект, с которым нужно произвести действие>.
    <Собственно действие>.
    Иными словами, каждая команда пишется как бы «с конца»: вна чале определяется то, над чем надо произвести действие — объект, а за тем само действие — метод. Разделителями компонентов команды слу жат знаки «точка». Вот пример такой команды:
    Application.ActiveDocument.PageSetup.Orientation =
    wdOrientLandscape.
    Использование редактора Visual Basic
    259 260
    Использование редактора Visual Basic

    Эта команда устанавливает альбомную ориентацию листа в доку менте. У объекта
    Application (приложение, в данном случае Visio 2003)
    есть подобъект
    ActiveDocument (активный документ), у этого подобъекта есть еще подобъект —
    PageSetup (параметры страницы), далее следует подобъект
    Orientation (ориентация листа), которому присваивается зна чение
    wdOrientLandscape — альбомная ориентация листа.
    Такой же вид имеет и команда получения информации об ориен тации листа — она будет выглядеть так:
    p = Application.ActiveDocument.PageSetup.Orientation.
    После ее выполнения значение переменной
    р будет wdOrient
    Landscape или wdOrientPortrait соответственно. При написании команд редактор Visual Basic for Applications постоянно подсказывает возможные варианты следующего шага. Так, к примеру, стоит написать в тексте про граммы слово
    Application и поставить точку, как сразу появятся возмож ные варианты продолжения.
    Можно мышкой выбрать нужный вариант, и он обязательно бу дет правильным — не в смысле верности алгоритма (это остается на со вести программиста), а в смысле соответствия правилам синтаксиса и иерархии объектов, а также правописания слова. Затем можно вновь по ставить точку, и вновь будет выдан список возможных вариантов про должения.
    Есть также команда завершения слова — можно не писать целиком слово
    1   ...   20   21   22   23   24   25   26   27   ...   35


    написать администратору сайта