Cara Cepat Menghitung Semua Tugas menurut Status di Outlook Anda

Bagikan sekarang:

Tugas dapat memiliki lima status - “Bukan Started ”,“ Dalam Proses ”,“ Selesai ”,“ Menunggu orang lain ”dan“ Ditunda ”. Jika Anda ingin menghitung dengan cepat semua tugas berdasarkan status, Anda dapat menggunakan cara yang diperkenalkan di artikel ini.

Outlook mendukung pengguna untuk menetapkan status ke tugas atau item berbendera. Ada lima status - masing-masing “Bukan Started ”,“ Dalam Proses ”,“ Selesai ”,“ Menunggu orang lain ”dan“ Ditunda ”. Mungkin Anda memiliki banyak tugas di Outlook dan memiliki status berbeda. Nah, jika Anda ingin menghitung semua tugas berdasarkan status, Anda dapat menggunakan cara berikut.Status Tugas

Hitung Cepat Semua Tugas berdasarkan Status

  1. Pertama, luncurkan editor Outlook VBA dengan merujuk ke "Cara Menjalankan Kode VBA di Outlook Anda".
  2. Kemudian, di editor VBA, aktifkan referensi ke "MS Excel Object Library ”serta“ MS Scripting Runtime ”menurut“Cara Menambahkan Object Library Referensi di VBA".
  3. Selanjutnya, salin kode berikut ke modul yang tidak digunakan.
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

Kode VBA - Hitung Tugas berdasarkan Status

  1. Setelah itu, klik subrutin pertama dan tekan tombol “F5”.
  2. Saat makro selesai, lembar kerja Excel baru akan ditampilkan, seperti gambar di bawah. Ini berisi jumlah tugas dalam status yang berbeda.Jumlah Tugas dalam Status Berbeda

Waspadai Perangkap di sekitar Outlook

Ada sejumlah besar risiko seputar Outlook, termasuk virus, kesalahan manusia, kesalahan perangkat lunak, serta kegagalan perangkat keras, dll. Oleh karena itu, jika tidak ingin kehilangan data Outlook yang berharga, Anda harus selalu berhati-hati. Sederhananya, Anda tidak boleh mengunduh lampiran yang tidak dikenal atau tautan yang mencurigakan di email. Selain itu, jika memungkinkan, disarankan untuk menyimpan utilitas perbaikan Outlook yang luar biasa, seperti DataNumen Outlook Repair, di sekitarnya, alih-alih mengandalkan sepenuhnya alat perbaikan kotak masuk.

Pengantar Penulis:

Shirley Zhang adalah pakar pemulihan data di DataNumen, Inc., yang merupakan pemimpin dunia dalam teknologi pemulihan data, termasuk memulihkan sql dan produk perangkat lunak perbaikan pandangan. Untuk informasi lebih lanjut kunjungi www.datanumen.com

Bagikan sekarang:

Komentar ditutup.