VBA

 

Home
Nach oben

Last Update 20.07.2004

Copyright  2003
Ramses (C)

 

Hier habe ich gerade erst wieder begonnen,.. seien Sie nachsichtig: Es kommt noch mehr in den nächsten Tagen ;-)

Termin per VBA in Kalender suchen

 

 

Termin per VBA in Kalender suchen

Verwenden Sie die "Restrict"-Methode um den Suchbereich einzugrenzen

Sub Terminausgabe()
'Allgemeine Variablendeklaration
Dim myMsg As String, Qe As Integer
Dim myTermin As String
'Object Variablendeklaration
Dim objKalender As MAPIFolder
Dim objTermine As Items
Dim objTerminGruppe As Items
Dim objTermin As AppointmentItem
'Termin abfragen
myTermin = InputBox("Bitte geben Sie das zu prüfende Datum ein:", "Terminsuche", "1.10.2003")
'Fehlerroutine einbauen
On Error Resume Next
If Not IsDate(DateValue(myTermin)) Then
         Qe = MsgBox("Die Eingabe kann nicht als Datum interpretiert werden", vbCritical + vbOKOnly, "Abbruch")
         Exit Sub
End If
'ObjectVariablen zuweisen
Set objKalender = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderCalendar)
Set objTermine = objKalender.Items
Set objTerminGruppe = objTermine.Restrict("[Start] >= '" & myTermin & " 00:00'" & "AND [Start] <= '" & myTermin & " 23:59'")
For Each objTermin In objTerminGruppe
      With objTermin
              myMsg = myMsg & vbCr & .Subject & ", Zeit: " & .Start
     End With
Next objTermin
MsgBox "Termine am " & myTermin & ":" & vbCrLf & myMsg
End Sub

 

Damit das Kriterienfeld "[Start]" die erforderlichen Uhrzeitangaben erhält, verketten Sie das Datum einfach per &-Operator mit den Textwerten "00:00" und "23:59". Und zur Definition einer Zeitspanne nutzen Sie die Vergleichsoperatoren ">=" und "<=", die Sie mit einem logischen "AND" miteinander verknüpfen. So werden hier alle Termine gefunden, deren Startzeit GRÖSSER oder GLEICH "12.7.2004 0:00" (Uhr) ist UND KLEINER oder GLEICH "12.7.2004 23:59" (Uhr).