我为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
答案 0 :(得分:0)
VSTO提供了两种自定义功能区UI的主要方法:
基本上,您需要为按钮添加onAction属性,然后将相应的回调添加到代码中。
在MSDN中的以下系列文章中阅读有关Fluent UI(aka Ribbon UI)的更多信息:
要获取当前在检查器窗口中显示的Outlook项,可以使用Application类的ActiveInspector方法,或使用可以转换为Inspector类的IRibbonControl.Context属性。然后,您可以使用CurrentItem
属性来获取Outlook项目。