Cara Cepat Menjalankan Peraturan Khusus di Semua Folder Mel dengan Outlook VBA

Kongsi Sekarang:

Secara lalai, anda hanya dapat menjalankan peraturan dalam satu folder pada satu masa. Dalam artikel ini, kami akan mengajar anda bagaimana menggunakan sekeping kod VBA untuk menjalankan peraturan tertentu di semua folder mel.

Outlook membenarkan pengguna menjalankan peraturan secara manual. Anda hanya dapat mengakses kotak dialog "Peraturan dan Makluman" dan tekan butang "Jalankan Peraturan Sekarang". Di kotak dialog seterusnya, pilih peraturan tertentu dan pilih folder di mana anda ingin menjalankan peraturan ini. Tetapi, jika anda ingin menjalankan peraturan dengan cepat di semua folder mel, anda boleh menggunakan kod VBA berikut.

Jalankan Peraturan Khusus dengan Segera di Semua Folder Mel dengan Outlook VBA

Jalankan Peraturan Khusus dengan Segera di Semua Folder Mel

  1. Di tempat pertama, start program Outlook anda.
  2. Kemudian di tetingkap Outlook utama, tekan butang kekunci "Alt + F11".
  3. Selanjutnya di tetingkap "Microsoft Visual Basic for Applications" yang muncul, anda harus membuka modul yang tidak digunakan.
  4. Selepas itu, salin kod VBA di bawah ke tetingkap modul ini. Selain itu, anda harus menukar beberapa baris berdasarkan kes anda sendiri, seperti nama peraturan.
Sub RunSpecificRule_AllMailFolders()
    Dim objStores As Outlook.Stores
    Dim objStore As Outlook.Store
    Dim objPSTFile As Outlook.Folder
    Dim objFolders As Outlook.folders
    Dim objFolder As Object

    Set objStores = Outlook.Application.Session.Stores
 
    'Process all Outlook PST files in your Outlook
    For Each objStore In objStores
        Set objPSTFile = objStore.GetRootFolder
        For Each objFolder In objPSTFile.folders
            Call ProcessFolders(objFolder)
        Next
    Next

    MsgBox "Complete!", vbExclamation + vbOKOnly, "Run Rule "
End Sub

Sub ProcessFolders(ByVal objCurrentFolder As Outlook.Folder)
    Dim objRules As Outlook.Rules
    Dim objRule As Outlook.Rule
    Dim objSubfolder As Outlook.Folder

    Set objRules = Outlook.Application.Session.DefaultStore.GetRules
    'Change the rule name as per your actual case
    Set objRule = objRules.Item("Move Mails to Temp")
 
    On Error Resume Next
    'Only work on non-empty Mail folder
    If objCurrentFolder.Items.count > 0 And objCurrentFolder.DefaultItemType = olMailItem Then
       With objRule
            .Enabled = True
            .Execute ShowProgress:=True, Folder:=objCurrentFolder, IncludeSubfolders:=True
       End With
    End If
 
    'Process subfolders recursively
    If objCurrentFolder.folders.count > 0 Then
       For Each objSubfolder In objCurrentFolder.folders
           Call ProcessFolders(objSubfolder)
       Next
    End If
End Sub

Kod VBA - Jalankan Peraturan Khusus dalam Semua Folder Mel

  1. Selepas itu, anda harus memeriksa tetapan makro Outlook anda, memastikan makro dibenarkan.
  2. Akhirnya anda boleh mencuba.
  • Cukup klik ke subrutin "RunSpecificRule_AllMailFolders".
  • Kemudian tekan butang kekunci F5 untuk mencetuskan kod ini.
  • Seterusnya makro akan dijalankan dengan segera.
  • Setelah selesai, anda akan mendapat mesej, seperti tangkapan skrin berikut. Ini merujuk kepada peraturan yang telah selesai.Jalankan Selesai

Awas Makro Berniat jahat

Seperti yang kita semua tahu, e-mel jahat semakin berleluasa. E-mel seperti itu sering membawa makro jahat. Oleh itu, jika anda menetapkan tahap keselamatan makro Outlook anda rendah, anda harus berhati-hati dengan virus dan malware yang tersembunyi. Lebih-lebih lagi, bijaksana untuk mendapatkan alat pembaikan PST yang hebat, seperti DataNumen Outlook Repair. Ia mampu membaiki PST fail dan ekstrak data maksimum untuk anda tanpa berpeluh.

Pengenalan Pengarang:

Shirley Zhang adalah pakar pemulihan data di DataNumen, Inc., yang merupakan pemimpin dunia dalam teknologi pemulihan data, termasuk pulih mdf dan produk perisian pembaikan prospek. Untuk maklumat lebih lanjut, lawati www.datanumen.com

Kongsi Sekarang:

Ruangan komen telah ditutup.