Ang mga gawain ay maaaring may limang katayuan – “Hindi Sinimulan”, “Kasalukuyang Ginagawa”, “Natapos”, “Naghihintay ng iba” at “Napagpaliban”. Kung gusto mong mabilis na bilangin ang lahat ng gawain ayon sa katayuan, maaari mong gamitin ang paraang ipinakilala sa artikulong ito.
Sinusuportahan ng Outlook ang mga user na magtalaga ng status sa mga gawain o mga naka-flag na item. Mayroong limang status – ayon sa pagkakabanggit ay “Hindi Sinimulan”, “Isinasagawa”, “Nakumpleto”, “Naghihintay ng iba” at “Napagpaliban”. Marahil ay marami kang mga gawain sa iyong Outlook at ang mga ito ay nasa iba't ibang status. Ngayon, kung gusto mong bilangin ang lahat ng mga gawain ayon sa status, maaari mong gamitin ang sumusunod na paraan.
Mabilis na Bilangin ang Lahat ng Mga Gawain ayon sa Katayuan
- Una, ilunsad ang editor ng VBA ng Outlook sa pamamagitan ng pagtukoy sa "Paano Patakbuhin ang VBA Code sa Iyong Outlook".
- Pagkatapos, sa VBA editor, paganahin ang pagtukoy sa “MS Excel Object Library” pati na rin sa “MS Scripting Runtime” ayon sa “Paano Magdagdag ng Sanggunian sa Object Library sa VBA".
- Susunod, kopyahin ang sumusunod na code sa isang hindi nagamit na module.
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
- Pagkatapos nito, mag-click sa unang subroutine at pindutin ang "F5" key.
- Nang sabay-sabay, kapag nakumpleto ang macro, isang bagong worksheet ng Excel ang ipapakita, tulad ng screenshot sa ibaba. Naglalaman ito ng mga bilang ng mga gawain sa iba't ibang mga katayuan.
Mag-ingat sa Mga Pitfalls sa paligid ng Outlook
Mayroong isang malaking halaga ng mga panganib na nakapalibot sa Outlook, kabilang ang mga virus, pagkakamali ng tao, mga pagkakamali ng software pati na rin mga pagkabigo sa hardware, atbp Samakatuwid, kung hindi nais na mawala ang iyong mahalagang data ng Outlook, dapat kang manatiling maingat sa lahat ng oras. Sa madaling salita, hindi ka dapat mag-download ng hindi kilalang mga kalakip o kahina-hinalang mga link sa mga email. Bukod, kung maaari, ipinapayong panatilihin ang isang kapansin-pansin na utility sa pag-aayos ng Outlook, tulad ng DataNumen Outlook Repair, sa paligid, sa halip na ganap na umasa sa tool sa pag-aayos ng inbox.
Panimula ng May-akda:
Si Shirley Zhang ay isang dalubhasa sa pagbawi ng data sa DataNumen, Inc., na pinuno ng mundo sa mga teknolohiya sa pagbawi ng data, kasama ang mabawi ang sql at pananaw sa pag-aayos ng mga produktong software. Para sa karagdagang impormasyon pagbisita www.datanumen. Sa

