ExchangeUser. GetFreeBusy-Methode (Outlook)ExchangeUser.GetFreeBusy method (Outlook)

Ruft eine Zeichenfolge zurück, die die verfügBarkeit des ExchangeUser für einen Zeitraum von 30 Tagen ab dem Startdatum darstellt, beginnend mit Mitternacht des angegebenen Datums.Obtains a String representing the availability of the ExchangeUser for a period of 30 days from the start date, beginning at midnight of the date specified.

SyntaxSyntax

expression.expression. GetFreeBusy( _Start_ , _MinPerChar_ , _CompleteFormat_ )

Ausdruck Eine Variable, die ein ExchangeUser -Objekt darstellt.expression A variable that represents an ExchangeUser object.

ParameterParameters

NameName Erforderlich/OptionalRequired/Optional DatentypData type BeschreibungDescription
StartStart ErforderlichRequired DateDate Das Datum der Verfügbarkeit, beginnend um Mitternacht.The date of availability, starting at midnight.
MinPerCharMinPerChar ErforderlichRequired LongLong Gibt die Länge der Zeitintervalle in Minuten an.Specifies the length of each time slot in minutes. Der Standardwert ist 30 Minuten.Default is 30 minutes.
CompleteFormatCompleteFormat OptionalOptional VariantVariant Der Wert true gibt an, dass in der frei/gebucht-Zeichenfolge eine feinere Granularität der Arbeitszeit zurückgegeben wird.A value of True indicates that a finer granularity of busy time is returned in the free/busy string. Der Wert False gibt an, dass eine Unterscheidung zwischen nur die verfügbaren und gebuchten Zeiten zurückgegeben wird.A value of False indicates that a distinction between only the available and busy times is returned.

RückgabewertReturn value

Eine Zeichenfolge , die die verfügBarkeit des Exchange-Benutzers für einen Zeitraum von 30 Tagen ab dem Startdatum darstellt, beginnend mit Mitternacht des angegebenen Datums.A String that represents the availability of the Exchange user for a period of 30 days from the start date, beginning at midnight of the date specified. Jedes Zeichen in der String ist ein Wert, der angibt, ob der Benutzer zur Verfügung (0) ist und optional, ob ein ausgelasteten Zeitraum mit Vorbehalt (1), abwesend (3) oder anderen (2) gekennzeichnet ist.Each character in the String is a value indicating if the user is available (0), and optionally, whether a busy time is marked tentative (1), out of office (3), or other (2).

BeispielExample

Im folgenden Beispiel für Visual Basic für Applikationen (VBA) wird die GetFreeBusy -Methode verwendet, um die Frei/Gebucht-Informationen abzurufen, wobei jedes Zeitfenster einen zeitraum von 60 Minuten für den dem aktuellen Benutzer zugewiesenen Manager darstellt.The following Visual Basic for Applications (VBA) example uses the GetFreeBusy method to retrieve the free/busy information, with each time slot representing a 60 minute period, for the manager assigned to the current user. Im Beispiel wird dann verwendet, die betreffenden Informationen zum Berechnen von Datum und Uhrzeit, auf dem der erste freie Zeitraum tritt auf, und zeigt diese Informationen im Fenster Debuggen.The example then uses that information to calculate the date and time on which the first free period occurs, and displays that information in the Debug window.

Sub GetManagerOpenInterval() 
 Dim oManager As ExchangeUser 
 Dim oCurrentUser As ExchangeUser 
 Dim FreeBusy As String 
 Dim BusySlot As Long 
 Dim DateBusySlot As Date 
 Dim i As Long 
 Const SlotLength = 60 
 'Get ExchangeUser for CurrentUser 
 If Application.Session.CurrentUser.AddressEntry.Type = "EX" Then 
 Set oCurrentUser = _ 
 Application.Session.CurrentUser.AddressEntry.GetExchangeUser 
 'Get Manager 
 Set oManager = oManager.GetExchangeUserManager 
 If oManager Is Nothing Then 
 Exit Sub 
 End If 
 FreeBusy = oManager.GetFreeBusy(Now, SlotLength) 
 For i = 1 To Len(FreeBusy) 
 If CLng(Mid(FreeBusy, i, 1)) = 0 Then 
 'get the number of minutes into the day for free interval 
 BusySlot = (i - 1) * SlotLength 
 'get an actual date/time 
 DateBusySlot = DateAdd("n", BusySlot, Date) 
 'To refine this function, substitute actual 
 'workdays and working hours in date/time comparison 
 If TimeValue(DateBusySlot) >= TimeValue(#8:00:00 AM#) And _ 
 TimeValue(DateBusySlot) <= TimeValue(#5:00:00 PM#) And _ 
 Not (Weekday(DateBusySlot) = vbSaturday Or _ 
 Weekday(DateBusySlot) = vbSunday) Then 
 Debug.Print oManager.name & " first open interval:" & _ 
 vbCrLf & _ 
 Format$(DateBusySlot, "dddd, mmm d yyyy hh:mm AMPM") 
 Exit For 
 End If 
 End If 
 Next 
 End If 
End Sub

Siehe auchSee also

ExchangeUser-ObjektExchangeUser Object

Support und FeedbackSupport and feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation?Have questions or feedback about Office VBA or this documentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.