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.
Hitung Cepat Semua Tugas berdasarkan Status
- Pertama, luncurkan editor Outlook VBA dengan merujuk ke "Cara Menjalankan Kode VBA di Outlook Anda".
- Kemudian, di editor VBA, aktifkan referensi ke "MS Excel Object Library ”serta“ MS Scripting Runtime ”menurut“Cara Menambahkan Object Library Referensi di VBA".
- 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
- Setelah itu, klik subrutin pertama dan tekan tombol “F5”.
- Saat makro selesai, lembar kerja Excel baru akan ditampilkan, seperti gambar di bawah. Ini berisi jumlah tugas dalam status yang 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

