Excel VBA宏:创建Outlook日历事件 [英] Excel VBA Macro: Create an Outlook calendar event
本文介绍了Excel VBA宏:创建Outlook日历事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
解决方案
允许您在任何文件夹中将约会添加到共享日历,只要您有权写入。
将日历视为文件夹
Const olFolderInbox = 6
Const olAppointmentItem = 1'1 =约会
设置objOutlook = CreateObject(Outlook .Application)
设置objNamespace = objOutlook.GetNamespace(MAPI)
'查找您的收件箱
设置objInbox = objNamespace.GetDefaultFolder(olFolderInbox)
'获取您的收件箱的父级给予用户电子邮件
strFolderName = objInbox.Parent
设置objCalendar = objNamespace.Folders(公用文件夹 - & strFolderName).Folders(SubFolder1)。文件夹(子文件夹1)。文件夹(您的日历)
设置objapt = objCalendar.Items.Add(olAppointmentItem)
objapt.Subject = 测试'所有者
objapt.Start = Date + TimeValue(08:00:00)
objapt.Duration = 60 * 8'持续时间(以分钟为单位)或结束(我不确定所以尝试两者)
objapt.End = Date + TimeValue(16:00:00)
objapt.Save
Can you run a macro from Excel that can interact with Outlook and create and event on the calendar?
解决方案
This will allow you to add an appointment to a shared Calendar in any folder as long as you have the rights to write in it.
Treat Calendar as a Folder
Const olFolderInbox = 6
Const olAppointmentItem = 1 '1 = Appointment
Set objOutlook = CreateObject("Outlook.Application")
Set objNamespace = objOutlook.GetNamespace("MAPI")
'Finds your Inbox
Set objInbox = objNamespace.GetDefaultFolder(olFolderInbox)
'Gets the parent of your Inbox which gives the Users email
strFolderName = objInbox.Parent
Set objCalendar = objNamespace.Folders("Public folders - " & strFolderName).Folders("SubFolder1").Folders("subfolder of subfolder 1").Folders("Your Calendar")
Set objapt = objCalendar.Items.Add(olAppointmentItem)
objapt.Subject = "Test" 'Owner
objapt.Start = Date + TimeValue("08:00:00")
objapt.Duration = 60 * 8 'Duration(in minutes) OR End(I'm not sure so try both)
objapt.End= Date + TimeValue("16:00:00")
objapt.Save
这篇关于Excel VBA宏:创建Outlook日历事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文