Oppgaver kan ha fem statuser – «Ikke Started”, “Pågår”, “Fullført”, “Venter på noen andre” og “Utsatt”. Hvis du raskt vil telle alle oppgaver etter status, kan du bruke måten introdusert i denne artikkelen.
Outlook støtter brukere til å tildele status til oppgavene eller flaggede elementer. Det er fem statuser - henholdsvis "Ikke Started”, “Pågår”, “Fullført”, “Venter på noen andre” og “Utsatt”. Kanskje du har en stor mengde oppgaver i Outlook, og de er i forskjellige statuser. Nå, hvis du ønsker å telle alle oppgavene etter status, kan du bruke følgende måte.
Tell raskt alle oppgaver etter status
- Start først Outlook VBA editor ved å referere til "Hvordan kjøre VBA-kode i Outlook".
- Aktiver deretter referansen til "MS Excel Object Lib. i VBA-editoren".rary" samt "MS Scripting Runtime" i henhold til "Hvordan legge til et objekt Library Referanse i VBA".
- Deretter kopierer du følgende kode inn i en ubrukt 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
- Klikk deretter på den første subrutinen og trykk "F5"-tasten.
- Med en gang, når makroen er fullført, vises et nytt Excel-regneark, som skjermbildet nedenfor. Den inneholder tellinger av oppgaver i forskjellige statuser.
Pass på fallgruvene rundt Outlook
Det er en stor mengde risikoer rundt Outlook, inkludert virus, menneskelige feil, programvarefeil så vel som maskinvarefeil osv. Derfor, hvis du ikke vil miste dine verdifulle Outlook-data, må du være forsiktig hele tiden. Enkelt sagt bør du aldri laste ned ukjente vedlegg eller mistenkelige lenker i e-postene. Dessuten, hvis mulig, er det tilrådelig å beholde et bemerkelsesverdig Outlook-fixverktøy, som DataNumen Outlook Repair, i nærheten, i stedet for å stole helt på verktøy for reparasjon av innboks.
Forfatterintroduksjon:
Shirley Zhang er en datagjenopprettingsekspert innen DataNumen, Inc., som er verdensledende innen datagjenopprettingsteknologier, inkludert gjenopprette sql og Outlook-reparasjonsprodukter. For mer informasjon besøk www.datanumen. Med

