J'essaie de déplacer certains e-mails qui arrivent dans notre boîte de réception partagée (ABC COMPANY) vers un sous-dossier (A&D) créé dans un dossier principal (DAILY INFO). Je n'ai trouvé que sur le Web, une macro qui déplace les e-mails de la boîte de réception partagée vers le dossier principal, mais pas dans le sous-dossier. Voici le code que j'ai trouvé.
Dim NS As NameSpace
Dim sharedInbox As folder
Dim sharedDestinationFolder As folder
Dim sharedItems As Selection
Dim i As Long
Set NS = Application.GetNamespace("MAPI")
Set sharedInbox = NS.Folders("ABC COMPANY").Folders("Inbox")
Set sharedDestinationFolder = sharedInbox.Folders("DAILY INFO")
Set sharedItems = ActiveExplorer.Selection
' Counting in reverse
'when changing the number of items in a collection
For i = sharedItems.Count To 1 Step -1
sharedItems(i).Move sharedDestinationFolder
Next i
ExitRoutine:
Set NS = Nothing
Set sharedItems = Nothing
Set sharedInbox = Nothing
Set sharedDestinationFolder = Nothing
End Sub
1 réponse
Chaque folder
contient une collection folders
- qui contient ses sous-dossiers.
En supposant que vos dossiers existent, faites quelque chose comme
Set sharedDestinationFolder = sharedInbox.Folders("DAILY INFO")
Set sharedDestinationFolder = sharedDestinationFolder.Folders("A&D")
bien sûr, vous pouvez le faire avec une seule instruction, mais cela rend plus difficile le débogage en cas d'échec
Set sharedDestinationFolder = sharedInbox.Folders("DAILY INFO").Folders("A&D")
De nouvelles questions
vba
Visual Basic pour Applications (VBA) est un langage de programmation orienté événementiel orienté objet pour l'écriture de macros, utilisé pour l'ensemble de la suite Office ainsi que pour d'autres applications. VBA n'est pas équivalent à VB.NET ou VBS; si vous travaillez dans Visual Studio, utilisez [vb.net]. Si votre question concerne spécifiquement la programmation d'une application MS Office, utilisez également la balise appropriée: [excel], [ms-access], [ms-word], [outlook] ou [ms-project].