Иллюстрированный самоучитель по Access 2002


         

Рис. 15.32. Документ Word, содержащий поля для вставки


Рассмотрим программу, которая открывает файл Contract.doc и автоматически заполняет поля договора. Такая программа может быть связана, например, с кнопкой в форме "Заказы клиентов" (Customer Orders) и обрабатывает нажатие данной кнопки. При нажатии на кнопку должен сформироваться договор с тем клиентом, который отображается в текущей записи формы. Для простоты будем считать, что номер договора будет равен номеру текущего заказа (выделенного в подчиненной форме).

Private

Sub

CreateContract_Click()

Dim wda As Word.Application

Dim wdd As Word.Document

Dim intPrint As Integer On Error GoTo ErrStartWord

Set wdd = GetObject("C:\Doc\Contract.doc")

Set wda = wdd.Parent

wda.Visible = True

wdd.Bookmarks("ContractNumber").Select

wda.Selection.TypeText

Text:=[Подчиненная форма заказов 1].Form![КодЗаказа]

wdd.Bookmarks("ContractDate").Select With wda

.Selection.TypeText Text:=Date

.Selection.GoTo Name:="CustemerName"

.Selection.TypeText Text:=[Название]

.Selection.GoTo Name:="CustomerAddress"

.Selection.TypeText Text:=[Страна]

' заполнение остальных полей

intPrint = MsgBox("Печатать договор?", vbYesNo + vbQuestion)

If intPrint = vbYes Then

wdd.Printout

Do While .BackgroundPrintingStatus <> 0

DoEvents

Loop

End If

.ActiveDocument.Close False If .Windows.Count = 0 Then

.Quit

End If

End With

Set wdd = Nothing Set wda = Nothing

Exit Sub

ErrStartWord:

MsgBox Err.Description & " " & Err.Number, vblnformation

Exit Sub

End Sub

В данной программе с помощью функции Getobject() создается объект Document. Если при этом Word не запущен, то одновременно создается скрытый экземпляр объекта Application Word. Если Word уже запущен, то новый документ добавляется к уже открытым документам.

Далее показаны два способа нахождения нужной закладки в документе. В первом случае используется семейство Bookmarks. Вызвав метод Select нужного элемента этого семейства, можно создать объект Selection, а в документе при этом выделяется требуемое поле.




Содержание  Назад  Вперед