使用自定义按钮将主题添加到新电子邮件中

时间:2015-09-23 16:58:06

标签: outlook vsto outlook-addin outlook-2010

我为Outlook 2010编写了一个加载项,用于将文本插入新的电子邮件主题和电子邮件正文。工作代码如下所示。

稍后,我在内置的新电子邮件标签功能区中添加了一个自定义组,并使用默认名称Button1添加了一个按钮。当我运行加载项时,按钮显示正常。

我想点击此按钮并更改主题和正文内容。我尝试添加一个私有子Button1_Click,代码将主题更改为“主题示例”,主体更改为“正文示例”,但无法使其正常工作。你可以在功能区代码中添加Button1_Click子代码吗?请参阅下面的Addin代码和ribbon1代码。

Public Class ThisAddIn

Private WithEvents inspectors As Outlook.Inspectors

Private Sub ThisAddIn_Startup(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Startup
    inspectors = Me.Application.Inspectors
End Sub

Private Sub ThisAddIn_Shutdown() Handles Me.Shutdown

End Sub

Private Sub inspectors_NewInspector(ByVal Inspector As Microsoft.Office.Interop.Outlook.Inspector) Handles inspectors.NewInspector
    Dim mailItem As Outlook.MailItem = TryCast(Inspector.CurrentItem, Outlook.MailItem)
    If Not (mailItem Is Nothing) Then
        If mailItem.EntryID Is Nothing Then
            mailItem.Subject = "This text was added by using code"
            mailItem.Body = "This text was added by using code"
        End If
    End If
End Sub

End Class

Ribbon1代码没有Private Sub Button1.Click。请告诉我如何编写此代码。

Public Class Ribbon1

Private Sub Ribbon1_Load(ByVal sender As System.Object, ByVal e As RibbonUIEventArgs) Handles MyBase.Load

End Sub

End Class

1 个答案:

答案 0 :(得分:0)

VSTO提供了两种自定义功能区UI的主要方法:

基本上,您需要为按钮添加onAction属性,然后将相应的回调添加到代码中。

在MSDN中的以下系列文章中阅读有关Fluent UI(aka Ribbon UI)的更多信息:

要获取当前在检查器窗口中显示的Outlook项,可以使用Application类的ActiveInspector方法,或使用可以转换为Inspector类的IRibbonControl.Context属性。然后,您可以使用CurrentItem属性来获取Outlook项目。