我想:
选择来自特定发件人的所有电子邮件
将电子邮件正文复制到新的Word文档
将word文档保存到特定目录
清除剪贴板
我想了解我还需要做些什么,特别是在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文档作为特定电子邮件的附件,但也许这与此问题无关。
答案 0 :(得分:0)
如果您需要执行某些电子邮件的搜索,则使用Explorer.Selection会有所帮助(除非您使用在UI中执行搜索的Explorer.Search)。看看这个有助于确定您需要使用的搜索方法:
https://msdn.microsoft.com/EN-US/library/ff869846.aspx
然后,只需遍历返回的集合并访问其中的MailItem对象。
要保存Word文档,请使用Document.SaveAs2。