Outlook 2016 Создать макрос, который добавляет определенные подпапки в несколько папок - PullRequest
0 голосов
/ 12 декабря 2018

Я организовываю электронную почту в Outlook 2016, и мне нужно создать 3 конкретные подпапки в каждой папке (у меня есть более 3000 папок, где мне нужно это сделать).У меня есть код для автоматического создания 3 папок в каждой папке по отдельности, он работает следующим образом:

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/)

Что я не могу понятьэто как заставить его автоматически создавать 3 папки во всех подпапках каталога. Я действительно новичок в этом, я искал вокруг, но не смог найти ничего особенного для этой задачи.

Вся помощьбудет оценена.

Ответы [ 2 ]

0 голосов
/ 12 декабря 2018

Если вы пытаетесь манипулировать папками Внутри Outlook, как я теперь подозреваю, тогда я бы посмотрел на эти ресурсы для ответов (поскольку я не знаком с этим):

Библиотекаметоды, свойства и т. д. для этих папок:

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

Некоторые примеры кода:

https://www.experts -exchange.com / questions / 20301462 / Настройка-MAPIfolder-свойства-в-Outlook, s-VBA.html

0 голосов
/ 12 декабря 2018

Вот подпрограмма, которую я использую для циклического перебора всех подпапок, она просто вызывает подпапку для каждой новой подпапки, а затем перебирает подпапки, затем подпапки и т. Д.:

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
...