Odatiy bo'lib, siz bir vaqtning o'zida faqat bitta papkada qoidani ishga tushirishingiz mumkin. Ushbu maqolada biz sizga barcha pochta papkalarida ma'lum bir qoidani ishga tushirish uchun VBA kodidan qanday foydalanishni o'rgatamiz.
Outlook foydalanuvchilarga qoidani qo'lda ishlatishga ruxsat beradi. Siz shunchaki "Qoidalar va ogohlantirishlar" dialog oynasiga kirishingiz va "Qoidalarni hozir ishga tushirish" tugmasini bosishingiz mumkin. Keyingi dialog oynasida ma'lum bir qoidani tanlang va ushbu qoidani ishga tushirishni xohlagan papkani tanlang. Ammo, agar siz barcha pochta papkalarida qoidani tezda ishga tushirishni istasangiz, quyidagi VBA kodidan foydalanishingiz mumkin.

Barcha pochta papkalarida maxsus qoidani tezda ishga tushiring
- Birinchi navbatda, start Outlook dasturingiz.
- Keyin asosiy Outlook oynasida "Alt + F11" tugmachalarini bosing.
- Keyin paydo bo'ladigan "Microsoft Visual Basic for Applications" oynasida siz ishlatilmaydigan modulni ochishingiz kerak.
- Keyinchalik, quyidagi VBA kodini ushbu modul oynasiga nusxalang. Bundan tashqari, siz o'zingizning holatingiz asosida ba'zi qatorlarni o'zgartirishingiz kerak, masalan, qoida nomi.
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
- Shundan so'ng, siz Outlook so'l sozlamalarini tekshirishingiz kerak, makroga ruxsat berilganligiga ishonch hosil qiling.
- Oxir-oqibat, siz sinab ko'rishingiz mumkin.
- Shunchaki “RunSpecificRule_AllMailFolders” kichik dasturini bosing.
- Keyin ushbu kodni ishga tushirish uchun F5 tugmachasini bosing.
- Keyin makro darhol ishga tushadi.
- Tugatgandan so'ng, siz quyidagi skrinshot kabi xabar olasiz. Bu qoida tugaganligini bildiradi.
Zararli makroslarga e'tibor bering
Barchamizga ma'lumki, zararli elektron pochta xabarlari tobora ko'payib bormoqda. Bunday elektron pochta xabarlari ko'pincha zararli makrolar bilan birga keladi. Shunday qilib, agar siz Outlook so'l xavfsizlik darajasini past qilib qo'ysangiz, yashirin viruslar va zararli dasturlardan ehtiyot bo'lishingiz kerak. Bundan tashqari, kuchli PST tuzatish vositasini qo'lga kiritish oqilona DataNumen Outlook Repair. Qodir PST-ni ta'mirlash fayl va ter to'kmasdan siz uchun maksimal ma'lumotlarni ajratib oling.
Muallif kirish:
Shirli Chjan ma'lumotlarni qayta tiklash bo'yicha mutaxassis DataNumenMa'lumotlarni qayta tiklash texnologiyalari bo'yicha jahon yetakchisi bo'lgan , Inc mdf-ni tiklash va Outlook ta'mirlash dasturiy mahsulotlar. Qo'shimcha ma'lumot olish uchun tashrif buyuring www.datanumen.com

