Zadaci mogu imati pet statusa – „Nije započeto“, „U tijeku“, „Završeno“, „Čeka nekog drugog“ i „Odgođeno“. Ako želite brzo prebrojati sve zadatke prema statusu, možete koristiti način predstavljen u ovom članku.
Outlook podržava korisnike da dodijele status zadacima ili označenim stavkama. Postoji pet statusa – „Nije započeto“, „U tijeku“, „Završeno“, „Čeka nekoga drugog“ i „Odgođeno“. Možda imate puno zadataka u Outlooku i oni su u različitim statusima. Sada, ako želite prebrojati sve zadatke prema statusu, možete koristiti sljedeći način.
Brzo prebrojite sve zadatke prema statusu
- Najprije pokrenite Outlook VBA uređivač prema "Kako pokrenuti VBA kod u vašem Outlooku".
- Zatim, u VBA editoru, omogućite referencu na "MS Excel Object Library" kao i "MS Scripting Runtime" prema "Kako dodati referencu biblioteke objekata u VBA".
- Zatim kopirajte sljedeći kod u neiskorišteni modul.
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
- Nakon toga kliknite na prvu potprogram i pritisnite tipku “F5”.
- Odmah nakon dovršetka makronaredbe prikazat će se novi Excel radni list, kao na slici ispod. Sadrži brojanje zadataka u različitim statusima.
Čuvajte se zamki oko Outlooka
Postoji velika količina rizika koji okružuju Outlook, uključujući viruse, ljudske pogreške, softverske greške kao i hardverske kvarove, itd. Stoga, ako ne želite izgubiti svoje vrijedne Outlook podatke, morate biti oprezni cijelo vrijeme. Jednostavno rečeno, nikada ne biste trebali preuzimati nepoznate privitke ili sumnjive poveznice u e-porukama. Osim toga, ako je moguće, preporučljivo je zadržati izvanredan uslužni program za popravak Outlooka, kao što je DataNumen Outlook Repair, u blizini, umjesto da se potpuno oslanjate na alat za popravak inboxa.
Uvod za autora:
Shirley Zhang stručnjakinja je za oporavak podataka u DataNumen, Inc., koji je svjetski lider u tehnologijama za oporavak podataka, uključujući oporaviti sql i softverske proizvode za popravak Outlooka. Za više informacija posjetite www.datanumen.com


