【问题标题】:Selecting Outlook Emails to Paste to Word Document - VBA Macro选择要粘贴到 Word 文档的 Outlook 电子邮件 - VBA 宏
【发布时间】:2016-02-27 10:10:51
【问题描述】:

我想:

  1. 选择来自某个发件人的所有电子邮件

  2. 将电子邮件正文复制到新的 Word 文档中

  3. 将word文档保存到特定目录

  4. 清除剪贴板

我想知道我还需要做什么,尤其是在 FindSetAside()SaveToDicrectory() 函数中。

Sub FindSetAside()  'find all set-aside emails

End Sub

Sub PasteToWord()
    Dim Word As Word.Application
    Dim Doc As Word.Document
    Dim activeMessage As Outlook.MailItem 'the email to copy
    Dim activeBody As String
If TypeName(ActiveExplorer.Selection.Item(1)) = "MailItem" Then
    'get the active email
    Set activeMessage = ActiveExplorer.Selection.Item(1)
    'setup Word
    Set Word = CreateObject("Word.Application")
    WordApp.Visible = True
    setDoc = Word.Documents.Add
    'Copy selection to document
    activeMessage.GetInspector().WordEditor.Range.FormattedText.Copy
    Doc.Range.Paste
    Call ClearClipboard
End If
End Sub

Sub SaveToDirectory() 'Save the Word Document to the correct directory

End Sub

Public Sub ClearClipboard()
    Dim Data As New DataObject
    Data.SetText Tex:=Empty
    Data.PutInClipboard
End Sub

我正在使用 Outlook 2010。我也在考虑添加一些代码以将 Word 文档作为附件发送到特定电子邮件,但这可能与这个问题无关。

【问题讨论】:

    标签: vba ms-word outlook


    【解决方案1】:

    如果您需要对某些电子邮件执行搜索,则使用 E​​xplorer.Selection 将无济于事(除非您使用 Explorer.Search,它在 UI 中执行搜索)。看看这个以帮助确定您需要使用的搜索方法:

    https://msdn.microsoft.com/EN-US/library/ff869846.aspx

    那么只需要遍历返回的集合,访问里面的MailItem对象即可。

    要保存 Word 文档,请使用 Document.SaveAs2

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-03-10
      • 1970-01-01
      • 1970-01-01
      • 2016-06-26
      • 2021-09-27
      • 1970-01-01
      • 2017-10-05
      相关资源
      最近更新 更多