如何从Excel两个单元格取值设置Outlook约会的开始日期与时间
代码调整方案
你只需要将两个单元格的日期、时间值转换为日期类型后合并,赋值给.Start属性即可,调整后的完整代码如下:
Sub CreateOutlookAppointment() Dim OutApp As Outlook.Application Dim OutMeet As Outlook.AppointmentItem Set OutApp = New Outlook.Application Set OutMeet = OutApp.CreateItem(olAppointmentItem) With OutMeet ' 合并A1的日期与A2的时间赋值给开始时间 .Start = CDate(Range("A1").Value) + CDate(Range("A2").Value) ' 其他约会属性可以继续在此处补充,比如.Subject、.Location等 .Display ' 或者用.Save直接保存到日历 End With ' 释放对象内存 Set OutMeet = Nothing Set OutApp = Nothing End Sub
补充说明
- 代码中
CDate函数用于将单元格的文本格式内容转换为VBA可识别的日期时间类型,避免因单元格格式问题导致的赋值错误 - 如果运行时提示
olAppointmentItem未定义,可通过两种方式解决:- 打开VBA编辑器的「工具」-「引用」,勾选对应版本的「Microsoft Outlook XX.X Object Library」
- 直接将
olAppointmentItem替换为数值1
- 如果需要指定从固定工作表取数,可把
Range("A1")改为Sheets("你的工作表名称").Range("A1"),避免取错当前激活工作表的单元格
内容的提问来源于stack exchange,提问作者studentuni998
相关产品推荐
相关产品推荐

