Ülesannetel võib olla viis olekut – „Mitte Started“, „Käimas“, „Lõpetatud“, „Ootan kedagi teist“ ja „Edastatud“. Kui soovite kõiki ülesandeid oleku järgi kiiresti üles lugeda, võite kasutada selles artiklis kirjeldatud meetodit.
Outlook toetab kasutajatel ülesannetele või märgistatud üksustele oleku määramist. Olekuid on viis – vastavalt „Mitte Started“, „Käimas“, „Lõpetatud“, „Ootan kedagi teist“ ja „Edastatud“. Võib-olla on teie Outlookis palju ülesandeid ja need on erinevas olekus. Nüüd, kui soovite kõiki ülesandeid oleku järgi loendada, saate kasutada järgmist viisi.
Loendage kiiresti kõik ülesanded oleku järgi
- Kõigepealt käivitage Outlook VBA redaktor, viidates jaotisele "Kuidas Outlookis VBA-koodi käivitada".
- Seejärel lubage VBA redaktoris viide „MS Excel Object Library” ja „MS skriptimise käitusaeg” vastavalt „Kuidas lisada objektiliigrary Viide VBA-s".
- Järgmisena kopeerige järgmine kood kasutamata moodulisse.
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
- Pärast seda klõpsake esimest alamprogrammi ja vajutage klahvi "F5".
- Kui makro on lõpule jõudnud, kuvatakse kohe uus Exceli tööleht, nagu alloleval ekraanipildil. See sisaldab erinevates olekutes olevate ülesannete arvu.
Hoiduge Outlookiga seotud lõkse eest
Outlookiga kaasneb suur hulk riske, sealhulgas viirused, inimlikud vead, tarkvara- ja riistvararikked jne. Seega, kui te ei soovi oma väärtuslikke Outlooki andmeid kaotada, peate olema kogu aeg ettevaatlik. Lihtsamalt öeldes ei tohiks kunagi e-kirjades alla laadida tundmatuid manuseid ega kahtlasi linke. Lisaks on võimalusel soovitatav säilitada mõni tähelepanuväärne Outlooki parandusutiliit, näiteks DataNumen Outlook Repair, läheduses, selle asemel, et täielikult loota postkasti parandamise tööriist.
Autori sissejuhatus:
Shirley Zhang on andmete taastamise ekspert DataNumen, Inc., mis on maailmas juhtiv andmete taastamise tehnoloogiate, sealhulgas sql-i taastamine ja Outlooki remonditarkvaratooted. Lisateabe saamiseks külastage www.datanumenCom

