vba - 触发发送时获取 AppointmentItem 数据
问题描述
当我发送 Outlook 2016 约会时,我使用以下来触发 VBA 代码:
Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
如何显示特定于“AppointmentItem”类型的数据?
我期待一个消息框“你想在学校谈论计算机吗”,
但我收到一个运行时错误“438”。
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim prompt As String
prompt = "Do you want to talk about " & Item.Subject 'Works
prompt = prompt & " at " & Item.Location 'Error
If MsgBox(prompt, vbYesNo + vbQuestion, "Sample") = vbNo Then
Cancel = True
End If
End Sub
解决方案
如果您发送会议请求,则发送的项目本身是 anolMeetingRequest
而不是olAppoinmentItem
.
您可以通过GetAssociatedAppointment处理相应的约会项目
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim objAppointment As AppointmentItem
If Item.Class = olMeetingRequest Then
Set objAppointment = Item.GetAssociatedAppointment(False)
Debug.Print objAppointment.Subject
Debug.Print objAppointment.Location
End If
End Sub
推荐阅读
- c# - 在 Arfoundation 中销毁游戏对象不起作用
- python-2.7 - IndentationError:python 2.7 中的意外缩进
- php - 如何使用必需和可选参数制作 API | PHP
- python-3.x - 无法使用 pip3 安装 DjangoRestFramework?
- android - “未将 Web 服务 Android ksoap2 对象引用设置为对象实例时出错
- lua - 以下代码中的“*”是什么意思?
- javascript - 如何在 JS 中向网页发送控制台命令?
- bash - 在服务器上远程运行的 bash 脚本中使用 grep 时出现问题
- amazon-web-services - 自定义 AMI 创建的 EC2 实例中的 Windows 应用程序性能下降
- html - ngModel 不工作,FillTeachersChangesComponent.html:23 错误类型错误:无法读取未定义的属性“0”