从 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)
我正在尝试在执行我的宏时自动创建一个来宾活动。我一直在尝试在我的宏执行期间自动创建一个来宾活动,但它不起作用。
我总是出错,而客人从来没有被“邀请”过。
这可能是个小问题,但这是我到目前为止完成的两个版本。
你看到我没有看到的错误了吗? 谢谢
版本 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)