将Excel日期放入Outlook的日历(Microsoft Excel)
凯利(Kelly)有一个工作表,其中有一个日期表,用作将广告放入本地黄页的截止日期。她想将这些日期导入Outlook http://calendarcorner.net/ [日历]
具有72小时提醒功能,但某些日期会不断更改为数字。
凯利(Kelly)想知道如何根据需要将Excel日期添加到Outlook中。
使用Outlook比普通的Excel宏“级别更高”,因为您不仅需要了解如何访问宏中的Excel数据,还需要了解如何操作Outlook数据。在不确切知道从工作表传输到Outlook约会所需的数据的情况下,我们来看一个简短的场景。
假设您有一个包含一系列行的工作表,每个行代表您要创建的单个约会。每个约会包含从左到右的七列信息,如下所示:
主题。*描述事件/约会的文本(例如,“黄页提醒”)
位置。*描述事件位置的文本,例如会议室或电话会议号码(这是可选的)
开始日期/时间。*使用标准Excel日期格式输入事件应开始的日期和时间(您可以按照自己喜欢的方式显示)
持续时间。整数,表示约会“忙碌状态”的分钟数。代表可选值的整数,指示时间应显示为空闲(0),暂定(1),忙碌(2)还是不在办公室(3)
提醒时间。*整数,表示要弹出提醒的约会之前的分钟数(如4320,这是3天的分钟数)
正文。*描述您可能要在约会正文中放置的任何细节的文本
|有了这些数据后,您可以使用宏在所有行中循环(从第二行开始,假设第一行具有标题)
并为每一行创建一个约会。
Sub AddAppointments() ' Create the Outlook session Set myOutlook = CreateObject("Outlook.Application") ' Start at row 2 r = 2 Do Until Trim(Cells(r, 1).Value) = "" ' Create the AppointmentItem Set myApt = myOutlook.createitem(1) ' Set the appointment properties myApt.Subject = Cells(r, 1).Value myApt.Location = Cells(r, 2).Value myApt.Start = Cells(r, 3).Value myApt.Duration = Cells(r, 4).Value ' If Busy Status is not specified, default to 2 (Busy) If Trim(Cells(r, 5).Value) = "" Then myApt.BusyStatus = 2 Else myApt.BusyStatus = Cells(r, 5).Value End If If Cells(r, 6).Value > 0 Then myApt.ReminderSet = True myApt.ReminderMinutesBeforeStart = Cells(r, 6).Value Else myApt.ReminderSet = False End If myApt.Body = Cells(r, 7).Value myApt.Save r = r + 1 Loop End Sub
宏继续循环浏览各行,直到“主题”列为空。
注意:
如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(7349)适用于Microsoft Excel 97、2000、2002和2003。