gpt4 book ai didi

excel - 选择 Word 文档的内容并使用 VBA 将其粘贴到 Outlook 的正文中

转载 作者:行者123 更新时间:2023-12-04 22:29:19 26 4
gpt4 key购买 nike

我创建了一个 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

    如果有人可以帮助我,我将不胜感激。

    最佳答案

    你几乎明白了,在粘贴之前尝试显示。另请参阅我所做的小改动

    下面的示例我正在使用 wdFormatOriginalFormatting保留word doc和签名的格式

        Dim Correo As Object
    Set Correo = OutApp.CreateItem(0)
    Set objWord = Correo.GetInspector.WordEditor

    With Correo
    .To = pag1.Range("J" & celda).Value
    .Subject = "CURSO: " & pag1.Range("C6").Text

    .Display 'here
    objWord.Paragraphs(1).Range. _
    PasteAndFormat Type:=wdFormatOriginalFormatting

    End With

    关于excel - 选择 Word 文档的内容并使用 VBA 将其粘贴到 Outlook 的正文中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54583761/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com