我有一个Outlook 2007加载项项目,我正在尝试添加一个PropertyPage。我已经实现了OptionsPage
类(实现PropertyPage
),该类在Application.OptionsPagesAdd
事件期间添加。
Public Class OptionsPage
Implements Microsoft.Office.Interop.Outlook.PropertyPage
Private Sub Me_Load(sender As Object, e As System.EventArgs) Handles Me.Load
System.Windows.Forms.MessageBox.Show("Test Options Loaded")
End Sub
Public Sub Apply() Implements Microsoft.Office.Interop.Outlook.PropertyPage.Apply
' todo
End Sub
Public ReadOnly Property Dirty As Boolean Implements Microsoft.Office.Interop.Outlook.PropertyPage.Dirty
Get
' todo
Return False
End Get
End Property
Public Sub GetPageInfo(ByRef HelpFile As String, ByRef HelpContext As Integer) Implements Microsoft.Office.Interop.Outlook.PropertyPage.GetPageInfo
' todo
End Sub
End Class
Public Class ThisAddIn
Private Sub Application_OptionsPagesAdd(pages As Microsoft.Office.Interop.Outlook.PropertyPages) Handles Application.OptionsPagesAdd
pages.Add(New OptionsPage(), "Test Options")
End Sub
End Class
有人可以建议为什么我不能让OptionsPage
显示在Outlook的选项中,即使我没有收到任何错误或运行时异常?
答案 0 :(得分:1)
事实证明,您需要确保您的类(实现PropertyPage
)的ComVisible
属性为True
,以便它显示在Outlook中 - 找到{{3} }
<System.Runtime.InteropServices.ComVisible(True)>
Public Class OptionsPage
Implements Microsoft.Office.Interop.Outlook.PropertyPage
End Class
答案 1 :(得分:0)
您需要创建一个实现PropertyPage接口的用户控件。有关详细信息,请参阅How to implement OL PropertyPage with c#。
注意,如果您不了解C#,可以使用automatic language converters获取VB.NET代码。