VBA将电子邮件作为.MSG复制到新电子邮件
我对使用VBA还不熟悉,我四处寻找,试图找到一个解决方案。我不知道这是否可能,但我将尝试看看是否有人能想出任何想法 因此,当您进入Outlook并右键单击电子邮件时,可以选择“复制”。创建新电子邮件并粘贴电子邮件时,复制的电子邮件将作为.msg作为附加文件附加 我试图复制这个过程。现在我的过程是VBA将电子邮件作为.MSG复制到新电子邮件,vba,email,outlook,Vba,Email,Outlook,我对使用VBA还不熟悉,我四处寻找,试图找到一个解决方案。我不知道这是否可能,但我将尝试看看是否有人能想出任何想法 因此,当您进入Outlook并右键单击电子邮件时,可以选择“复制”。创建新电子邮件并粘贴电子邮件时,复制的电子邮件将作为.msg作为附加文件附加 我试图复制这个过程。现在我的过程是 查找电子邮件 InStr(olMail.Subject, "SUBJECT") <> 0 复制正文并将文本设置为strPaste Buf.SetText(OlMail.Body) Buf
InStr(olMail.Subject, "SUBJECT") <> 0
Buf.SetText(OlMail.Body)
Buf.PutInClipBoard
strPaste = Buf.GetText(1)
MailItem = OlApp.CreateItem(0)
.Body = strPaste
Option Explicit
Sub Example()
'// Declare variables
Dim Msg As Outlook.MailItem
Dim Item As Outlook.MailItem
' Select Item
If Application.ActiveExplorer.Selection.Count = 0 Then
MsgBox ("No Item selected")
Exit Sub
End If
For Each Item In Application.ActiveExplorer.Selection
Set Msg = Application.CreateItem(olMailItem)
With Msg
.Attachments.Add Item, olEmbeddeditem ' Attch Selected email
.Display
End With
Next
'// Clean up
Set Item = Nothing
Set Msg = Nothing
End Sub
选择要作为.msg复制到新电子邮件的电子邮件,然后运行代码这对我来说似乎是个x,y问题。。。我完全明白为什么会这样。我只为那些只想将电子邮件复制粘贴到自己身体中的人提供了我的第一个“尝试”解决方案。我知道我将不得不完成重做我的代码,但我想知道是否有人可以告诉我正确的方向。谢谢!这正是我要找的@Om3r是否可以使用您提供的方法将多封搜索到的电子邮件作为附件附加?@Joshua,只需将这一行
Set Msg=Application.CreateItem(olMailItem)
移到Application.ActiveExplorer.Selection中每个项目的外部[它创建邮件项目,然后在附加到所选项目时循环浏览所选项目。:-]
Option Explicit
Sub Example()
'// Declare variables
Dim Msg As Outlook.MailItem
Dim Item As Outlook.MailItem
' Select Item
If Application.ActiveExplorer.Selection.Count = 0 Then
MsgBox ("No Item selected")
Exit Sub
End If
For Each Item In Application.ActiveExplorer.Selection
Set Msg = Application.CreateItem(olMailItem)
With Msg
.Attachments.Add Item, olEmbeddeditem ' Attch Selected email
.Display
End With
Next
'// Clean up
Set Item = Nothing
Set Msg = Nothing
End Sub