Passer au contenu principal

Comment imprimer des tâches en fonction de la catégorie dans Outlook?

Auteur : Xiaoyang Dernière modification: 2018-10-22

Supposons qu'il existe différentes catégories de couleurs dans vos tâches Outlook et que vous souhaitez maintenant imprimer les listes de tâches en fonction des catégories de différentes pages. Comment pourriez-vous résoudre ce travail dans Outlook?

Imprimez manuellement des tâches basées sur des catégories dans différentes pages une par une

Imprimer des tâches basées sur des catégories dans différentes pages avec du code VBA


Imprimez manuellement des tâches basées sur des catégories dans différentes pages une par une

Dans Outlook, vous pouvez imprimer manuellement les tâches en fonction des différentes catégories dans différentes pages une par une, procédez comme suit:

1. Lancez Outlook, accédez au volet des tâches et sélectionnez le dossier de tâches que vous souhaitez imprimer, puis appuyez sur Ctrl + E activer le Rechercher boîte, puis sous le Rechercher onglet, cliquez sur Classés icône, et choisissez une catégorie de couleur à imprimer, voir capture d'écran:

tâches d'impression doc par catégorie 1

2. Et puis, toutes les tâches avec la catégorie de couleur spécifique sont répertoriées à la fois, voir capture d'écran:

tâches d'impression doc par catégorie 2

3. Ensuite, continuez en cliquant Déposez votre dernière attestation > Imprimé pour imprimer cette liste de tâches comme illustré ci-dessous:

tâches d'impression doc par catégorie 3

4. Répétez les étapes ci-dessus pour imprimer les listes de tâches avec les autres catégories de couleurs une par une manuellement.


Imprimer des tâches basées sur des catégories dans différentes pages avec du code VBA

Voici un code VBA qui peut vous aider à imprimer les tâches en fonction de la catégorie dans différentes pages à la fois, veuillez suivre les étapes suivantes:

1. Aller à la Tâche volet et sélectionnez le dossier de tâches que vous souhaitez imprimer.

2. Ensuite, maintenez le ALT + F11 clés pour ouvrir le Microsoft Visual Basic pour applications fenêtre.

3. Et puis, cliquez insérer > Module, copiez et collez le code ci-dessous dans le module vide ouvert:

Code VBA: tâches d'impression basées sur des catégories dans différentes pages:

Sub PrintTaskList_SpecificColorCategory()
    Dim xTaskItems As Outlook.Items
    Dim xTask As Outlook.TaskItem
    Dim xDictionary As Scripting.Dictionary
    Dim xCategoryArr As Variant, xCategory As Variant
    Dim xExcelApp As Excel.Application
    Dim xExcelWorkbook As Excel.Workbook
    Dim xExcelWorksheet As Excel.Worksheet
    Dim xSheet As Excel.Worksheet
    Dim xKey As Variant
    Dim xKeyStr As String
    Dim i As Long, xLastRow As Integer
    On Error Resume Next
    If Application.ActiveExplorer.CurrentFolder.DefaultItemType <> olTaskItem Then Exit Sub
    Set xTaskItems = Application.ActiveExplorer.CurrentFolder.Items
    Set xDictionary = New Scripting.Dictionary
    For Each xTask In xTaskItems
        xCategoryArr = Split(xTask.Categories, ",")
        For Each xCategory In xCategoryArr
            If xDictionary.Exists(Trim(xCategory)) = False Then
               xDictionary.Add Trim(xCategory), 0
            End If
        Next
    Next
    If xDictionary.Count = 0 Then
        MsgBox "The current Task doesn’t have any category", vbOKOnly + vbInformation, "Kutools for Outlook"
        Exit Sub
    End If
    Set xExcelApp = New Excel.Application
    Set xExcelWorkbook = xExcelApp.Workbooks.Add
    xExcelApp.Visible = True
    i = 0
    If xDictionary.Count > xExcelWorkbook.Sheets.Count Then
        xExcelWorkbook.Sheets.Add Count:=xDictionary.Count - xExcelWorkbook.Sheets.Count
    End If
    For Each xKey In xDictionary.Keys
        xKeyStr = CStr(xKey)
        i = i + 1
        Set xExcelWorksheet = xExcelWorkbook.Sheets(i)
        xExcelWorksheet.Name = xKeyStr
        With xExcelWorksheet
             .Range("A1") = xKeyStr
             .Range("A1").Font.Bold = True
             .Range("A1").Font.Size = 18
             .Range("A1", "C1").HorizontalAlignment = xlCenter
             .Range("A1", "C1").VerticalAlignment = xlCenter
             .Range("A1", "C1").Merge
             .Range("A2") = "Subject"
             .Range("A2").Font.Bold = True
             .Range("B2") = "Start Date"
             .Range("B2").Font.Bold = True
             .Range("C2") = "Due Date"
             .Range("C2").Font.Bold = True
        End With
        For Each xTask In xTaskItems
            If InStr(xTask.Categories, xKeyStr) > 0 Then
               xLastRow = xExcelWorksheet.UsedRange.Rows.Count + 1
               With xExcelWorksheet
                    .Range("A" & xLastRow) = xTask.Subject
                    .Range("B" & xLastRow) = xTask.StartDate
                    .Range("C" & xLastRow) = xTask.DueDate
               End With
            End If
        Next
        xExcelWorksheet.Columns("A:C").AutoFit
    Next
    For Each xSheet In xExcelWorkbook.Sheets
        xSheet.PrintOut
    Next
    xExcelWorkbook.Close False
    xExcelApp.Quit
