Paano Mabilis na Bilangin ang Lahat ng Mga Gawain ayon sa Katayuan sa Iyong Outlook

Ipamahagi ngayon:

Ang mga gawain ay maaaring may limang katayuan – “Hindi Sinimulan”, “Kasalukuyang Ginagawa”, “Natapos”, “Naghihintay ng iba” at “Napagpaliban”. Kung gusto mong mabilis na bilangin ang lahat ng gawain ayon sa katayuan, maaari mong gamitin ang paraang ipinakilala sa artikulong ito.

Sinusuportahan ng Outlook ang mga user na magtalaga ng status sa mga gawain o mga naka-flag na item. Mayroong limang status – ayon sa pagkakabanggit ay “Hindi Sinimulan”, “Isinasagawa”, “Nakumpleto”, “Naghihintay ng iba” at “Napagpaliban”. Marahil ay marami kang mga gawain sa iyong Outlook at ang mga ito ay nasa iba't ibang status. Ngayon, kung gusto mong bilangin ang lahat ng mga gawain ayon sa status, maaari mong gamitin ang sumusunod na paraan.Katayuan ng Gawain

Mabilis na Bilangin ang Lahat ng Mga Gawain ayon sa Katayuan

  1. Una, ilunsad ang editor ng VBA ng Outlook sa pamamagitan ng pagtukoy sa "Paano Patakbuhin ang VBA Code sa Iyong Outlook".
  2. Pagkatapos, sa VBA editor, paganahin ang pagtukoy sa “MS Excel Object Library” pati na rin sa “MS Scripting Runtime” ayon sa “Paano Magdagdag ng Sanggunian sa Object Library sa VBA".
  3. Susunod, kopyahin ang sumusunod na code sa isang hindi nagamit na module.
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

VBA Code - Bilangin ang Mga Gawain ayon sa Katayuan

  1. Pagkatapos nito, mag-click sa unang subroutine at pindutin ang "F5" key.
  2. Nang sabay-sabay, kapag nakumpleto ang macro, isang bagong worksheet ng Excel ang ipapakita, tulad ng screenshot sa ibaba. Naglalaman ito ng mga bilang ng mga gawain sa iba't ibang mga katayuan.Mga Bilang ng Mga Gawain sa Iba't ibang Mga Status

Mag-ingat sa Mga Pitfalls sa paligid ng Outlook

Mayroong isang malaking halaga ng mga panganib na nakapalibot sa Outlook, kabilang ang mga virus, pagkakamali ng tao, mga pagkakamali ng software pati na rin mga pagkabigo sa hardware, atbp Samakatuwid, kung hindi nais na mawala ang iyong mahalagang data ng Outlook, dapat kang manatiling maingat sa lahat ng oras. Sa madaling salita, hindi ka dapat mag-download ng hindi kilalang mga kalakip o kahina-hinalang mga link sa mga email. Bukod, kung maaari, ipinapayong panatilihin ang isang kapansin-pansin na utility sa pag-aayos ng Outlook, tulad ng DataNumen Outlook Repair, sa paligid, sa halip na ganap na umasa sa tool sa pag-aayos ng inbox.

Panimula ng May-akda:

Si Shirley Zhang ay isang dalubhasa sa pagbawi ng data sa DataNumen, Inc., na pinuno ng mundo sa mga teknolohiya sa pagbawi ng data, kasama ang mabawi ang sql at pananaw sa pag-aayos ng mga produktong software. Para sa karagdagang impormasyon pagbisita www.datanumen. Sa

Ipamahagi ngayon:

Mga komento ay sarado.