我正在尝试从Excel中的VBA宏打开Outlook。我可以打开它,但是如何将其转到特定的文件夹?假设“已发送邮件”,“草稿文件夹”等。另外,如何选择另一个邮箱中的文件夹?我的Outlook中有两个邮箱。
这是我到目前为止的代码:
Sub my_prov_openOutlook()
Dim oOutlook As Object
On Error Resume Next
Set oOutlook = GetObject(, "Outlook.Application")
On Error GoTo 0
If oOutlook Is Nothing Then
Shell ("OUTLOOK")
'''I would like to open a specific folder under the inbox or under a subfolder
Else
oOutlook.ActiveWindow.Activate
'''I would like to open a specific folder under the inbox or under a subfolder
End If
答案 0 :(得分:1)
请勿在Outlook中使用GetObject
-使用CreateObject
。 Outlook是一个单例:如果它已经在运行,您将获得一个指向现有实例的指针。如果未运行,它将启动。
另外,请勿使用On Error Resume Next
-您不会知道是否收到错误以及错误的发生位置。
Set oOutlook = CreateObject("Outlook.Application")
set oNS = oOutlook.GetNamespace("MAPI")
oNS.Logon 'does not do anything if Outlook is already running
set oFolder = oNS.GetDefaultFolder(6) 'olFolderInbox
if (oOutlook.ActiveExplorer Is Nothing) Then
oFolder.Display
Else
set oOutlook.ActiveExplorer = oFolder
End If