Инфоурок / Информатика / Другие методич. материалы / Лабораторный практикум по теме "Интеграция приложений MS Office. Связывание"
Только сейчас Вы можете пройти дистанционное обучение на курсах повышения квалификации прямо на сайте "Инфоурок" со скидкой 40%. По окончании курсов Вы получите печатное удостоверение о повышении квалификации установленного образца (доставка удостоверения бесплатна).

Открыт приём заявок на новые курсы повышения квалификации:

- «Профилактическая работа в ОО по выявлению троллинга, моббинга и буллинга среди подростков» (108 часов)

- «Психодиагностика в образовательных организациях с учетом реализации ФГОС» (72 часа)

- «Укрепление здоровья детей дошкольного возраста как ценностный приоритет воспитательно-образовательной работы ДОО» (108 часов)

- «Профориентация школьников: психология и выбор профессии» (108 часов)

- «Видеотехнологии и мультипликация в начальной школе» (72 часа)

- «Патриотическое воспитание дошкольников в системе работы педагога дошкольной образовательной организации» (108 часов)

- «Психолого-педагогическое сопровождение детей с синдромом дефицита внимания и гиперактивности (СДВГ)» (72 часа)

- «Использование активных методов обучения в ВУЗе в условиях реализации ФГОС» (108 часов)

- «Специфика преподавания русского языка как иностранного» (108 часов)

- «Экологическое образование детей дошкольного возраста: развитие кругозора и опытно-исследовательская деятельность в рамках реализации ФГОС ДО» (108 часов)

- «Простые машины и механизмы: организация работы ДОУ с помощью образовательных конструкторов» (36 часов)

- «Федеральный государственный стандарт ООО и СОО по истории: требования к современному уроку» (72 часа)

- «Организация маркетинга в туризме» (72 часа)

Также представляем Вашему вниманию новый курс переподготовки «Организация тренерской деятельности по физической культуре и спорту» (300/600 часов, присваиваемая квалификация: Тренер-преподаватель).

Смотреть список всех 216 курсов со скидкой 40%

Лабораторный практикум по теме "Интеграция приложений MS Office. Связывание"

библиотека
материалов

Пакеты прикладных программ Практикум


hello_html_m2a7690f7.gifСовместная работа приложений.
Раннее и позднее связывание

Цель: получить представление о механизме связывания и внедрения объектов других приложений


Эффективность работы в среде Office во многом определяется возможностью совместной работы его приложений. С программистской точки зрения это означает, что в документе одновременно определены несколько объектов Application, задающих совместно работающие приложения.

При открытии какого-либо из приложений, например, документа Word по умолчанию считается определенным соответствующий объект Application, а, следовательно, и все объекты, в него вложенные. Более того, определены и все объекты, входящие в каркас документа, построенный по умолчанию.

Если мы хотим обеспечить совместную работу приложений, например, Word, Excel и Access, то можно начинать работу с открытия документа любого из этих приложений, и тогда корневой объект Application этого приложения будет доступен автоматически. Остальные объекты Application необходимо подключить к уже открытому документу. Пусть для определенности вы открыли документ Word и хотите подключить Excel и Access. Вот, что для этого нужно сделать:

  • Расширить каркас документа Word, установив ссылки на библиотеки, содержащие приложения Excel и Access . Напомним, что это делается в редакторе VBE в окне References меню Tools.

  • Объявить объекты (указатели на объекты) соответствующего класса.

  • Создать объекты и связать указатели с вновь созданными объектами.

Когда корневой объект Application создан и доступен, то автоматически становятся доступными все вложенные в него объекты, так что теперь с приложением можно работать в обычном режиме, вызывая свойства и методы его объектов. При объявлении объектов возможны варианты. При этом следует помнить, что объекты в VBA задаются с помощью указателей.

Рассмотрим три возможных варианта объявления:

  1. Dim MyXlApp As Object, MyAcApp As Object

Этот вариант задает так называемое позднее связывание. На этапе объявления известно, что переменные MyXlApp и MyAcApp являются объектами, а точнее, указателями на объекты, но еще не известно с объектами какого класса они будут связаны. Это станет известно динамически, в ходе выполнения программы, когда реально будет создан объект-экземпляр соответствующего класса и этот указатель получит на него ссылку. Для программиста эти переменные являются нетипизированными указателями.

  1. Dim MyXlApp As Excel.Application, MyAcApp As Access.Application

Это объявление задает раннее связывание. Переменные MyXlApp и MyAcApp теперь представляют собой типизированные указатели. И уже на этапе объявления известно, что в дальнейшем они будут связаны с объектами соответствующего класса. Чтобы при этом объявлении не возникло конфликтов, конечно же, необходимо предварительно подключить соответствующую библиотеку. Важно также понимать, что на этапе объявления память выделена только указателям. Сами объекты еще не созданы, и потому значения указателей не определены. Объекты еще предстоит создать по ходу выполнения программы и указатели должны быть связаны с ними.

  1. Dim MyXlApp As New Excel.Application, MyAcApp As New Access.Application

В этом случае раннее связывание реализуется в полном объеме. Создается указатель, благодаря спецификатору New создается сам объект, и указатель получает ссылку на вновь созданный объект.

