【问题标题】:Replace Keyword in a new mail with copied content from a word document用 word 文档中的复制内容替换新邮件中的关键字
【发布时间】:2019-02-24 19:34:35
【问题描述】:

我在这个网站上浏览了很多主题,但找不到我的问题的解决方案。

这里是上下文:

我正在尝试从 word 文档中生成带有正文的电子邮件 => 没有问题。

在本文档中,我希望将关键字替换为从另一个单词中复制的内容。

我知道如何在文档末尾粘贴,但不使用复制的内容替换关键字。

这是我的代码:

Sub DisplayMail()

Dim WDApp As Word.Application
Dim WDDoc As Word.Document
Dim OlApp As Outlook.Application
Dim OlItem As Outlook.MailItem

Set WDObj = ThisWorkbook.Sheets("Modèle").OLEObjects("Objet 1")

WDObj.Activate
WDObj.Object.Application.Visible = False

Set WDApp = GetObject(, "Word.Application")
Set WDDoc = WDApp.ActiveDocument
WDDoc.Content.Copy

Set OlApp = CreateObject("Outlook.application")
OlApp.GetNamespace("MAPI").Logon
Set OlItem = OlApp.CreateItem(olMailItem)
With OlItem
.To = ""
.CC = ""
.BodyFormat = olFormatHTML
.Subject = "test"

Set Editor = .GetInspector.WordEditor
Editor.Content.Select
Editor.Application.Selection.Paste
'this works fine, the email's body now looks like my first word document
  ------------
Set WDObj = ThisWorkbook.Sheets("Sheet2").OLEObjects("Objet 2")
WDObj.Activate
WDObj.Object.Application.Visible = False
Set WDDoc = WDApp.ActiveDocument
WDDoc.Content.Copy
'Copy of the content of my second word document (that's what I want to replace the keyword with)
'Editor.Characters.Last.Select
'Editor.Application.Selection.Paste
'code I use to copy at the end of the email body
------------

------------
With Editor.Content.Find
.Text = "#Keyword#"
.Replacement.Text = "text"
.Forward = True
.Execute Replace:=wdReplaceAll
End With
'with this code I can replace the keyword with Text but not with the content of my second word document
.Display
End With
End Sub

【问题讨论】:

    标签: vba replace outlook ms-word copy-paste


    【解决方案1】:

    要使用剪贴板的内容替换文本,请使用搜索代码:^c

    例如(来自问题中发布的代码):

    With Editor.Content.Find
      .Text = "#Keyword#"
      .Replacement.Text = "^c"
      .Forward = True
      .Execute Replace:=wdReplaceAll
    End With
    

    您可以通过显示“替换”对话框(按 Ctrl+H)、单击“更多”然后单击“特殊”来找到此类特殊搜索代码的列表。有“查找”和“替换”的列表 - 单击对话框顶部的相应框以获取该框的列表。

    【讨论】:

    • 好的,我不知道我们可以将剪贴板与 .replacement.text 一起使用,我已经尝试过了,它工作正常,我对 .png 中的图片有一些问题,但我转换了它在 .jpg 中,现在可以了。
    猜你喜欢
    • 2019-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-21
    • 1970-01-01
    • 2018-07-29
    • 1970-01-01
    相关资源
    最近更新 更多