从 Excel 自动创建与会者会议

Create a meeting with attendees automatically from Excel

我正在尝试在执行我的宏时自动创建一个来宾活动。我一直在尝试在我的宏执行期间自动创建一个来宾活动,但它不起作用。

我总是出错,而客人从来没有被“邀请”过。

这可能是个小问题,但这是我到目前为止完成的两个版本。

你看到我没有看到的错误了吗? 谢谢

版本 1

Sub Reminder_ContactCustomer()

Set xOutApp = CreateObject("Outlook.Application")
myItem = myOlApp.CreateItem(1)
myItem.MeetingStatus = olMeeting
myItem.Subject = "TO DO " + Range("B25").Value + " CONTACT CUSTOMER"
myItem.Location = "OFFICE 1A"
myItem.Start = Range("H25").Value
myItem.Duration = 90

Set myOptionalAttendee = myItem.Recipients.Add("mail@domain.ch")
myOptionalAttendee.Type = olOptional
myItem.Send

End Sub

版本 2

Sub Reminder_ContactCustomerV2()

Dim I As Long
Dim xRg As Range
Dim xOutApp As Object
Dim xOutItem As Object
Set xOutApp = CreateObject("Outlook.Application")
Set xRg = Range("B28:H28")
For I = 1 To xRg.Rows.Count
Set xOutItem = xOutApp.CreateItem(1)
Debug.Print xRg.Cells(I, 1).Value
xOutItem.Subject = "TO DO " + Range("C9").Value + " CONTACT CUSTOMER"
xOutItem.Location = "OFFICE 1A"
xOutItem.Start = xRg.Cells(I, 7).Value
xOutItem.AllDayEvent = True
xOutItem.Duration = 15
xOutItem.BusyStatus = 2
xOutItem.ReminderSet = True
xOutItem.ReminderMinutesBeforeStart = 15
xOutItem.Body = "Auto reminder added by the Excel Checklist"
Set myRequiredAttendee = xOutItem.Recipients.Add("mail@domain.ch")
myRequiredAttendee.Type = olRequired
xOutItem.Sent
xOutItem.Save
Set xOutItem = Nothing
Next
Set xOutApp = Nothing


End Sub

当我自己尝试时它起作用了(使用显式选项来发现拼写错误等)

Sub Reminder_ContactCustomer()

Dim myOlApp As Outlook.Application
Dim myItem As Outlook.AppointmentItem
Dim myOptionalAttendee As Outlook.Recipient
Set myOlApp = CreateObject("Outlook.Application")
Set myItem = myOlApp.CreateItem(1)
myItem.MeetingStatus = olMeeting
myItem.Subject = "TO DO " + Range("B25").Value + " CONTACT CUSTOMER"
myItem.Location = "OFFICE 1A"
myItem.start = Range("H25").Value
myItem.Duration = 90

Set myOptionalAttendee = myItem.Recipients.Add("mail@domain.ch")
myOptionalAttendee.Type = olOptional
myItem.Send

End Sub

myItem = myOlApp.CreateItem(1)前面需要Set 和一致的 myOlApp(你一开始使用的是 xOutApp)