2017-07-07 92 views
0

我想在Excel中使用VBA在Outlook中創建一個新的「搜索文件夾」。 最後一行失敗,這是保存功能。 「無法找到對象」。任何線索?Outlook通過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

顯然,它的失敗上線之前,最後一個就是創建'oSearch')。你確定你需要在該行上設置嗎?此外,沒有任何700+現有的職位與* Error 424對象需要*幫助? –

+0

不,現在還不清楚,它倒數第二次失敗。我拿出SET,它說它需要它。這絕對是在最後一線死亡。 @KenWhite – gemmo

+0

我做了更多的閱讀,我認爲我的錯誤是試圖在共享收件箱上進行搜索。我認爲不能這樣做。任何人都可以驗證嗎?任何人都有其他選擇? – gemmo

回答

0

你沒有說你的「鰭報告」文件夾位於

這個例子的代碼,我把它放在頂層文件夾,所以它是在同一水平「收件箱」

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

試試這兩個。看哪一個工作,或不工作。通過代碼

單步按F8鍵多次

試試這個在Outlook

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 

然後做在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 
相關問題