Создание интегрированных документов на язхыке VBA


Разработка приложения для создания интегрированных документов в среде MS Officeна языке VBAАвтор: Ковалев Сергей Николаевич,учитель информатики и ИКТ,МБУ лицей №67 г.о. Тольятти Открытый урок по теме:29.04.2014 Актуализация знанийЭто свойство позволяет регулировать видимость объекта на экране и принимает значения True или False.1. Для чего в языке VBA используется свойство Visible и какие значения оно может принимать?2. Что произойдет при выполнении следующей команды? Documents.Add Visible:=FalseВ среде MS Word создается новый документ и скрывается.

Актуализация знанийЭтот объект обозначает приложение Ms Word или Ms Excel. Он включает в себя все другие объекты.3. Что обозначает и для чего используется объект Application?4. Что произойдет при выполнении следующей команды? Application.Quit Данная команда приводит к закрытию приложения.

Актуализация знанийЭтот объект позволяет обращаться к выделенному фрагменту документа Word или рабочей книги Excel.5. Для чего в языке VBA используется объект Selection?6. Что произойдет при выполнении следующей команды? Range("E10") = Selection.Row В ячейку Е10 будет записан номер выделенной строки электронной таблицы Excel.

Интегрированный (составной) документ. Что это?В рабочий документ можно вставить фрагмент из другого документа, созданного в другой программной среде и имеющего иной тип данных. Например, в текст, созданный в текстовом редакторе MS Word, можно включить таблицу, тип данных в которой определяется табличным процессором Excel, Создание интегрированного документа Заполнение документа MS Word данными из MS Excel Постановка задачиСоздать программу – «Помощник классного руководителя», позволяющую на основе имеющейся ведомости оценоксоздать табель успеваемости для выбранного ученика. Действия VBA-программы Dim wdApp, wdDoc As ObjectSet wdApp = CreateObject ("Word.Application")wdApp.Application.Visible = True1. Объявляем переменные объектного типа2. Создаем приложение MS Word3. Отображаем приложение MS Word на экранеКод VBA-программы (начало программы)4. Открываем нужный документSet wdDoc = wdApp.Documents.Open (“C:\Табель.docx")



R = Selection.RowwdDoc.Tables(1).Cell(1, 2).Range = Cells(R, 2)For i = 3 To 17 wdDoc.Tables(2).Cell(i - 1, 2).Range = Cells(R, i)Next1. Получаем номер выделенной в таблице строки 2. Вставляем в табель фамилию ученика3. Заполняем табель оценкамиКод VBA-программы (основной блок)


Private Sub CommandButton1_Click()Dim wdApp, wdDoc As ObjectDim i, R As IntegerSet wdApp = CreateObject ("Word.Application")wdApp.Application.Visible = TrueSet wdDoc = wdApp.Documents.Open ("C:\VBA\Бланк.docx")R = Selection.RowwdDoc.Tables(1).Cell(1, 2).Range = Cells(R, 2)For i = 3 To 17 wdDoc.Tables(2).Cell(i - 1, 2).Range = Cells(R, i)NextEnd SubПолный код VBA-программы
Контрольные вопросыCreateObject1. В программе использовалась функция, позволяющая запустить приложение MS Word. Как она называется? 2. Переменные какого типа использовались в программе для доступа к приложению MS Word и его объектам? Объектные переменные типа Object 3. Как должен быть записан оператор, позволяющий из MS Excel занести данные в 1-ю ячейку таблицы Word ? wdDoc.Tables(1).Cell(1, 1).Range