Як автоматично переміщати елементи у папці до батьківської папки перед видаленням у Outlook

Поділитися зараз:

За замовчуванням у програмі Outlook, коли ви видаляєте папку, її елементи також переміщуються до папки „Видалені”. Якщо ви хочете, щоб Outlook автоматично переміщував елементи в папці до батьківської папки перед видаленням, ви можете скористатися засобами, наведеними в цій статті.

Коли ви видаляєте папку, Outlook попередить вас, що весь її вміст також буде переміщено до папки "Видалені елементи". Але, мost Ви просто хочете видалити цю папку, не враховуючи елементи, що зберігаються в ній. Тому ви сподіваєтесь, що елементи можна автоматично перемістити до батьківської папки папки. Тут ми навчимо вас, як це реалізувати через VBA. Якщо ви нічого не знаєте про VBA, спершу можете прочитати мою попередню статтю - “Як запустити код VBA у своєму Outlook».Автоматичне переміщення елементів у папці до батьківської папки перед видаленням у програмі Outlook

Автоматично переміщувати елементи у папці до батьківської папки перед видаленням

  1. Для початку відкрийте редактор Outlook VBA за допомогою “Alt + F11”.
  2. Потім у новому вікні відкрийте проект «ThisOutlookSession».
  3. Згодом скопіюйте та вставте наступний код VBA у цей проект.
'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

Скопіюйте код у проект ThisOutlookSession

  1. Після цього ви можете зробити постріл зараз.
  2. Спочатку клацніть правою кнопкою миші підпапку, яку потрібно видалити.
  3. Потім у контекстному меню виберіть опцію “[Smart] Delete Folder”.Розумне видалення папки
  4. Відразу Outlook видалить папку та перемістить її елементи у батьківську папку.
  5. У моєму випадку я видаляю підпапку “To Bob”. Його батьківською папкою є «Надіслані елементи». Таким чином, усі його елементи були переміщені в “Надіслані предмети”, як на наступному скріншоті.Елементи, автоматично переміщені в батьківську папку

Майте на увазі, що Outlook вразливий

Слід пам’ятати про беззаперечний факт - Outlook схильний до помилок або корупції. Таким чином, вам слід остерігатися всіх потенційних загроз навколо вашого файлу даних Outlook, включаючи віруси, неправильний вихід тощо. Крім того, вам краще підготувати потужний та надійний інструмент виправлення Outlook, наприклад DataNumen Outlook Repair. Це може вам допомогти виправити Outlook проблеми за лічені хвилини

Вступ автора:

Ширлі Чжан - експерт із відновлення даних у DataNumen, Inc., яка є світовим лідером у галузі технологій відновлення даних, в тому числі виправлення mdf та перспективні програмні продукти для ремонту. Для отримання додаткової інформації відвідайте WWW.datanumen.com

Поділитися зараз:

Коментарі закриті.