VBA Excel - открыть определенную папку или подпапку в Outlook - PullRequest
0 голосов
/ 24 августа 2018

Я пытаюсь открыть Outlook из макроса VBA в Excel.Я был в состоянии открыть это, но как заставить это пойти в определенную папку?Допустим, «отправленные элементы», «Черновая папка» и т. Д. Кроме того, как насчет выбора папки в другом почтовом ящике?У меня есть два почтовых ящика в моем 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

1 Ответ

0 голосов
/ 24 августа 2018

Не используйте GetObject с Outlook - используйте 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
...