Якщо ви хочете замінити кольорову категорію елемента 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
Оскільки Outlook схильний до помилок та корупції, у вашому Outlook виникають різні проблеми. Тому слід дотримуватися достатньої обережності. Наприклад, бажано робити регулярні резервні копії для вашого файлу PST. Більше того, вам слід заволодіти могутнім Виправлення PST інструмент, такий як DataNumen Outlook Repair.
Вступ автора:
Ширлі Чжан - експерт із відновлення даних у DataNumen, Inc., яка є світовим лідером у галузі технологій відновлення даних, в тому числі оговтуватися Sql Server та перспективні програмні продукти для ремонту. Для отримання додаткової інформації відвідайте WWW.datanumen.com
