Hur man automatiskt flyttar objekt i en mapp till dess överordnade mapp innan man tar bort det i Outlook

Som standard, i Outlook, när du tar bort en mapp flyttas dess objekt också till mappen "Borttagna objekt". Om du vill att Outlook automatiskt ska flytta objekten i en mapp till dess överordnade mapp innan du tar bort den, kan du använda de medel som delas i den här artikeln.

När du tar bort en mapp varnar Outlook dig om att allt innehåll kommer att flyttas till mappen "Borttagna objekt". Men oftast vill du bara ta bort den här mappen, exklusive objekten som lagras i den. Därför hoppas du att objekten automatiskt kan flyttas till mappens överordnade mapp. Här lär vi dig hur du gör det via VBA. Om du inte vet något om VBA kan du först läsa min tidigare artikel – "Hur du kör VBA-kod i din Outlook".Flytta objekt automatiskt i en mapp till dess överordnade mapp innan du tar bort det i Outlook

Flytta objekt automatiskt i en mapp till dess överordnade mapp innan du tar bort den

  1. Till att börja med, öppna Outlook VBA-redigeraren via “Alt + F11”.
  2. Öppna sedan projektet “ThisOutlookSession” i det nya fönstret.
  3. Kopiera sedan och klistra in följande VBA-kod i detta projekt.
'Display the macro in the context menu
Sub Application_FolderContextMenuDisplay(ByVal CommandBar As Office.CommandBar, ByVal Folder As Outlook.Folder)
    Dim objCommandBarButton As Office.CommandBarButton
 
    Set objCommandBarButton = CommandBar.Controls.Add(msoControlButton)
    With objCommandBarButton
         .Style = msoButtonIconAndCaption
         .Caption = "[Smart] Delete Folder"
         .FaceId = 1668
         .OnAction = "Project1.ThisOutlookSession.DeleteFolder_MoveItemsToParentFolder"
    End With
End Sub

Sub DeleteFolder_MoveItemsToParentFolder()
    Dim objCurrentFolder As Outlook.Folder
    Dim objParentFolder As Outlook.Folder

    Set objCurrentFolder = Outlook.ActiveExplorer.CurrentFolder
    Set objParentFolder = objCurrentFolder.Parent
    
    Dim i As Long
    'Move items to parent folder
    For i = objCurrentFolder.Items.Count To 1 Step -1
        objCurrentFolder.Items.Item(i).Move objParentFolder
    Next
 
    'Delete the current folder
    objCurrentFolder.Delete
End Sub

Kopiera koden till ThisOutlookSession-projektet

  1. Efter det kan du få ett skott nu.
  2. Högerklicka först på undermappen du vill ta bort.
  3. Välj sedan alternativet "[Smart] Radera mapp" från snabbmenyn.Smart Radera en mapp
  4. Omedelbart tar Outlook bort mappen och flyttar dess objekt till dess överordnade mapp.
  5. I mitt fall raderar jag undermappen "Till Bob". Dess överordnade mapp är "Skickade artiklar". Därför har alla dess objekt flyttats till "Skickade objekt", som följande skärmdump.Objekt flyttas automatiskt till överordnad mapp

Tänk på att Outlook är sårbart

Du bör komma ihåg ett obestridligt faktum - Outlook är mottagligt för fel eller korruption. Således måste du vara uppmärksam på alla potentiella hot kring din Outlook-datafil, inklusive virus, felaktig spänning och så vidare. Dessutom skulle du bättre förbereda ett kraftfullt och trovärdigt Outlook-fixverktyg, som DataNumen Outlook Repair. Det kan hjälpa dig att fixa Outlook problem inom några minuter

Författarintroduktion:

Shirley Zhang är expert på dataåterställning DataNumen, Inc., som är världsledande inom teknik för återställning av data, inklusive MDF-fix och Outlook-programvara för reparationsprogramvara. För mer information besök www.datanumen.com

Kommentarer är stängda.