Создание встречи Outlook
Я создал базовый код, в котором он будет создавать встречи Outlook через VBA Excel UserForm. Моя проблема, однако, заключается в том, что я не знаю, как установить "Пуск" на основе значений TextBox10 и Textbox11, поскольку он не принимает оба значения текстовых полей вместе.
Dim oAppt As AppointmentItem
Candidate = TextBox2.Value + " " + TextBox1.Value
InitialDate = TextBox10.Value
InitialTime = TextBox11.Value
Set oAppt = Outlook.Application.CreateItem(olAppointmentItem)
oAppt.Subject = Candidate
oAppt.Start = TextBox10.Value + TextBox11.Value
oAppt.Start = IntialTime
oAppt.Recipients.Add ("Email@gmail.com")
oAppt.Save
Candidate = Sheets("Client Lineup List").Range("F" & lMaxRows + 1).Value
2 ответа
Во-первых, используйте Option Explicit
всегда.
Сначала преобразуйте значения TextBox в дату / время. Пример ниже
Dim myDate As Date
myDate = CDate(TextBox10.Value & " " & TextBox11.Value)
Однако в этом случае требуются дополнительные соображения - проверьте, что введены правильные дата и время, иначе мой пример кода выше приведет к ошибке. Одним из простых решений проблемы является использование DatePicker
вместо TextBox10
, Раньше в VB был DateTimePicker, но я не уверен, где сейчас находится текущий эквивалент в VBA.
Кроме того, проверьте, как я конкатенировал строки (с пробелом между ними), используйте "&", а не "+", что может иметь интересные побочные эффекты, особенно если вы не установили Option Explicit
и не объявлены ваши переменные (делая их Variant
).
Вы должны преобразовать ваши значения TextBox в дату / время.
Вы можете быстро преобразовать столбец текста, который напоминает даты, в фактические даты с помощью VBA -эквивалента команды Данные ► Текст в столбцы на листе.
(TextBox10.Value & " " & TextBox11.Value).TextToColumns Destination:=.Cells(1), DataType:=xlFixedWidth, FieldInfo:=Array(0, xlYMDFormat)
.NumberFormat = "yyyy-mm-dd" 'change to any date-based number format you prefer the cells to display
Примечание: вы должны проверить, что действительные дата и время.
Для получения дополнительной информации вы можете обратиться по этой ссылке: