【发布时间】:2019-02-07 23:12:01
【问题描述】:
我创建了一个 Word 模板,我需要执行以下操作:
- 基于该模板创建一个新文档
- 修改新模板的部分数据并复制其所有内容
- 打开 Outlook 并将模板粘贴到邮件正文中
- 将邮件发送给相应的收件人
注意:基本模板将根据其数据用于多个收件人。基本上,它与 Word 对应选项卡实现的功能几乎相同,只是自定义。另外,VBA代码在excel表格中,因为有收件人。
这是我的代码,一切正常,直到您到达应该在 Outlook 邮件正文中粘贴内容的行,因为这不会粘贴内容,实际上粘贴不起作用。
Sub EnviarRespuestas()
Dim editor, OutApp, Correo As Object
Dim i, j, celda As Integer
Dim pag1 As Worksheet
Set pag1 = ActiveWorkbook.Worksheets("send messages")
wArch = "path of the template"
celda = 11
'create Document of template
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
objWord.documents.Add Template:=wArch, NewTemplate:=False, DocumentType:=0
'Modify document with data of Excel
For k = 6 To 8
With objWord.Selection.Find
.Text = Sheet1.Range("A" & k).Text
.Replacement.Text = Sheet1.Range("C" & k).Text
.Execute Replace:=2
End With
Next k
objWord.Activate
'Copy content of the template modify
objWord.Selection.WholeStory
objWord.Selection.End = objWord.Selection.End - 1
objWord.Selection.Copy
'validate if exists recipients in sheets of excel
Do While Not pag1.Range("J" & celda).Value = ""
Set Correo = OutApp.CreateItem(0)
With Correo
.To = pag1.Range("J" & celda).Value
.Subject = "CURSO: " & pag1.Range("C6").Text
'try of paste content in body
.BodyFormat = olFormatRichText
Set editor = .GetInspector.WordEditor
editor.Content.Paste
.Display
celda = celda + 1
End With
Loop
End Sub
如果有人可以帮助我,我将不胜感激。
【问题讨论】: