【发布时间】:2018-01-02 21:52:21
【问题描述】:
我已经在 Excel VBA 中编写了以下代码,如果位于 Outlook 的默认收件箱文件夹中,它会打开一封带有给定主题的电子邮件。
但是,我想在所有收件箱子文件夹中搜索此电子邮件。
由于代码将被多个用户使用,我不知道他们的 Outlook 收件箱子文件夹的编号和名称。关于如何在所有子文件夹中搜索此电子邮件的任何想法?
Sub GetEmail()
Dim OutApp as Object
Dim Namespace as Object
Dim Folder as Object
Dim myMail as Object
Set OutApp = CreateObject("Outlook.Application")
Set Namespace = OutApp.GetNamespace ("MAPI")
Set Folder = Namespace.GetDefaultFolder(6)
Set myMail = Folder.Items.Find ("[Subject] = ""Test""")
myMail.Display
End Sub
【问题讨论】:
-
想一想,你可以在 Outlook 中进行搜索,为什么要在 Excel 中创建函数?如果你真的想要这样的功能(这似乎是 Outlook 中搜索功能的重复),你可以在 Outlook 中编写一个宏
-
有利也有弊:如果您在 Outlook 中编写宏来执行此操作,则更容易,因为您已经可以访问 Outlook 对象,但您必须在 Outlook 中为所有用户添加宏。在 Excel 中,编写宏有点复杂,但您不需要任何安装