W tym artykule nauczysz się, jak łatwo wydrukować listę wszystkich spotkań, które są wyświetlane jako „Zajęty” i zaplanowane w określonym zakresie dat.
Przejście przez wszystkie kalendarze w celu znalezienia wszystkich zajętych spotkań w określonym przedziale dat jest dość proste. Wystarczy ustawić zakres wyszukiwania na „Wszystkie elementy kalendarza”. Następnie wyszukaj spotkania z parametrem „Pokaż czas jako” równym „Zajęty” i z określoną datą rozpoczęcia i zakończenia. W ten sposób, chcąc wydrukować znalezione spotkania i przejść do „Plik” > „Drukuj”, zobaczysz, że dostępny jest tylko styl „Notatka”. Oznacza to, że nie można wydrukować znalezionych spotkań na liście. Aby wydrukować listę takich spotkań, możesz skorzystać z poniższej metody.

Wydrukuj listę wszystkich zajętych spotkań w określonym zakresie dat
- Na samym początku uruchom edytor VBA programu Outlook za pomocą „Alt + F11”.
- Następnie w oknie podręcznym „Microsoft Visual Basic for Applications” dodaj odwołanie do „Biblioteki obiektów MS Excel” zgodnie z „Jak dodać odwołanie do biblioteki obiektów w języku VBA".
- Następnie umieść następujący kod VBA w module.
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
- Później kliknij pierwszy podprogram i naciśnij klawisz „F5”.
- Następnie należałoby określić zakres dat wyszukiwania spotkań.
- Następnie kliknij „OK”, aby kontynuować makro.
- Wreszcie, po zakończeniu działania makra, zostanie wydrukowana lista zajętych spotkań we wstępnie zdefiniowanym zakresie dat we wszystkich folderach kalendarza, jak pokazano na zrzucie ekranu poniżej.
Zwalczanie niepokojącej korupcji prognoz
Jeśli Twój Outlook jest zawsze zamknięty w nieprawidłowy sposób, możesz później napotkać wiele problemów. Wśród nich najgorszy jest uszkodzony plik Outlooka. Jeśli nie chcesz stracić swoich danych, musisz użyć narzędzia do naprawy pliku PST, takiego jak DataNumen Outlook Repair. Jest w stanie odzyskać maksimum danych z uszkodzony Outlook plik.
Wprowadzenie autora:
Shirley Zhang jest ekspertem w dziedzinie odzyskiwania danych w DataNumen, Inc., która jest światowym liderem w technologiach odzyskiwania danych, w tym poprawka sql i oprogramowanie do naprawy programu Outlook. po więcej informacji odwiedź www.datanumen.com


