使用VS2010在.NET中进行Outlook 2007功能区自定义; insertBeforeMso动态函数

时间:2012-09-17 22:26:17

标签: xml vsto ribbon outlook-addin vb.net-2010

有人可以帮我获取打开的Outlook项目窗口的第一个标签idMso值吗?我需要在功能区xml文件中动态设置它,因为我发现将每个项目窗口添加到xml代码中是多余的。如果有人有现成的分享解决方案,那就太好了。

由于

1 个答案:

答案 0 :(得分:2)

解决了它:)

只需在运行时编辑GetCustomUI中的返回字符串,但首先捕获资源管理器项

Public Function GetCustomUI(ByVal ribbonID As String) As String Implements Office.IRibbonExtensibility.GetCustomUI
    Dim strResText As String = ""
    Dim strGetRes As String = ""

    Select Case ribbonID


        Case "Microsoft.Outlook.Appointment"

            strGetRes = GetResourceText("OutlookAddIn.Ribbon1.xml")
            strResText = strGetRes.Replace("TabNewMailMessage", "TabAppointment") 'default value of it is TabNewMailMessage

        Case Else

            strResText = GetResourceText("OutlookAddIn.Ribbon1.xml")

    End Select
    Return strResText
End Function

原始XML字符串:

<tab id="customTab" label="myCustomTab" insertBeforeMso="TabNewMailMessage" visible="true">

约会项目窗口上的新XML字符串:

<tab id="customTab" label="myCustomTab" insertBeforeMso="TabAppointment" visible="true">