Access. Программирование на VBA

       

Объект Letter


В код статьи включен модуль класса cLetter,

использующийся для создания писем в Microsoft Word. Пись­мо составляется автоматически. Для этого используется шаблон Microsoft Word, а данные для письма по­лучает SQL-оператор. Метод ShowWord (Boolean) определяет, отображается ли Word для данного пользователя. Иногда требуется отправлять письма непосредственно на принтер без редактирования.

Код модуля класса cSound приведен ниже;

Option Explicit Private objWord As Word.Application

' Локальные переменные для хранения значений свойств. Private mvarTemplate As String ' локальная копия

Private mvarSQLStatement As String ' локальная копия

Public Property Let SQLStatement(ByVal vData As String)

mvarSQLStatement = vData

End Property

Public Property Get SQLStatement() As String

SQLStatement = mvarSQLStatement

End Property

Public Property Let Template(ByVal vData As String)

mvarTemplate = vData

End Property

Public Property Get Template() As String



Template = mvarTemplate

End Property

Public Sub CreateLetter(DatabasePath As String, ShowWord As Boolean)

' Запись данных о покупателях во временный файл для использования

' почтового слияния. Это быстрее, чем получение данных непосредственно

' из Access.

DoCmd.OutputTo acOutputQuery, "qryCustomers", AcFormatRTF, "С:\Temp.rtf", False

objWord.Documents.Add (Me.Template)

' Запуск почтового слияния.

With objWord.ActiveDocument.MailMerge

.MainDocumentType = wdFormLetters

.OpenDataSource Name:="C:\ Temp.rtf"

.Destination = wdSendToNewDocument

.Execute End With

It ShowWord Then

    Me.ShowWord

End If

End Sub

 

Friend Sub ShowWord()

' Отображение экрана приложения Word для пользователя.

objWord.Visible = True

End Sub

Private Sub Class_Initialize()

1

Переход к следующей строке после оиибки.

On Error Resume Next

' Попытка использовать приложение Word, окно которого уже открыто. Set objWord =

Get0bject(,  "Word.Application")

' Если истинно. Word не открыт.



Содержание раздела