End Sub

4. Puis clique Outils > Bibliographie dans les Microsoft Visual Basic pour applications fenêtre, dans le sauté Références-Projet1 boîte de dialogue, cochez Bibliothèque d'objets Microsoft Excel ainsi que les Exécution de scripts Microsoft options du Références disponibles zone de liste, voir capture d'écran:

tâches d'impression doc par catégorie 4

5. Et puis, cliquez OK bouton, maintenant, appuyez sur F5 clé pour exécuter ce code, après avoir terminé le code, les listes de tâches avec différentes catégories seront imprimées dans différentes pages.


Meilleurs outils de productivité bureautique

Kutools for Outlook - Plus de 100 fonctionnalités puissantes pour booster votre Outlook

🤖 Assistant de messagerie IA: E-mails professionnels instantanés avec la magie de l'IA : un clic pour des réponses géniales, un ton parfait, une maîtrise multilingue. Transformez l’emailing sans effort ! ...

📧 Email Automation: Absent du bureau (disponible pour POP et IMAP)  /  Programmer l'envoi d'e-mails  /  Auto CC/BCC par règles lors de l'envoi d'un e-mail  /  Transfert automatique (règles avancées)   /  Ajouter un message d'accueil automatique   /  Divisez automatiquement les e-mails multi-destinataires en messages individuels 

(I.e. Email Management: Rappel facile des e-mails  /  Bloquer les e-mails frauduleux par sujets et autres  /  Supprimer les e-mails en double  /  Recherche Avancée  /  Consolider les dossiers 

(I.e. Pièces jointes ProSauvegarde par lots  /  Détachement par lots  /  Compression par lots  /  Enregistrement automatique   /  Détachement automatique  /  Compression automatique 

???? Magie de l'interface: 😊Plus d'émojis jolis et cool   /  Boostez votre productivité Outlook avec des vues à onglets  /  Réduire Outlook au lieu de fermer 

???? Merveilles en un clic: Répondre à tous avec les pièces jointes entrantes  /   E-mails anti-hameçonnage  /  🕘Afficher le fuseau horaire de l'expéditeur 

👩🏼‍🤝‍👩🏻 Contacts et calendrier: Ajouter par lots des contacts à partir des e-mails sélectionnés  /  Diviser un groupe de contacts en groupes individuels  /  Supprimer les rappels d'anniversaire 

infos Caractéristiques 100 Attendez votre exploration ! Cliquez ici pour en savoir plus.

 

 

Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations