Kaip išspausdinti visų užimtų susitikimų sąrašą tam tikra datų seka naudojant „Outlook VBA“.

Bendrinti dabar:

Šiame straipsnyje sužinosite, kaip lengvai atsispausdinti visų susitikimų, kurie rodomi kaip „Užimta“ ir suplanuoti tam tikroje datų sekoje, sąrašą.

Gana lengva peržiūrėti visus kalendorius ir rasti visus užimtus susitikimus konkrečiame datų intervale. Galite tiesiog nustatyti paieškos apimtį „Visi kalendoriaus elementai“. Tada ieškokite susitikimų, kurių „Rodyti laiką kaip“ yra lygu „Užimtumas“, ir kurių pradžios ir pabaigos datos yra konkrečioje pradžios ir pabaigos datoje. Tačiau tokiu būdu, norėdami atsispausdinti rastus susitikimus ir eidami į „Failas“ > „Spausdinti“, matysite, kad galimas tik „Atmintinės stilius“. Tai reiškia, kad negalite atspausdinti rastų susitikimų sąraše. Taigi, jei norite atspausdinti tokių susitikimų sąrašą, galite naudoti šį būdą.

Rastiems susitikimams galimas tik atmintinės stilius

Išspausdinkite visų užimtų susitikimų sąrašą konkrečia datų seka

  1. Pačioje pradžioje paleiskite „Outlook VBA“ redaktorių naudodami „Alt + F11“.
  2. Tada iššokančiajame lange „Microsoft Visual Basic for Applications“ pridėkite nuorodą į „MS Excel Object Library“ pagal „Kaip pridėti objektų bibliotekos nuorodą VBA".
  3. Po to į modulį įdėkite šį VBA kodą.
Dim dStart, dEnd As Date
Dim objExcelApp As Excel.Application
Dim objExcelWorkbook As Excel.Workbook
Dim objExcelWorksheet As Excel.Worksheet

Sub PrintListOfAllBusyAppointments()
    Dim objStore As Store
    Dim objFolder As Folder
 
    dStart = InputBox("Enter the start date:", , Date)
    dEnd = InputBox("Enter the end date:", , Date + 30)
 
    Set objExcelApp = CreateObject("Excel.Application")
    Set objExcelWorkbook = objExcelApp.Workbooks.Add
    Set objExcelWorksheet = objExcelWorkbook.Sheets(1)
    objExcelApp.Visible = True
 
    With objExcelWorksheet
         .Cells(1, 1) = "Subject"
         .Cells(1, 1).Font.Bold = True
         .Cells(1, 2) = "Location"
         .Cells(1, 2).Font.Bold = True
         .Cells(1, 3) = "Start"
         .Cells(1, 3).Font.Bold = True
         .Cells(1, 4) = "End"
         .Cells(1, 4).Font.Bold = True
         .Cells(1, 5) = "In Folder"
         .Cells(1, 5).Font.Bold = True
    End With
 
    For Each objStore In Application.Session.Stores
        For Each objFolder In objStore.GetRootFolder.Folders
            If objFolder.DefaultItemType = olAppointmentItem Then
               Call ProcessFolders(objFolder)
            End If
        Next
    Next
 
    objExcelWorksheet.Columns("A:E").AutoFit
    objExcelWorksheet.PrintOut
    objExcelWorkbook.Close False
    objExcelApp.Quit
End Sub

Sub ProcessFolders(ByVal objCurFolder As Folder)
    Dim strFilter As String
    Dim objItems As Outlook.Items
    Dim objRestrictedItems As Outlook.Items
    Dim objAppointment As AppointmentItem
    Dim nLastRow As Integer
    Dim objSubFolder As Folder
 
    Set objItems = objCurFolder.Items
    objItems.IncludeRecurrences = True
    objItems.Sort "[Start]"
 
    'Get the appointments in the specific date range
    strFilter = "[Start] >= " & Chr(34) & dStart & " 00:00 AM" & Chr(34) & " AND [End] <= " & Chr(34) & dEnd & " 11:59 PM" & Chr(34)
    Set objRestrictedItems = objItems.Restrict(strFilter)

    For Each objAppointment In objRestrictedItems
        If objAppointment.BusyStatus = olBusy Then
           nLastRow = objExcelWorksheet.Range("A" & objExcelWorksheet.Rows.Count).End(xlUp).Row + 1
 
           With objExcelWorksheet
                .Range("A" & nLastRow) = objAppointment.Subject
                .Range("B" & nLastRow) = objAppointment.Location
                .Range("C" & nLastRow) = objAppointment.Start
                .Range("D" & nLastRow) = objAppointment.End
                .Range("E" & nLastRow) = objCurFolder.FolderPath
           End With
        End If
    Next

    'Process all subfolders recursively
    If objCurFolder.Folders.Count > 0 Then
       For Each objSubFolder In objCurFolder.Folders
           Call ProcessFolders(objSubFolder)
       Next
    End If
End Sub

VBA kodas – išspausdinkite visų užimtų susitikimų sąrašą konkrečia datų seka

  1. Vėliau spustelėkite pirmąją paprogramę ir paspauskite „F5“ klavišą.
  2. Tada turėsite nurodyti susitikimų paieškos dienų seką.Nurodykite datų diapazoną
  3. Tada spustelėkite „Gerai“, kad tęstumėte makrokomandą.
  4. Galiausiai, kai makrokomanda bus baigta, bus išspausdintas užimtų susitikimų sąrašas iš anksto nustatyta datų seka visuose kalendoriaus aplankuose, kaip parodyta toliau esančioje ekrano kopijoje.Spausdintas visų užimtų susitikimų konkrečiu datų diapazonu sąrašas

Kovokite su nerimą keliančia „Outlook“ korupcija

Jei „Outlook“ visada uždaroma netinkamai, vėliau galite susidurti su daugybe problemų. Tarp jų blogiausias yra sugadintas „Outlook“ failas. Jei nenorite prarasti duomenų, turite naudoti PST taisymo įrankį, pvz DataNumen Outlook Repair. Jis gali atgauti maksimalius duomenis iš sugadinta Outlook failas.

Autoriaus įvadas:

Shirley Zhang yra duomenų atkūrimo ekspertė DataNumen, Inc., kuri yra pasaulyje duomenų atkūrimo technologijų lyderė, įskaitant sql taisymas ir „Outlook“ taisymo programinės įrangos produktai. Norėdami gauti daugiau informacijos, apsilankykite WWW.datanumen.com

Bendrinti dabar:

Komentarai yra uždaryti.