【问题标题】:Creating an Outlook Addin with Visual Studio 2013 (Using ItemSend)使用 Visual Studio 2013 创建 Outlook 插件(使用 ItemSend)
【发布时间】:2016-01-16 00:11:19
【问题描述】:

我想要一个简单的 Outlook 插件,在用户发送电子邮件之前询问用户。实际上我的代码可以编译,但它不起作用。你有什么想法吗?

谢谢

Public Class ThisAddIn
Public WithEvents myOlApp As Outlook.Application
Event ItemSend As AssemblyLoadEventHandler

Public Sub Initialize_handler()
    myOlApp = Me.Application
End Sub

Private Sub ThisAddIn_Startup(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Startup
    Initialize_handler()
End Sub

Private Sub ThisAddIn_Shutdown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shutdown

End Sub

Private Sub myOlApp_ItemSend(ByVal Item As Object, ByRef Cancel As Boolean)
    Dim prompt As String
    prompt = "Are you sure you want to send " & Item.Subject & "?"
    If MsgBox(prompt, vbYesNo + vbQuestion, "Sample") = vbNo Then
        Cancel = True
    End If
End Sub

结束类

【问题讨论】:

  • 你的代码被执行了吗?你可以设置一个断点并让 VS 停止在那里的功能吗?
  • 没有 myOlApp_ItemSend 不执行。最后一个断点是:“myOlApp = Me.Application”

标签: visual-studio visual-studio-2013 outlook outlook-addin


【解决方案1】:

您的 myOlApp_ItemSend 声明必须包含“Handles”:

Private Sub myOlApp_ItemSend(ByVal Item As Object, ByRef Cancel As Boolean) Handles myOlApp.ItemSend

【讨论】:

  • 很确定我有同样的问题,但它说签名(Public SubPrivate Event 没有兼容的签名,这似乎很明显,但我不确定我需要在哪里改变事物(?)
  • 啊 - 没关系,我认为我只是在 Cancel 上有一个 byval 而不是一个 byref...啊,继承代码...
猜你喜欢
  • 2013-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-06
  • 2023-04-03
  • 1970-01-01
  • 1970-01-01
  • 2014-08-15
相关资源
最近更新 更多