从Excel电子表格中创建Outlook约会到特定日历
问题描述:
我正在尝试创建一个为特定(共享)日历创建三个Outlook约会的宏。这些活动将始终是全天活动。最后,我希望能够将宏与一个按钮相关联,以便当按钮被按下时,当前行的日期被添加到日历中。所有三个日期将在电子表格的同一行中。从Excel电子表格中创建Outlook约会到特定日历
这是我到目前为止(我知道它不是很多),请让我知道我需要补充什么。我对VBA仍然很陌生。下面的代码成功创建约会,但由于某种原因,for循环无法正常工作。唯一创建的事件是最后一个日期。
Sub Makeapt()
Set myOutlook = CreateObject("Outlook.Application")
Set myApt = myOutlook.createitem(1)
Dim i As Integer
For i = 3 To 5
myApt.Subject = Cells(ActiveCell.Row, 1).Value
myApt.Start = Cells(ActiveCell.Row, i).Value
myApt.Save
Next i
End Sub
没关系,我解决了这个问题。 Appt仍然会使用默认日历,但实际上它更可取。
Sub Makeapt()
Dim warning
warning = MsgBox("You are about to create Outlook appointments for subject #" & Cells(ActiveCell.Row, 3) & ". Is that right?", vbOKCancel)
If warning = vbCancel Then Exit Sub
Set myOutlook = CreateObject("Outlook.Application")
Set ID = Cells(ActiveCell.Row, 3)
Dim i As Integer
For i = 7 To 9
Set myApt = myOutlook.createitem(1)
myApt.Subject = "Subject #" & ID
myApt.Start = Cells(ActiveCell.Row, i).Value
myApt.Save
Next i
末次
答
如果你想有一个共享的日历,用Application.CreateRecipient创建收件人对象,使用Application.Session.GetSharedDefaultFolder打开共享日历,创建使用MAPIFolder.Items.Add预约。