2017-07-07 8 views
0

J'essaie de créer un nouveau "Dossier de recherche" dans Outlook en utilisant VBA dans Excel. Il échoue sur la dernière ligne, qui est la fonction de sauvegarde. "L'objet n'a pas pu être trouvé". Des indices?Outlook Ajouter un dossier de recherche via Excel VBA

Sub createfolder() 

Dim oApp As Outlook.Application 
Dim oSearch As Outlook.Search 
Dim oInbox As Outlook.mapifolder 
Dim sFolderPath As String 
Dim oScope As String 
Dim sFilter As String 

Set oApp = New Outlook.Application 
Set oInbox = oApp.GetNamespace("MAPI").Folders("Fin Reporting").Folders("July") 

sFolderPath = oInbox.FolderPath 
sScope = "'" & oInbox.FolderPath & "'" 
Set oSearch = oApp.AdvancedSearch(sScope) 

oSearch.Save ("TestSearch") 


End Sub 
+0

De toute évidence, il est à défaut sur la ligne avant le dernier qui est ce qui créerait 'oSearch'). Êtes-vous sûr que vous avez besoin de 'Set' sur cette ligne? En outre, aucun des 700+ messages existants avec le même * Erreur 424 Objet requis * n'a-t-il aidé? –

+0

Non, il n'est pas clair qu'il échoue à l'avant-dernier. Et j'ai sorti SET, et il a dit qu'il en avait besoin. Il est définitivement en train de mourir à la dernière ligne. @KenWhite – gemmo

+0

J'ai fait plus de lecture, et je pense que mon erreur est d'essayer de chercher dans la boîte de réception partagée. Ce que je pense ne peut pas être fait. Quelqu'un peut-il vérifier cela? Quelqu'un a une alternative? – gemmo

Répondre

0

vous ne dites pas où votre dossier « reporting fin » est situé

pour ce code exemple, je l'ai mis dans le dossier haut, il est donc le même niveau que « boîte de réception »

top --- 
     | 
     fin reporting 
     | | 
     | july 
     | 
     inbox 
     | 
     sent items 
     | 
     etc. 

Essayez ces deux. voir lequel fonctionne ou ne fonctionne pas.

pas à pas dans le code en appuyant sur la touche F8 à plusieurs reprises

essayer celui-ci dans les perspectives

Sub createfolder_outlook() 

    Dim oInbox As MAPIFolder 
    Dim oSearch As Search 

    Set oInbox = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox).Parent.Folders("Fin Reporting").Folders("July") 
    Set oSearch = Application.AdvancedSearch("'" & oInbox.FolderPath & "'") 

    oSearch.Save ("TestSearch") 

End Sub 

puis faites même dans Excel

Sub createfolder_excel() 

    Dim oInbox As Outlook.MAPIFolder 
    Dim oSearch As Outlook.Search 

    Set oInbox = Outlook.Application.GetNamespace("MAPI").GetDefaultFolder(Outlook.olFolderInbox).Parent.Folders("Fin Reporting").Folders("July") 
    Set oSearch = Outlook.Application.AdvancedSearch("'" & oInbox.FolderPath & "'") 

    oSearch.Save ("TestSearch") 

End Sub