В код статьи включен модуль класса 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 не открыт.