我在outlook中几乎没有共享邮箱。我在excel中创建了VBA来提取电子邮件主题。但我必须在excel中单击“获取Outlook”按钮,然后逐个单击选定的收件箱。有没有办法让我计划自动提取每个收件箱,而不是手动逐个单击?
发布于 2020-03-16 22:34:10
创建启用宏的工作簿,除非您有合适的工作簿可用。
在VBA编辑器中,单击工具,然后单击引用。检查"Microsoft Outlook nn.n Object Library“是否在顶部附近列出并打勾。如果列出但未勾选,请单击复选框以勾选。如果没有在顶部列出,请向下滚动(列表按字母顺序排列),直到找到该库并勾选它。
将下面的代码复制到ThisWorkbook。保存工作簿并将其关闭。
单击工作簿或通过Windows Scheduler打开工作簿。作为演示,将显示可访问商店的列表。单击“确定”退出Excel,或单击“取消”终止宏,以便可以处理代码。警告1:如果单击“确定”,则将关闭所有打开的工作簿,而不保存任何更改。警告2:如果您没有取消或等效选项,因此宏将自动关闭工作簿,您将永远无法修改此宏。
注意:此代码是使用工作簿打开事件运行宏的演示,也是从Excel访问Outlook的演示。但是,除了列出可访问的存储外,它对Outlook什么也不做。如果您需要进一步的演示,我会尽力帮助您。
Option Explicit
Sub Workbook_Open()
' Needs reference to "Microsoft Outlook nn.n Object Library" where
' nn.n depends on the version of Outlook being used.
Dim Answer As Long
Dim Dspl As String
Dim InxS As Long
Dim OutApp As New Outlook.Application
Dim OutNs As Outlook.Namespace
Set OutNs = OutApp.Session
' Build list of all accessible stores
With OutNs
Dspl = .Folders(1).Name
For InxS = 2 To .Folders.Count
Dspl = Dspl & vbLf & .Folders(InxS).Name
Next
End With
Answer = MsgBox(Dspl, vbOKCancel)
If Answer = vbCancel Then
Exit Sub
End If
Application.DisplayAlerts = False
Application.Quit
End Subhttps://stackoverflow.com/questions/60691969
复制相似问题