outlook日历功能很强大,设置了账号后,能在手机端进行同步,经常使用。且outlook能周期性的定义会议或者约会,比如设置每周一次的例会等。但是,有一个小的遗憾,就是不能对每次的重复进行编号,查看不方便。于是,从网上找了一段vba代码,能通过脚本自己设定日历。比如,9月2号开学,设定每周是第几教学周,具体代码如下:
Sub SetAppt() Dim olApp As Outlook.Application Dim olApt As AppointmentItem Dim a As Variant Set olApp = New Outlook.Application begin = CDate("2018-09-02") '设置开始时间 For i = 1 To 20 Set olApt = olApp.CreateItem(olAppointmentItem) With olApt .Start = begin + TimeValue("8:00:00") '新建日历的开始时间 .End = .Start + TimeValue("00:30:00") '新建日历的结束时间 .Subject = "教学第" + Str(i) + "周" '新建日历的主题 .Location = "" '新建日历的地点 .Body = "" '新建日历的内容 .BusyStatus = olBusy .ReminderMinutesBeforeStart = 5 '新建日历提醒时间 .ReminderSet = True .Save End With begin = begin + 7 '每7天循环一次,也就是每周一次 Next Set olApt = Nothing Set olApp = NothingEnd Sub
outlook宏的开启方式是:文件-》选项-》自定义功能区-》 右侧开发工具勾选上即可