Ако искате да замените цветната категория на елемент в Outlook, ще трябва да премахнете оригиналната, тъй като е назначена нова категория. По този начин в тази статия ще ви научим как да автоматизирате това чрез VBA.
Основната причина, поради която използваме цветовите категории в Outlook, е по-добрата класификация и управление на вашите елементи в Outlook. Освен това Outlook ни позволява да присвоим една или повече цветови категории на един елемент. Въпреки това твърде много категории, присвоени на един елемент, понякога могат да затрупат вашите правила за класификация. Поради това много потребители искат да заменят категорията цветове, вместо да наслагват категории. Тук ще ви представим ефективен начин.

Заменете цветната категория на елемент в Outlook
- В самото начало стартирайте приложението си Outlook.
- След това преминете към раздела „Разработчик“ и щракнете върху бутона „Visual Basic“ или натиснете клавишните комбинации „Alt + F11“.
- След това ще влезете в прозореца „Microsoft Visual Basic for Applications“.
- В този момент трябва да щракнете двукратно върху проекта “ThisOutlookSession” отляво, за да го отворите.
- Впоследствие копирайте следните VBA кодове в този прозорец на проекта.
Public WithEvents objExplorer As Outlook.Explorer
Public WithEvents objInspectors As Outlook.Inspectors
'Take Mailitem as an example
Public WithEvents objMail As Outlook.MailItem
Private Sub Application_Startup()
Set objExplorer = Outlook.Application.ActiveExplorer
Set objInspectors = Outlook.Application.Inspectors
End Sub
Private Sub objExplorer_Activate()
On Error Resume Next
Set objMail = objExplorer.Selection.Item(1)
End Sub
Private Sub objInspectors_NewInspector(ByVal Inspector As Inspector)
Set objMail = Inspector.CurrentItem
End Sub
Private Sub objMail_PropertyChange(ByVal Name As String)
Dim strSpecificCategory As String
Dim strCategories As String
Dim varArray As Variant
Dim i As Long
If Name = "Categories" Then
strCategories = objMail.Categories
varArray = Split(objMail.Categories, ",")
If UBound(varArray) >= 1 Then
'If want to get a confirmation before removing the original category
'Add the following lines
'Dim strPrompt As String
'Dim nResponse As Integer
'strPrompt = "Do you want to remove the original color category?"
'nResponse = MsgBox(strPrompt, vbQuestion + vbYesNo, "Color Category Assignment")
'If nResponse = vbYes Then
For i = 0 To UBound(varArray)
'Remove the previous color categories
varArray(1) = ""
'Rebuild the categories
objMail.Categories = Join(varArray, ",")
Exit Sub
Next i
'End If
End If
End If
End Sub
- След това трябва да присвоите цифров сертификат на този нов макрос.
- По-късно трябва да проверите настройките на макроса на Outlook, за да се уверите, че подписаните макроси са активирани.
- В крайна сметка трябва да рестартирате Outlook, за да активирате новия VBA проект.
- Отсега нататък всеки път, когато присвоите нова категория на даден елемент, предишната ще бъде автоматично премахната.
Справете се с проблемите на Outlook с Nettlesome
Тъй като Outlook е склонен към грешки и корупция, ще срещнете различни проблеми във вашия Outlook. Следователно трябва да вземете достатъчно предпазни мерки. Препоръчително е например да правите редовни резервни копия на вашия PST файл. Освен това трябва да се докопате до мощен PST корекция инструмент, като DataNumen Outlook Repair.
Въведение на автора:
Шърли Джанг е експерт по възстановяване на данни в DataNumen, Inc., която е световен лидер в технологиите за възстановяване на данни, включително възстановяване Sql Server и outlook софтуерни продукти за ремонт. За повече информация посетете WWW.datanumen.com
