【问题标题】:Folder on root, not under Inbox generates error: The attempted operation failed. An Object Could not be found [duplicate]根目录下的文件夹,而不是收件箱下的文件夹生成错误:尝试的操作失败。找不到对象[重复]
【发布时间】:2018-09-01 17:22:35
【问题描述】:

我在根目录下创建了一个文件夹,而不是在收件箱下。移动到根文件夹的语法是什么?

我收到错误:

尝试操作失败

找不到对象

调试指向下面的行myRestrictItems(i).Move myFolder.folders("Business")

Option Explicit

Public Sub Example()

    Dim myNamespace As Outlook.NameSpace
    Dim myFolder As Outlook.MAPIFolder
    Dim myRestrictItems As Outlook.Items
    Dim myItems As Outlook.Items
    Dim myItem As Object
    Dim i As Long
    Dim Filter As String
    Dim Msg As String


    Set myNamespace = Application.GetNamespace("MAPI")
    Set myFolder = myNamespace.GetDefaultFolder(olFolderInbox)
    Set myItems = myFolder.Items

    Filter = "@SQL=" & Chr(34) & "urn:schemas:httpmail:datereceived" & _
                   Chr(34) & " >= '01/01/2018' And " & _
                   Chr(34) & "urn:schemas:httpmail:datereceived" & _
                   Chr(34) & " < '23/03/2018' And " & _
                   Chr(34) & "urn:schemas:httpmail:fromname" & _
                   Chr(34) & "Like '%Jayakumar Krishnamoorthy%'"


    Set myRestrictItems = myItems.Restrict(Filter)

    For i = myRestrictItems.Count To 1 Step -1
        myRestrictItems(i).Move myFolder.folders("Business")

    'Msg = myRestrictItems.Count & " Items in " & myFolder.Name & " Folder"

    'MsgBox (Msg)

    Next

End Sub

【问题讨论】:

  • 收件箱下是否有子文件夹名称Business
  • 我在根目录下创建了文件夹,而不是在收件箱下。现在使用 0m3r 建议创建和测试,效果很好。移动到根文件夹“Business”的语法是什么
  • 你能贴一张你的outlook文件夹的图片吗?
  • 对不起,我不能分享邮箱的截图,因为这是我的办公室邮箱。
  • 是的,“Business”文件夹与 Inbox 处于同一级别。

标签: vba outlook outlook-2016


【解决方案1】:

正确的语法应该是


myRestrictItems(i).Move myNamespace.Folders("Business")

还将你 msgbox 移到循环之外,示例

Set myRestrictItems = myItems.Restrict(Filter)

Msg = myRestrictItems.Count & " Items in " & myFolder.Name & " Folder, Move it?"

If MsgBox(Msg, vbYesNo) = vbYes Then
    For i = myRestrictItems.Count To 1 Step -1
        myRestrictItems(i).Move myNamespace.Folders("Business")
    Next
End If

【讨论】:

  • 感谢 0m3r,按照您的建议进行了修改,脚本像冠军一样工作,我在收件箱下创建了一个文件夹,它工作正常并成功移动。如果我必须将其移动到根文件夹“Business”,语法是什么
  • @Jayakumarkrishnamoorthy 答案更新为正确语法
【解决方案2】:

在文件夹中快速循环到debug.print 其名称以及您可能会发现有用的任何其他属性。显示的名称和内部名称可能不同。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-06
    • 2021-10-15
    • 2021-04-02
    • 2022-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-05
    相关资源
    最近更新 更多