【问题标题】:How to add subfolders to all folders of a directory?如何将子文件夹添加到目录的所有文件夹?
【发布时间】:2019-05-13 14:42:12
【问题描述】:

我正在 Outlook 2016 中组织电子邮件。我需要在每个文件夹中创建三个子文件夹。

我有在每个文件夹中创建三个子文件夹的代码:

Public Sub CreateFolders()
    Dim CurrentFolder As Outlook.MAPIFolder
    Dim Subfolder As Outlook.MAPIFolder
    Dim List As New VBA.Collection
    Dim Folders As Outlook.Folders
    Dim Item As Variant
    
    List.Add Array("1", olFolderInbox)
    List.Add Array("2", olFolderInbox)
    List.Add Array("3", olFolderInbox)
    
    Set CurrentFolder = Application.ActiveExplorer.CurrentFolder
    Set Folders = CurrentFolder.Folders
    For Each Item In List
        Folders.Add Item(0), Item(1)
    Next
End Sub

我从https://www.computergaga.com/blog/loop-through-subfolders-using-filesystemobject/得到它

如何在一个目录的所有文件夹中创建三个子文件夹?

【问题讨论】:

    标签: vba outlook directory


    【解决方案1】:

    这是我用来遍历所有子文件夹的 Sub,它只是为每个新的子文件夹调用 sub,然后遍历子子文件夹,然后是子子文件夹等:

    Public Sub LoopAllSubFolders(ByVal folder As object)
    
        For Each subfolder In folder.SubFolders
            LoopAllSubFolders subfolder 'remove this if you only want to add the folders to the first subfolder
            'do stuff with folders, example: subfolder.Name = "this is a file.exe"
        Next
    End Sub
    

    【讨论】:

    • 我尝试将它集成到我的代码中,但没有任何效果,它要么不循环,要么返回错误。你知道如何解决这个问题吗?
    • 我认为问题可能在于您正在使用用于文件系统文件的代码(包括我的代码)。如果我的假设是正确的,您是在尝试操纵用于在 Outlook 中存储电子邮件的文件夹?
    • 是的,没错,这就是我想要做的。我会看看这些资源,让你知道它是怎么回事。谢谢!
    • 我猜For Each 在您添加到 folder.SubFolders 时会出错,这会改变 Folders 集合。我在移动物品时遇到了这个问题。使用For n = LBound(folder.SubFolders) To Ubound(folder.SubFolders) -1 : LoopAllSubFolder. Folder.Subfolders 来避免。
    • 嗨,你能告诉我如何将 sn-p 集成到我已有的代码中吗?我尝试了几种方法,但它总是返回“需要对象”提示。谢谢!
    【解决方案2】:

    如果您尝试操作 Inside Outlook 文件夹,就像我现在怀疑的那样,那么我会查看这些资源以获取答案(因为我对此不熟悉):

    这些文件夹的方法、属性等库:

    https://docs.microsoft.com/en-us/previous-versions/office/developer/office-2003/aa210948(v=office.11)

    一些代码示例:

    https://www.experts-exchange.com/questions/20301462/Setting-MAPIfolder-properties-in-Outlook's-VBA.html

    【讨论】:

      猜你喜欢
      • 2019-08-01
      • 1970-01-01
      • 2013-05-18
      • 2013-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多