从已发送邮件检索VBA中的Outlook附件
我想做的是,在我工作的一些电子邮件模板上,当我们将某个Excel文件拖放到其中时,它将选择该Excel文件的一部分并将其复制到电子邮件正文中。我唯一的问题是,我到处都找了,找到的所有代码似乎都是针对正在接收而不是编写的电子邮件的,我如何访问:从已发送邮件检索VBA中的Outlook附件,vba,email,excel,outlook,Vba,Email,Excel,Outlook,我想做的是,在我工作的一些电子邮件模板上,当我们将某个Excel文件拖放到其中时,它将选择该Excel文件的一部分并将其复制到电子邮件正文中。我唯一的问题是,我到处都找了,找到的所有代码似乎都是针对正在接收而不是编写的电子邮件的,我如何访问: 我正在写的电子邮件中的附件 我正在写的电子邮件的正文 我确信,一旦我可以获得当前电子邮件的附件,我就可以获得我想要的所有其他内容的代码 在提到“只需录制宏并查看outlook如何操作”之前,出于某种原因,我的outlook没有“录制宏”项目,因为这也是我第
Sub Sample()
Dim NewMail As MailItem, oInspector As Inspector
Set oInspector = Application.ActiveInspector
'~~> Get the current open item
Set NewMail = oInspector.CurrentItem
With NewMail
Debug.Print .To
Debug.Print .subject
Debug.Print .Body
AttchCount = .Attachments.Count
If AttchCount > 0 Then
For I = 1 To AttchCount
'~~> Print Attachment names
Debug.Print .Attachments.Item(I).DisplayName
Next I
End If
End With
End Sub
输出
如何访问:我正在撰写的电子邮件中的附件
我正在写的电子邮件的正文
这是一个非常基本的例子。我没有做任何错误处理,但我相信你可以处理它
假设您正在编写的电子邮件如下所示
你所需要的就是这个代码
Sub Sample()
Dim NewMail As MailItem, oInspector As Inspector
Set oInspector = Application.ActiveInspector
'~~> Get the current open item
Set NewMail = oInspector.CurrentItem
With NewMail
Debug.Print .To
Debug.Print .subject
Debug.Print .Body
AttchCount = .Attachments.Count
If AttchCount > 0 Then
For I = 1 To AttchCount
'~~> Print Attachment names
Debug.Print .Attachments.Item(I).DisplayName
Next I
End If
End With
End Sub
输出
在提到“只需录制宏并查看outlook如何操作”之前,出于某种原因,我的outlook没有“录制宏”
您没有录制宏的内容?????这是不能接受的。可能您的Outlook版本不对……:(只是开玩笑)像Powerpoint这样的Outlook没有录制宏按钮;)在提到“只需录制宏并查看outlook如何操作”之前,出于某种原因,我的outlook没有“录制宏”
您没有录制宏的内容?????这是不能接受的。可能您的Outlook版本不对……:(只是开玩笑)像Powerpoint这样的Outlook没有录制宏按钮;)你是救命恩人,谢谢。我当时正试图通过继承权,但运气不佳。很高兴它奏效了。顺便说一句,代码是从VBA Outlook运行的。如果您希望它从VBA Excel运行,则必须相应地声明和创建Outlook对象。现在,我的大问题是试图找出添加新附件时触发的事件到底是什么。还没有弄清楚命名方案。嗯,那太粗鲁了。该死的微软!哇!为什么要责怪微软呢?我们更应该感谢他们给了我们如此重要的应用程序。你不仅可以收发电子邮件,还可以用它做很多事情;)你是救命恩人,谢谢。我当时正试图通过继承权,但运气不佳。很高兴它奏效了。顺便说一句,代码是从VBA Outlook运行的。如果您希望它从VBA Excel运行,则必须相应地声明和创建Outlook对象。现在,我的大问题是试图找出添加新附件时触发的事件到底是什么。还没有弄清楚命名方案。嗯,那太粗鲁了。该死的微软!哇!为什么要责怪微软呢?我们更应该感谢他们给了我们如此重要的应用程序。你不仅可以收发电子邮件,还可以用它做很多事情;)