Создаю класс для работы с Word.
Код класса WordClass.
- Код: Выделить всё
Option Explicit
'#######################################################################################
'# Объявление переменных
'#######################################################################################
Dim WordApp As Object '# Объектная переменная объекта - Word
Dim DocWord As Object '# Объектная переменная объекта - документ
' Dim TabWord As Object '# Объектная переменная объекта - таблица
'#######################################################################################
Private Sub Class_Initialize()
'# Создание объекта - Word
Set WordApp = CreateObject("Word.Application")
End Sub
'########################################################################################
'# Процедура проверки валидности файла
'########################################################################################
Private Function FileExist(FileName As String) As Boolean
On Error GoTo ErrFileExist
If Dir$(FileName) = vbNullString Then
FileExist = False
Else
FileExist = True
End If
Exit Function
ErrFileExist: FileExist = False
End Function
'########################################################################################
'########################################################################################
'# Процедура создания докумета Word
'########################################################################################
Public Sub CreateWordDocument(FileName As String)
'# Создание объекта - документ
Set DocWord = WordApp.Documents.Add
'# Сохранение документ Word
DocWord.SaveAs (FileName)
'# Закрытие документа Word
WordApp.Quit True
'# Уничтожение объекта - документ
Set DocWord = Nothing
End Sub
'########################################################################################
Private Sub Class_Terminate()
'# Уничтожение объекта - Word
Set WordApp = Nothing
End Sub
Код в форме.
- Код: Выделить всё
Option Explicit
Dim wc As New WordClass
Private Sub cmdCreateWordDoc_Click()
Dim i As Integer
i = Val(txtDocNumber.Text)
wc.CreateWordDocument App.Path & "\DocExemple" & i & ".doc"
txtDocNumber.Text = i + 1
End Sub
При нажатии на на кнопку без проблем создаётся документ. При повторном нажатии, ошибка 462.
В поиске по форуму, я нашёл несколько ответов, но что-то видимо не понял. Объясните в чём причина ошибки.
И есть ли разница, при обращении к Word если он подключен через References или, создание переменной идёт с помощью CreateObgect?
С уважением...
P.S. Проект во вложении.