我正在尝试使用Ribbon XML在Outlook 2010和2007上创建自定义功能区,我有一个功能区的XML文件,它适用于Outlook 2010,功能区显示并正在工作。但它不适用于Outlook 2007.由于Outlook 2007没有功能区,因此在GetCustomUI()函数中我使用Application.Version检查Outlook版本,如果版本是> = 14那么它将加载XML文件,如果是< 14然后我调用了一个子程序来使用commandbarcontrol创建菜单栏,但这不起作用。在Outlook 2007启动期间未加载加载项。
Protected Overrides Function CreateRibbonExtensibilityObject() As Microsoft.Office.Core.IRibbonExtensibility
Return New MyRibbon
End Function
Public Function GetCustomUI(ByVal ribbonID As String) As String Implements Microsoft.Office.Core.IRibbonExtensibility.GetCustomUI
If iOfficeVersion >= 14 Then
Return GetResourceText("MyRibbon.xml")
ElseIf iOfficeVersion < 14 Then
'Load commandbar UI
End If
End Function
如何使用功能区XML功能同时支持Outlook 2010和2007?
答案 0 :(得分:1)
我发现了问题。问题是Office.dll(C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ Visual Studio Tools for Office \ PIA \ Office14 \ Office.dll)将“嵌入互操作类型”属性设置为False。该文件在用户PC中不可用。