Outlook VBA ашиглан тодорхой огнооны хүрээнд завгүй бүх уулзалтын жагсаалтыг хэрхэн хэвлэх вэ

Одоо хуваалцах:

Энэ нийтлэл нь "Завгүй" гэж харуулсан, тодорхой хугацаанд товлосон бүх уулзалтын жагсаалтыг хэвлэх хялбар аргыг танд заах болно.

Тодорхой хугацааны хязгаарт завгүй бүх уулзалтыг олохын тулд бүх хуанлигаар давталт хийхэд маш хялбар байдаг. Та хайлтын хүрээг "Бүх хуанлийн зүйлс" болгож тохируулж болно. Дараа нь "Цагийг харуулах" нь "Завгүй" гэсэн утгатай бөгөөд тодорхой эхлэх болон дуусах огнооны доторх уулзалтуудыг хайна уу. Гэхдээ ийм байдлаар олдсон уулзалтуудыг хэвлэх гэж байгаад "Файл" > "Хэвлэх" хэсэгт очиход зөвхөн "Тэмдэглэлийн хэв маяг" байгаа нь харагдаж байна. Энэ нь та жагсаалтаас олдсон уулзалтуудыг хэвлэх боломжгүй гэсэн үг юм. Тиймээс, хэрэв та ийм уулзалтуудын жагсаалтыг хэвлэхийг хүсвэл дараах аргыг ашиглаж болно.

Зөвхөн олдсон уулзалтад зориулсан тэмдэглэлийн хэв маягийг ашиглах боломжтой

Завгүй бүх уулзалтын жагсаалтыг тодорхой огнооны хүрээнд хэвлэ

  1. Эхлээд Outlook VBA засварлагчийг "Alt + F11" ашиглан эхлүүлнэ үү.
  2. Дараа нь, "Microsoft Visual Basic for Applications" цонхонд "MS Excel Object Library" гэсэн лавлагааг "VBA дээр объектын номын сангийн лавлагааг хэрхэн нэмэх вэ".
  3. Үүний дараа дараах VBA кодыг модульд оруулна.
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 код - Завгүй бүх уулзалтын жагсаалтыг тодорхой огнооны хүрээнд хэвлэх

  1. Дараа нь эхний дэд програм дээр дараад "F5" товчийг дарна уу.
  2. Дараа нь та уулзалт хайх хугацааг зааж өгөх шаардлагатай болно.Огнооны мужийг зааж өгнө үү
  3. Дараа нь макро үргэлжлүүлэхийн тулд "OK" дээр дарна уу.
  4. Эцэст нь, макро ажиллаж дууссаны дараа доорх дэлгэцийн агшинд үзүүлсэн шиг хуанлийн бүх хавтас дахь урьдчилан тодорхойлсон огнооны муж дахь завгүй уулзалтуудын жагсаалт хэвлэгдэх болно.Тодорхой огнооны хязгаарт байгаа бүх завгүй уулзалтуудын хэвлэсэн жагсаалт

Сэтгэл түгшээсэн төлөвийн авлигыг даван туулах

Хэрэв таны Outlook үргэлж буруу хаалттай байвал дараа нь танд маш олон асуудал тулгарч магадгүй юм. Тэдгээрийн дотроос Outlook файл гэмтсэн нь хамгийн муу зүйл юм. Хэрэв та өгөгдлөө алдахыг хүсэхгүй байгаа бол PST засах хэрэгслийг ашиглах хэрэгтэй DataNumen Outlook Repair. Энэ нь хамгийн их өгөгдлийг буцааж авах боломжтой Outlook гэмтсэн файл.

Зохиогчийн танилцуулга:

Ширли Жан бол мэдээлэл сэргээх мэргэжилтэн юм DataNumen, Үүнд мэдээлэл сэргээх технологиор дэлхийд тэргүүлэгч, Inc. sql засах програм хангамжийн бүтээгдэхүүнийг засах хэтийн төлөв. Дэлгэрэнгүй мэдээллийг авна уу WWW.datanumen.com

Одоо хуваалцах:

Тайлбарууд нь хаалттай байна.