Я пытаюсь использовать VBA (в Word) для создания встречи в Outlook на основе данных, предоставленных в пользовательской форме, которая загружается при открытии документа Word, содержащего макрос. Кажется, все работает нормально, но я получаю ошибку во время выполнения, когда макрос выполняет функцию вставки.
Dim OutApp As Object
Dim OutMail As Object
Dim OutInsp As Outlook.Inspector
Dim WdApp As Word.Application
Dim OutDoc As Word.Document
Dim WdSel As Word.Selection
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(1)
If request_Form.ComboBox3.Value = "****" Then
With ActiveDocument.Bookmarks("recipient_Name")
.Range.Text = "Uwe"
End With
With ActiveDocument.Bookmarks("applicant_Name")
.Range.Text = Replace(request_Form.TextBox1.Value, "_", ", ")
End With
With OutMail
.MeetingStatus = olMeeting
.RequiredAttendees = "@live.in"
.Subject = request_Form.TextBox1.Value & " Work From Home"
.Location = "Home"
.BusyStatus = olFree
.ReminderSet = False
If request_Form.CheckBox1.Value = False Then
.Start = DateValue(request_Form.TextBox2.Value) + TimeValue(request_Form.ComboBox1.Value)
.End = DateValue(request_Form.TextBox2.Value) + TimeValue(request_Form.ComboBox2.Value)
Else
.AllDayEvent = True
End If
.Display
End With
Set OutInsp = OutMail.GetInspector
Set OutDoc = OutInsp.WordEditor
Set WdApp = OutDoc.Application
Set WdSel = WdApp.Windows(1).Selection
Documents("Home Office Request Form.docm").Range.Copy
With OutMail
WdSel.PasteAndFormat Type:=wdFormatOriginalFormatting
End With
save_file
MsgBox "A copy of this file has been stored in your desktop for your
reference.", vbOKOnly + vbInformation, "Status Information"
End Sub
«Функция макроса - программа создает встречу на основе данных, заполненных пользовательской формой, и копирует весь контент в текстовом документе и вставляет его в текст встречи». Когда выполняется этот фрагмент кода "wdsel.pasteandformat", это приводит к ошибке времени выполнения, но, что интересно, эта ошибка, по-видимому, не возникает довольно часто, поэтому мне трудно понять, что происходит не так, как надо, допустим, 70% времени работы хорошо и, вероятно, в остальных 30% случаев это не так.
Я был бы очень рад, если бы кто-нибудь помог мне понять, что не так с приведенным выше кодом.
Спасибо за вашу помощь.
С уважением,
Рахул