如何通过Excel VBA创建并发送Skype会议邀请?
实现Excel宏发送Skype会议邀请的可行方法
当然有办法实现!你目前的代码只是创建了普通的Outlook会议,要转为Skype会议邀请,只需要利用Outlook对象模型里的在线会议配置属性就行。下面是修改后的完整代码和关键说明:
修改后的VBA代码
Dim olApp As Outlook.Application Dim ol_Meeting As Outlook.AppointmentItem Set olApp = New Outlook.Application Set ol_Meeting = olApp.CreateItem(olAppointmentItem) With ol_Meeting ' 标记为会议邀请 .MeetingStatus = olMeeting ' 核心:配置Skype在线会议 .OnlineMeetingSettings.MeetingProvider = olProviderSkypeForBusiness .OnlineMeetingSettings.AutoStart = True ' 可选:打开会议窗口时自动启动Skype会议 .OnlineMeetingSettings.ForceUpgrade = True ' 强制将普通会议升级为Skype会议 ' 补充会议基本信息(根据你的需求修改) .Subject = "项目同步Skype会议" .Start = Now + TimeValue("02:00:00") ' 2小时后开始会议 .Duration = 90 ' 会议时长90分钟 .Location = "Skype在线会议" ' 添加参会人(可多次调用Add添加多个) .Recipients.Add("team.member@company.com") ' 附加当前工作簿(保留你原有的逻辑) .Attachments.Add ThisWorkbook.Path & "\" & ThisWorkbook.Name ' 显示会议窗口供你确认/修改,若要直接发送请改为 .Send .Display End With ' 释放对象 Set ol_Meeting = Nothing Set olApp = Nothing
关键细节说明
- 会议提供商枚举:
olProviderSkypeForBusiness对应的值是3,如果你用的是个人版Skype而非企业版Skype for Business,可能需要调整,但企业环境下这个枚举值是通用的。如果你的Office版本已经默认用Teams替代Skype,可改用olProviderTeams(值为4)。 - 权限与配置:确保你的Outlook和Skype客户端已经正确关联,且你拥有创建在线会议的权限。
- 引用库:在VBA编辑器中,记得通过「工具」→「引用」勾选
Microsoft Outlook xx.x Object Library,否则代码会报错。 - 直接发送:如果不需要手动确认会议信息,把
.Display替换为.Send即可自动发送邀请给所有参会人。
内容的提问来源于stack exchange,提问作者prerna arora
相关产品推荐
相关产品推荐

