Ich versuche, einen Code zu schreiben, um eine Besprechungseinladung zu planen und das Versenden an die Teilnehmer zu einem späteren Zeitpunkt automatisch zu verzögern, d. H. Das Versenden einer Besprechungseinladung zu verzögern
Unten ist der Code, aber an der Stelle, an der die Einladung 30 Minuten später gesendet werden soll, wird ein Fehler angezeigt.
Fehlerzeile:
Application.Wait (Now + TimeValue ("06:30:00"))
Werde mich wirklich über Hilfe freuen. Danke vielmals
Sub Book_meeting_room()
Dim olApp As Outlook.Application
Dim olApt As AppointmentItem
Set olApp = Outlook.Application 'Creating Outlook Session
Set olApt = olApp.CreateItem(olAppointmentItem) 'Creating an Appointment
With olApt
.MeetingStatus = olMeeting 'olAppointmentItem with Meeting status olMeeting
'becomes a OL Meeting Item.
.Subject = "Room 1" 'Subject
.Start = #11/20/2017 8:30:00 AM# 'Enter Date + Time here.
.Duration = 240 'In Minutes
.Location = "Office" 'Location of the meeting.
.Recipients.Add ("Margaret") 'Recipient Name, Alias, or any other Attribute.
.BusyStatus = olFree
.ReminderSet = True
.ReminderMinutesBeforeStart = 20
End With
Application.Wait (Now + TimeValue("06:30:00")) 'defer 06hrs and 30mins.
olApt.Send 'Sending Mail.
Set olApt = Nothing
MsgBox "Invite Sent", vbInformation
End Sub
Antworten:
Application.Wait
funktioniert nicht mit Outlook können Sie entweder dieDoevent
Funktion mit einem Timer oder derSleep
FunktionVerwenden
Doevent
Dies ist die beste Option, da Sie nach dem Starten des Makros weiterarbeiten können. Das Problem tritt auf, wenn Sie es zu häufig verwenden:Im Energiesparmodus müssen Sie die Funktion deklarieren und können erst dann weiterarbeiten, wenn die Nachricht gesendet wurde. Sie erklären es mit:
Ihr Code wird wie folgt (Sie können auch das zusätzliche andere Problem notieren, das mit behoben wird
.Display
um das Programm zum Laufen zu bringen)quelle