2

Visual Studio 2008(.Net 3.5)を使用してOutlook2010で使用するアドインを作成しています。2つの別々のリボンを定義しています。1つは添付ファイルのコンテキストメニューを作成するために使用され、もう1つはTabReadMessageにボタンを追加するために使用されます。

両方をロードする方法に困惑しています。ThisAddIn.vbに関数があり、実行したいことを実行できない可能性があります。両方のリボンをロードします。

Protected Overrides Function CreateRibbonExtensibilityObject() As _
        Microsoft.Office.Core.IRibbonExtensibility

    Return New RibbonAttachAttachmentToPO()
    Return New RibbonOutlook14ReadMail()
End Function

この問題の最善の解決策は何ですか?

4

1 に答える 1

4

TabReadMessage 用と Attachment コンテキスト メニュー用の 2 つの XML ファイルがあります。そして、必要なリボン クラスは 1 つだけです。CreateRibbonExtensibilityObject() はリボン クラスを読み込みます。

リボン クラスの GetCustomUI() 関数では、現在の Outlook の部分 (エクスプローラまたはインスペクタ) に基づいて、対応する XML ファイルを読み込みます。

これを行うことができます(VB.Net):

Public Function GetCustomUI(ByVal ribbonID As String) As String Implements Microsoft.Office.Core.IRibbonExtensibility.GetCustomUI
   Select Case ribbonID
      Case "Microsoft.Outlook.Mail.Read"  'For TabReadMessage
         Return GetResourceText("The.Read.Message.XML")
      Case "Microsoft.Outlook.Mail.Compose" 'For compose new email message
         Return GetResourceText(".....")
      Case ...
   End Select
End Function
于 2012-10-24T07:22:46.300 に答える