Si të numëroni shpejt të gjitha detyrat sipas statusit në Outlook tuaj

Detyrat mund të kenë pesë statuse – “Nuk ka filluar”, “Në vazhdim”, “Përfunduar”, “Duke pritur dikë tjetër” dhe “Shtyrë”. Nëse doni t’i numëroni shpejt të gjitha detyrat sipas statusit, mund të përdorni mënyrën e prezantuar në këtë artikull.

Outlook mbështet përdoruesit për t'u caktuar status detyrave ose artikujve të shënuar. Ekzistojnë pesë statuse - përkatësisht "Nuk ka filluar", "Në vazhdim", "Përfunduar", "Duke pritur për dikë tjetër" dhe "Shtyrë". Ndoshta keni një numër të madh detyrash në Outlook tuaj dhe ato janë në statuse të ndryshme. Tani, nëse dëshironi t'i numëroni të gjitha detyrat sipas statusit, mund të përdorni mënyrën e mëposhtme.Statusi i detyrës

Numëroni shpejt të gjitha detyrat sipas statusit

  1. Fillimisht, hapni redaktorin VBA të Outlook duke iu referuar "Si të ekzekutoni kodin VBA në Outlook tuaj".
  2. Pastaj, në redaktuesin VBA, aktivizoni referencën për "MS Excel Object Library" si dhe "MS Scripting Runtime" sipas "Si të shtoni një referencë të bibliotekës së objekteve në VBA".
  3. Më pas, kopjoni kodin e mëposhtëm në një modul të papërdorur.
Dim objDictionary As New Scripting.Dictionary

Sub CountTasksByStatus()
    Dim objStore As Outlook.Store
    Dim objOutlookFile As Outlook.Folder
    Dim objFolder As Outlook.Folder
    Dim objExcelApp As Excel.Application
    Dim objExcelWorkbook As Excel.Workbook
    Dim objExcelWorksheet As Excel.Worksheet
    Dim varStatuses As Variant
    Dim varTaskCounts As Variant
    Dim i As Integer
    Dim nLastRow As Integer
 
    'Count by Dictionary
    Set objDictionary = CreateObject("Scripting.Dictionary")
  
    'Process All Outlook data files
    For Each objStore In Application.Session.Stores
        Set objOutlookFile = objStore.GetRootFolder
        For Each objFolder In objOutlookFile.Folders
            If objFolder.DefaultItemType = olTaskItem Then
               Call ProcessTaskFolders(objFolder)
            End If
        Next
    Next
 
    'Export the counts to an Excel worksheet
    Set objExcelApp = CreateObject("Excel.Application")
    objExcelApp.Visible = True
    Set objExcelWorkbook = objExcelApp.Workbooks.Add
    Set objExcelWorksheet = objExcelWorkbook.Sheets(1)
 
    With objExcelWorksheet
        .Cells(1, 1) = "Status"
        .Cells(1, 1).Font.Bold = True
        .Cells(1, 2) = "Task Count"
        .Cells(1, 2).Font.Bold = True
    End With
 
    varStatuses = objDictionary.Keys
    varTaskCounts = objDictionary.Items
 
    For i = LBound(varStatuses) To UBound(varStatuses)
        nLastRow = objExcelWorksheet.Range("A" & objExcelWorksheet.Rows.Count).End(xlUp).Row + 1
        With objExcelWorksheet
            .Cells(nLastRow, 1) = varStatuses(i)
            .Cells(nLastRow, 2) = varTaskCounts(i)
        End With
    Next
 
    objExcelWorksheet.Columns("A:B").AutoFit
End Sub

Sub ProcessTaskFolders(ByVal objCurFolder As Outlook.Folder)
    Dim objTask As Outlook.TaskItem
    Dim strStatus As String
    Dim objSubfolder As Outlook.Folder
 
    'Count tasks by status
    For Each objTask In objCurFolder.Items
        Select Case objTask.Status
               Case olTaskNotStarted
                    strStatus = "Not Started"
 
                    If objDictionary.Exists(strStatus) Then
                       objDictionary(strStatus) = objDictionary(strStatus) + 1
                    Else
                       objDictionary.Add strStatus, 1
                    End If
               Case olTaskInProgress
                    strStatus = "In Progress"
 
                    If objDictionary.Exists(strStatus) Then
                       objDictionary(strStatus) = objDictionary(strStatus) + 1
                    Else
                       objDictionary.Add strStatus, 1
                    End If
               Case olTaskComplete
                    strStatus = "Completed"
 
                    If objDictionary.Exists(strStatus) Then
                       objDictionary(strStatus) = objDictionary(strStatus) + 1
                    Else
                       objDictionary.Add strStatus, 1
                    End If
               Case olTaskWaiting
                    strStatus = "Waiting on someone else"
 
                    If objDictionary.Exists(strStatus) Then
                       objDictionary(strStatus) = objDictionary(strStatus) + 1
                    Else
                       objDictionary.Add strStatus, 1
                    End If
               Case olTaskDeferred
                    strStatus = "Deferred"
 
                    If objDictionary.Exists(strStatus) Then
                       objDictionary(strStatus) = objDictionary(strStatus) + 1
                    Else
                       objDictionary.Add strStatus, 1
                    End If
         End Select
    Next
 
    'Process all subfolders recursively
    If objCurFolder.Folders.Count > 0 Then
       For Each objSubfolder In objCurFolder.Folders
           Call ProcessTaskFolders(objSubfolder)
       Next
    End If
End Sub

Kodi VBA - Numëroni detyrat sipas statusit

  1. Pas kësaj, klikoni në nënprogramin e parë dhe shtypni butonin "F5".
  2. Menjëherë, kur makro të përfundojë, do të shfaqet një fletë e re e Excel-it, si pamja e ekranit më poshtë. Ai përmban numërimin e detyrave në statuse të ndryshme.Numri i detyrave në statuse të ndryshme

Kujdes nga kurthet rreth Outlook

Ka një sasi të madhe rreziqesh që rrethojnë Outlook, duke përfshirë viruset, gabimet njerëzore, gabimet e softuerit, si dhe dështimet e harduerit, etj. Prandaj, nëse nuk doni të humbni të dhënat tuaja të vlefshme të Outlook, duhet të jeni të kujdesshëm gjatë gjithë kohës. E thënë thjesht, nuk duhet të shkarkoni kurrë bashkëngjitje të panjohura ose lidhje të dyshimta në email. Përveç kësaj, nëse është e mundur, këshillohet të mbani një mjet të jashtëzakonshëm të rregullimit të Outlook, si p.sh DataNumen Outlook Repair, në afërsi, në vend që të mbështeteni plotësisht në mjet për riparimin e kutisë hyrëse.

Hyrje e autorit:

Shirley Zhang është një eksperte për rikuperimin e të dhënave DataNumen, Inc., e cila është lider botëror në teknologjitë e rikuperimit të të dhënave, duke përfshirë rikuperoni sql dhe produkte softuerike të riparimit të pamjes. Për më shumë informacion vizitoni www.datanumen.com

Komentet janë të mbyllura.