Как мне отформатировать часть времени моего «.start», чтобы записать его на встречу с Outlook?Я хочу использовать ввод от пользователя формы здесь мой - PullRequest
0 голосов
/ 27 января 2019

Как мне отформатировать часть времени моего .start, чтобы записать его на встречу в Outlook?

Я хочу использовать ввод от пользователя формы, вот мой код.

Этот код создает встречу в моем календаре, но устанавливает время на 12:00AM вместо того, чтобы извлекать время ввода (Scheduled_Review_Time) из формы.

Я пробовал использовать формат Long, Medium и Short time в свойствах.

private Sub Command160_Click()

Dim olApp As Outlook.Application
Dim olApt As AppointmentItem


Set olApp = New Outlook.Application
Set olApt = olApp.CreateItem(olAppointmentItem)


With olApt
.Start = Me.Scheduled_Review_Date
.End = Me.Scheduled_Review_Date
.Subject = Me.Title_of_Product
.Location = Me.Review_Location
.Body = "Please Join us for A Meeting"
.Duration = Me.Duration
' .To = Me.
   .BusyStatus = olBusy
   .ReminderMinutesBeforeStart = 15
   .ReminderSet = True


    .Save
End With


Set olApt = Nothing
Set olApp = Nothing

End Sub

Ответы [ 2 ]

0 голосов
/ 27 января 2019

Опция Явная

Private Sub Command160_Click()

Dim olApp As Outlook.Application
Dim olApt As AppointmentItem

Dim Scheduled_Review_Date As Date
Dim Scheduled_Review_Time As Date
Dim Scheduled_Start As Date
Dim Title_of_Product As String
Dim Review_Location As String
Dim actDuration As String

Scheduled_Review_Date = DateSerial(2019, 2, 1)
Scheduled_Review_Time = TimeSerial(11, 35, 0)
Scheduled_Start = Scheduled_Review_Date + Scheduled_Review_Time
Title_of_Product = "Title_of_Product"
Review_Location = "Review_Location"
actDuration = "90"

Set olApp = New Outlook.Application
Set olApt = olApp.CreateItem(olAppointmentItem)

With olApt
.Start = Scheduled_Start
'.End = Me.Scheduled_Review_Date
.Subject = Title_of_Product
.Location = Review_Location
.Body = "Please Join us for A Meeting"
.Duration = actDuration
' .To = Me.
   .BusyStatus = olBusy
   .ReminderMinutesBeforeStart = 15
   .ReminderSet = True


    .Save
End With

olApt.Display
Stop

Set olApt = Nothing
Set olApp = Nothing
End Sub
0 голосов
/ 27 января 2019

Ваша форма, скорее всего, показывает текстовые значения, которые выглядят как даты и время.Преобразовать в истинные значения даты и времени с помощью CDate и CTime.

With olApt

    .Start = cdate(Me.Scheduled_Review_Date) + cdate(me.Scheduled_Review_Time)
    'add 30 minutes for an end time
    .End = cdate(Me.Scheduled_Review_Date) + cdate(me.Scheduled_Review_Time) + timeserial(0, 30, 0)
    .Subject = Me.Title_of_Product
    .Location = Me.Review_Location
    .Body = "Please Join us for A Meeting"
    .Duration = Me.Duration
    ' .To = Me.
       .BusyStatus = olBusy
       .ReminderMinutesBeforeStart = 15
       .ReminderSet = True

    .Save
End With
...