Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Outlook通过Excel VBA添加搜索文件夹_Excel_Vba_Outlook_Outlook 2010 - Fatal编程技术网

Outlook通过Excel VBA添加搜索文件夹

Outlook通过Excel VBA添加搜索文件夹,excel,vba,outlook,outlook-2010,Excel,Vba,Outlook,Outlook 2010,我正在尝试使用excel中的VBA在outlook中创建一个新的“搜索文件夹”。 它在最后一行失败,这是保存功能。“找不到对象”。有什么线索吗 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

我正在尝试使用excel中的VBA在outlook中创建一个新的“搜索文件夹”。 它在最后一行失败,这是保存功能。“找不到对象”。有什么线索吗

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

您没有说明“财务报告”文件夹的位置

对于这个示例代码,我将其放在顶部文件夹中,因此它与“收件箱”处于同一级别

试试这两个。看看哪一个有效,还是不有效

反复按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

显然,它在最后一行之前失败了,这将创建
oSearch
)。您确定需要在该行设置
吗?另外,700多篇带有相同错误424对象的现有帖子中没有一篇需要帮助吗?不,目前还不清楚这篇文章到底有没有失败。我拿出一套,它说它需要它。在最后一行它肯定快死了@KenWhiteI读了更多的书,我认为我的错误是试图在共享收件箱中搜索。我认为这是不可能做到的。有人能证实吗?有人有其他选择吗?你的代码似乎还可以。这对我来说很好。您确定正在使用正确的文件夹吗?我唯一要更改的是变量声明,因为您在代码中使用了“sScope”,并且在代码顶部使用了“dim-oScope”。
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