Jeśli chcesz zamienić kategorię oznaczoną kolorem elementu programu Outlook, musisz usunąć oryginalną, ponieważ przypisywana jest nowa kategoria. Dlatego w tym artykule nauczymy Cię, jak zautomatyzować to za pomocą VBA.
Głównym powodem, dla którego używamy kategorii kolorów w Outlooku, jest lepsza klasyfikacja i zarządzanie elementami Outlooka. Ponadto Outlook pozwala nam przypisać jedną lub więcej kategorii oznaczonych kolorami do jednego elementu. Jednak zbyt wiele kategorii przypisanych do jednego przedmiotu może czasami zaśmiecać reguły klasyfikacji. Dlatego wielu użytkowników chce zastąpić kategorię oznaczoną kolorem zamiast nakładać kategorie. Tutaj pokażemy Ci skuteczny sposób.

Zastąp kategorię koloru elementu programu Outlook
- Na samym początku uruchom aplikację Outlook.
- Następnie przejdź do zakładki „Deweloper” i kliknij przycisk „Visual Basic” lub naciśnij klawisze skrótów „Alt + F11”.
- Następnie przejdziesz do okna „Microsoft Visual Basic for Applications”.
- W tym momencie należy dwukrotnie kliknąć projekt „ThisOutlookSession” po lewej stronie, aby go otworzyć.
- Następnie skopiuj następujące kody VBA do tego okna projektu.
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
- Następnie należy przypisać certyfikat cyfrowy do tego nowego makra.
- Później musisz sprawdzić ustawienia makr programu Outlook, aby upewnić się, że podpisane makra są włączone.
- Następnie należy ponownie uruchomić program Outlook, aby aktywować nowy projekt VBA.
- Odtąd za każdym razem, gdy przypiszesz nową kategorię do elementu, poprzednia zostanie automatycznie usunięta.
Rozwiązywanie problemów z programem Nettlesome Outlook
Ponieważ program Outlook jest podatny na błędy i korupcję, możesz napotkać różne problemy w swoim programie Outlook. Dlatego należy zachować odpowiednią ostrożność. Na przykład zaleca się regularne tworzenie kopii zapasowych pliku PST. Ponadto powinieneś zdobyć potężnego Poprawka PST narzędzie, takie jak DataNumen Outlook Repair.
Wprowadzenie autora:
Shirley Zhang jest ekspertem w dziedzinie odzyskiwania danych w DataNumen, Inc., która jest światowym liderem w technologiach odzyskiwania danych, w tym wyzdrowieć Sql Server i oprogramowanie do naprawy programu Outlook. po więcej informacji odwiedź www.datanumen.com