Эти три варианта характерны не только при работе с объектами Application, а во всех случаях работы с объектами. Конечно же, в большинстве случаев предпочтительнее третья конструкция, когда создание объекта и указателя совмещаются в одном операторе. В Office такая конструкция является допустимой для объектов Application и ее разумно использовать.

Заметьте, что не все приложения допускают конструкцию New для создания ActiveX объектов, каковыми являются объекты Application. В ряде случаев для создания ActiveX объектов, хранящихся в отдельных файлах, следует использовать метод CreateObject, первый параметр которого задает имя класса объекта. Этот метод следует выполнить в нужный момент, связав заодно указатель с вновь созданным объектом. В Office 2007 допустимо создать объекты Application следующим образом:

Set MyXlApp = CreateObject("Excel.Application ")

Set MyAcApp = CreateObject("Access.Application ")


Раннее связывание предпочтительнее по двум важным причинам: оно обеспечивает более быструю работу приложения и интеллектуальную поддержку при работе с объектом. Последнее означает, что появляется список доступных свойств и методов, как только ставится точка после имени объекта. При позднем связывании такая поддержка отсутствует, так как класс объекта не известен на этапе трансляции до начала выполнения программы.

Упражнение 1. Использование связывание для совместной работы приложений

  • Создайте документ Word, на пустой странице которого разместите 2 кнопки Работа с Excel и Работа с Access (рис. 1).



hello_html_m79885d44.png



Рисунок 1. Документ Word для работы с другими приложениями Office



  • Нажатие на кнопку Работа с Excel должно приводить к открытию приложения Excel. Из приложения Word пользователь при этом не выходит. С запуском Excel открывается новая книга, на первом листе которой в соответствующих ячейках появляются записи, задаваемые пользователем. При этом пользователь может продолжить работу в книге, сохранить ее под нужным именем и т.д. Процедура обработки события нажатия кнопки Работа с Excel приведена в листинге 1.

Листинг 1. Процедура обработки события нажатия кнопки Работа с Excel

Public Sub WorkWithExcel()

'не забудьте включить ссылку на Excel в меню References

'Объявление и создание объектов Excel.Application

'Dim MyXlApp As New Excel.Application

Set MyXlApp = CreateObject("Excel.Application")

'Работа с приложением Excel

With MyXlApp

.Visible = True

'Excel появился на линейке и его можно раскрыть

'Добавить новую книгу

.Workbooks.Add

'Теперь можно работать и с ячейками данной книги

.Range("A1") = "Hello!"

'Идет работа с книгой

.Range("B1") = "By-By"

.Workbooks(1).Activate

'Закрываем открытую книгу

MsgBox ("Закрываем рабочую книгу Excel?")

.Workbooks(1).Close

'Будет задан вопрос о необходимости сохранения книги

'Закрываем приложение

.Quit

End With

End Sub

  • Нажатие на кнопку Работа с Access должно приводить к тому, что пользователь, не выходя из документа Word, может просматривать и редактировать данные формы, созданной в приложении Access для работы с базой данных. Процедура обработки события нажатия кнопки Работа с Access приведена в листинге 2.

Листинг 2. Процедура обработки события нажатия кнопки Работа с Access

Public Sub WorkWithAccess()

'НЕ забудьте включить ссылку на Access и Dao 3.6 в меню References

Set MyAc = CreateObject("Access.Application")

Dim PathDb As String

'Открываем базу данных Access

PathDb = "E\ППП\2009\Модуль 2 Интеграция приложений\<Имя базы данных>.accdb"

MyAc.OpenCurrentDatabase (PathDb)

'Открываем форму

MyAc.DoCmd.OpenForm ("Form4")

MyAc.Visible = True

'Закрываем базу данных

MsgBox ("Закрываем базу данных Access?")

MyAc.Quit

End Sub


  • Протестируйте работу приложения.

Задание для самостоятельного выполнения

  1. Скорректируйте код для того, чтобы Excel открывал существующую книгу.

  2. Создайте приложение в Excel, из которого можно было бы открывать документ Word.



Самые низкие цены на курсы переподготовки

Специально для учителей, воспитателей и других работников системы образования действуют 50% скидки при обучении на курсах профессиональной переподготовки.

После окончания обучения выдаётся диплом о профессиональной переподготовке установленного образца с присвоением квалификации (признаётся при прохождении аттестации по всей России).

Обучение проходит заочно прямо на сайте проекта "Инфоурок", но в дипломе форма обучения не указывается.

Начало обучения ближайшей группы: 27 сентября. Оплата возможна в беспроцентную рассрочку (10% в начале обучения и 90% в конце обучения)!

Подайте заявку на интересующий Вас курс сейчас: https://infourok.ru

Общая информация

Номер материала: ДВ-314348

Похожие материалы

2017 год объявлен годом экологии и особо охраняемых природных территорий в Российской Федерации. Министерство образования и науки рекомендует в 2017/2018 учебном году включать в программы воспитания и социализации образовательные события, приуроченные к году экологии.

Учителям 1-11 классов и воспитателям дошкольных ОУ вместе с ребятами рекомендуем принять участие в международном конкурсе «Законы экологии», приуроченном к году экологии. Участники конкурса проверят свои знания правил поведения на природе, узнают интересные факты о животных и растениях, занесённых в Красную книгу России. Все ученики будут награждены красочными наградными материалами, а учителя получат бесплатные свидетельства о подготовке участников и призёров международного конкурса.

Конкурс "Законы экологии"