- •Омский государственный технический университет
- •А.М. Минитаева, л.А. Климович
- •Учебное пособие
- •Информатика и программирование
- •Лабораторная работа №2. Форматирование текста в текстовом процессоре
- •Численность населения
- •Список оборудования
- •Значения элементокоэффициентов Кэ для деталей ступенчатых валов
- •Учебно-тематический план по информатике
- •Лабораторная работа №4. Редактор формул microsoft equation 3.0
- •628400, Г. Омск, ул. Мира, д.25, тел.(3282) 24-11-97
- •Уважаемый ________!
- •План выпуска продукции по цехам
- •Расход материалов по каждому виду продукции
- •Потребности предприятия в материалах
- •Сводная ведомость результатов экзаменационной сессии
- •Ведомость на выплату стипендии
- •Результаты выборов в Государственную Думу рф в 2007 году
- •Критерии оценки презентации
- •Некоторые классы объектов языка программирования Visual Basic for Application
- •InsertUserForm…
- •ViewTools…
- •Контрольные вопросы
- •Библиографический список
- •Содержание
- •Приложение 1 Интегрированная среда программирования
- •Visual Basic
- •Стандартные элементы управления Visaul basic
- •Управляющие структуры
- •Организация пользовательского интерфейса. Диалоговые окна
- •Формы как пользовательские окна диалога
- •Редактор кода
- •Приложение 2 примеры макросов для приложений microsoft ofice1
Некоторые классы объектов языка программирования Visual Basic for Application
№ п/п |
Класс объектов |
Свойства |
Методы |
События |
1 |
UserForm (форма) |
Name (имя) Caption (надпись) Font (Шрифт) Heigt (Высота) Width (Ширина) |
Show (показать) Move (переместить) |
Load (загрузка) |
2 |
CommandButton (командная кнопка) |
Name (имя) Caption (надпись) Font (Шрифт) Heigt (Высота) Width (Ширина) |
Move (переместить) |
Click (щелчок) |
3 |
TextBox (текстовое поле) |
Name (имя) Caption (надпись) Font (Шрифт) Heigt (Высота) Width (Ширина) |
Move (переместить) |
DbClick (двойной щелчок) |
4 |
Label (надпись) |
Name (имя) Caption (надпись) Font (Шрифт) Heigt (Высота) Width (Ширина) |
|
|
Каждый объект класса обладает некоторыми свойствами, реагирует на события, к нему можно применять методы.
Значения свойств объектов (Properties) изменяются в окне свойств среды программирования или в программном коде.
Присвоение объекту свойства в программном коде осуществляется по схеме:
Объект.Свойство = ЗначениеСвойства
Объект имеет обычно несколько свойств. С помощью инструкции Wiht…End Withможно задать значения сразу нескольких свойств объекта:
With Объект
.Свойство1 = ЗначениеСвойства1
.Свойство2 = ЗначениеСвойства2
…
.СвойствоN= ЗначениеСвойстваN
End With
Для того чтобы объект выполнил какую-либо операцию, необходимо применить метод, которым он обладает. Многие методы имеют аргументы, которые позволяют задать параметры выполняемых действий. Для присваивания аргументам конкретных значений используется двоеточие и знак равенства, а друг от друга аргументы отделяются запятой:
Объект.Метод Арг1 := значение, Арг2 := значение
Например, операция открытия документа в приложении MsWordсодержит название методаOpen, а также указание пути к открываемому файлу:Documents().OpenFileName:=”C:\Мои документы\Проба.docx”
Событие представляет собой действие, распознаваемое объектом. Событие может создаваться пользователем (например, щелчок мышью или нажатие клавиши) или быть результатом воздействия других программных объектов. В качестве реакции на события вызывается определенная процедура, которая может изменять значения свойств объекта, вызывать его методы и т.д.
Для каждого события можно программировать отклик, т.е. реакцию объекта на произошедшее событие. В качестве отклика выполняется некоторая последовательность действий (событийная процедура). Имя процедуры включает в себя имя объекта и имя события:
Объект_Событие ()
В событийной процедуре может участвовать несколько объектов. Например, некоторое событие происходит с первым объектом, в результате чего второй объект изменяет значение одного из своих свойств, а третий – реализует какой-либо метод и т.п.
Каждая процедура представляет собой отдельный программный модуль, который реализует определенный алгоритм. В терминологии процедурного программирования такие процедуры соответствуют подпрограммам, поэтому каждая из событийных процедур описывается с помощью инструкции Sub … End Sub. В программе можно использовать не только процедуры данного программного модуля, но и ссылаться на процедуры других модулей текущего документа, а также других документов.
Различают четыре типа процедур:
процедуры общего назначения (стандартные), как правило, не вносят изменений вне себя;
командные процедуры расширяют возможности прикладных программ, реализуя новые виды обработки;
процедуры обработки событий выполняются при наступлении событий определенного вида (например, открытие или закрытие документа, нажатие кнопки, перемещение объекта и т.п.);
функции пользователя, возвращающие результат описанных действий, которые могут быть использованы по аналогии с вызовом встроенных функций VBA.
VBAсоблюдает основной синтаксис и правила программирования языков семействаBasic (приложение 1).
Методика программирования с использованием средств VBAсводится к следующему:
создание объектов управления и контроля (диалоговые окна, пиктограммы, меню);
разработка процедур, используемых при вызове объектов.
Для организации работы VBAс приложением вReferencesнеобходимо подключить библиотеку объектов приложения:MicrosoftWordObjectLibrary,MicrosoftExcelObjectLibraryили др. После этого вObjectBrowserстанут активными объекты приложения, которые будут доступны пользователю в программе.
Любая программа в VBAначинается с создания объекта приложения:
DimobjWordAs Word.Application
SetobjWord=New Word.Application‘здесь переменная ‘objWord берет на себя роль приложения Word
или
Dim XL As New Excel.Application‘здесь переменная XL ‘берет на себя роль приложения Excel
Можно открыть уже имеющийся файл приложения:
XL.Workbooks.Open App.Path & "\MyBook.xls"
Set objDoc = objWord.Documents.Open (App.Path &_ "\HI.doc")
или создать новый документ:
DimobjDocAsWord.Document
SetobjDoc = objWord.Documents.Add
Если необходимо чтобы открываемое приложение было видимо пользователю, следует придать свойству Visibleобъекта значениеTrue; если приложение должно быть невидимым, свойствуVisibleпридаем значениеFalshe:
ObjWord.Visible = True
XL.Visible = False
Завершение работы с документом и приложением осуществляется функциями CloseиQuit:
ObjDoc.Close False
ObjWord.Quit False‘Необязательный параметр FALSE ‘сообщает Word, что сохранять изменения в файлах не ‘требуется. Если этот параметр опустить, то Word
‘запросит согласия пользователя (если документ не был ‘сохранен предварительно)
или
XL.ActiveWorkbook.Close ‘Завершениеработы с активной ‘книгой
Для сохранения документа используются методы Save,Save as. Метод Save не имеет параметров, т.к. он рассчитан на сохранение документов с известным именем файла:
If objDoc.Saved = False Then objDoc.Save ‘Свойство
‘Saved позволяет проверить, были ли сохранены
‘внесенные изменения.
или
XL.ActiveWorkbook.Save 'сохраняем книгу
XL.ActiveWorkbook.SaveAs "C:\MyNewWorkBook.xls"'сохраняем книгу под другим именем
Приемы получения статистической информации:
WordApp.ActiveDocument.Characters.Count 'получить
'общее количество символов в активном документе
'(буквы, цифры,пробелы, переход на новую строку и
'т.д)
WordApp.ActiveDocument.Characters(14).Text 'получить
'символ по его индексу
WordApp.ActiveDocument.Characters(14).Text="е" 'изменить символ по его индексу
Для создания графического объекта можно использовать один из двух методов:
явным объявлением объектной переменной типа Shape (например, DimLine1AsWord.Shape), и последующей её инициализацией;
неявной инициализацией объекта Shape.
Оба метода имеют свои преимущества и недостатки, например, при втором методе не нужно объявлять объектную переменную для каждого графического примитива, но в дальнейшем сложнее получать доступ к свойствам и методам этого конкретного объекта. Это происходит потому, что к заранее объявленному и впоследствии инициализированному графическому объекту вы обращаетесь напрямую, а при неявной инициализации необходимо знать индекс или имя конкретного графического объекта, что довольно сложно.
Таким образом, проще при создании новых графических примитивов сначала инициализировать заранее объявленный объект, получить и запомнить его имя или ввести уникальное, а затем уничтожить ссылку на этот объект и в дальнейшем использовать для доступа к объекту его уникальное имя. Если вы не собираетесь использовать слишком много графических объектов, то следует просто объявить нужное количество объектных переменных и впоследствии спокойно обращаться к ним.
Следует помнить о том, что новый графический объект создается на текущем листе и принадлежит этому листу, поэтому, сначала следует перейти на нужный вам лист и только потом инициализировать примитив.
Для достижения успеха следует уметь выполнять действия:
запустить редактор Visual Basic
в меню программы на закладке Разработчик в разделе Код выбрать кнопку «Visual Basic»
РазработчикКодVisual Basic…
Рис. 85. Окно интегрированной среды разработки VBA, открытое из приложенияMsWord.
добавить форму
в меню редактора Visual Basic выбрать закладку Insert; в развернувшемся списке выбратьUserForm