Outlook-dagi holati bo'yicha barcha vazifalarni qanday tezda hisoblash mumkin

Hozir ulashing:

Vazifalar beshta holatga ega bo'lishi mumkin - “Boshlanmagan”, “Bajarilmoqda”, “Bajarildi”, “Boshqa birovni kutmoqda” va “Kechiktirilgan”. Agar siz barcha vazifalarni holati bo'yicha tezda sanamoqchi bo'lsangiz, ushbu maqolada keltirilgan usuldan foydalanishingiz mumkin.

Outlook foydalanuvchilarga vazifalarga yoki belgilangan elementlarga status berishni qo'llab-quvvatlaydi. Beshta holat mavjud - mos ravishda "Boshlanmagan", "Davom etmoqda", "Bajarildi", "Boshqa birovni kutmoqda" va "Kechiktirilgan". Ehtimol, sizning Outlookingizda juda ko'p vazifalar mavjud va ular turli holatlarda. Endi, agar siz barcha vazifalarni holati bo'yicha sanamoqchi bo'lsangiz, quyidagi usuldan foydalanishingiz mumkin.Vazifa holati

Barcha vazifalarni holati bo'yicha tezda hisoblang

  1. Avval Outlook VBA muharririni ishga tushiring.Outlook-da VBA kodini qanday ishlatish kerak".
  2. Keyin, VBA muharririda, "MS Excel obyekt kutubxonasi" ga, shuningdek, "MS skriptlash ish vaqti" ga havolani yoqing.VBA da obyekt kutubxonasi havolasini qanday qo'shish mumkin".
  3. Keyin, foydalanilmagan modulga quyidagi kodni nusxalang.
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

VBA kodi - Vazifalarni holati bo'yicha hisoblash

  1. Shundan so'ng, birinchi pastki dasturni bosing va "F5" tugmasini bosing.
  2. Birdaniga, so'l tugallangach, quyidagi skrinshot kabi yangi Excel ish varag'i ko'rsatiladi. Unda turli maqomlardagi vazifalar soni mavjud.Turli maqomlardagi vazifalar soni

Outlook atrofidagi tuzoqlardan ehtiyot bo'ling

Outlook atrofida juda ko'p xavf-xatarlar mavjud, jumladan, viruslar, inson xatolari, dasturiy ta'minotdagi nosozliklar, shuningdek apparatdagi nosozliklar va hokazo. Shuning uchun, qimmatli Outlook ma'lumotlaringizni yo'qotishni xohlamasangiz, doimo ehtiyot bo'lishingiz kerak. Oddiy qilib aytganda, siz hech qachon elektron pochta xabarlarida noma'lum qo'shimchalar yoki shubhali havolalarni yuklab olmaysiz. Bundan tashqari, iloji bo'lsa, ajoyib Outlook tuzatish yordam dasturini saqlash tavsiya etiladi, masalan DataNumen Outlook Repair, yaqin atrofda, o'rniga butunlay tayanib pochta qutisini tuzatish vositasi.

Muallif kirish:

Shirli Chjan ma'lumotlarni qayta tiklash bo'yicha mutaxassis DataNumenMa'lumotlarni qayta tiklash texnologiyalari bo'yicha jahon yetakchisi bo'lgan , Inc sql-ni tiklash va Outlook ta'mirlash dasturiy mahsulotlar. Qo'shimcha ma'lumot olish uchun tashrif buyuring www.datanumen.com

Hozir ulashing:

Comments are closed.