Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在outlook的“报告”选项卡中添加自定义功能区按钮_C#_Outlook_Vsto_Outlook Addin - Fatal编程技术网

C# 如何在outlook的“报告”选项卡中添加自定义功能区按钮

C# 如何在outlook的“报告”选项卡中添加自定义功能区按钮,c#,outlook,vsto,outlook-addin,C#,Outlook,Vsto,Outlook Addin,我想在Outlook的“报告”选项卡中添加自定义功能区按钮。我可以在Outlook的“主页”选项卡中添加功能区按钮。在这里,我已将图像附加到要添加自定义功能区按钮的位置 谢谢屏幕截图上显示的内置选项卡的idMso是TabReadMessage。您只需要在GetCustomUI回调中返回适当的功能区XML标记 Microsoft Office应用程序调用该方法以获取定义自定义功能区用户界面的XML字符串 public class Connect : Object, Extensibility.I

我想在Outlook的“报告”选项卡中添加自定义功能区按钮。我可以在Outlook的“主页”选项卡中添加功能区按钮。在这里,我已将图像附加到要添加自定义功能区按钮的位置

谢谢

屏幕截图上显示的内置选项卡的idMso是
TabReadMessage
。您只需要在
GetCustomUI
回调中返回适当的功能区XML标记

Microsoft Office应用程序调用该方法以获取定义自定义功能区用户界面的XML字符串

public class Connect : Object, Extensibility.IDTExtensibility2, IRibbonExtensibility 
... 

public string GetCustomUI(string RibbonID) 
{ 

   StreamReader customUIReader = new System.IO.StreamReader("C:\\RibbonXSampleCS\\customUI.xml"); 

   string customUIData = customUIReader.ReadToEnd(); 

   return customUIData; 
 }
注意,有时需要返回作为参数传递的不同
ribbonID
值的XML标记。在这种情况下,您将调用
onLoad
回调(也适用于检查器)

有关更多信息,请参阅

在MSDN的以下系列文章中,您可以阅读有关Fluent UI(也称为Ribbon UI)的更多信息:


请记住,默认情况下,如果VSTO加载项尝试操作Microsoft Office用户界面(UI)失败,则不会显示任何错误消息。但是,您可以将Microsoft Office应用程序配置为显示与UI相关的错误消息。您可以使用这些消息帮助确定自定义功能区不显示的原因,或功能区显示但不显示控件的原因。有关更多信息,请参阅

功能区XML代码在这里

<ribbon>
    <tabs>
      <tab idMso="TabReadMessage">
        <group id="grpMessageRibbon" Label="My Group">
          <button id="btnTest" Label="My Button" size="large" />
        </group>
      </tab>
    </tabs>    
  </ribbon>
谢谢

<ribbon>
    <tabs>
      <tab idMso="TabReadMessage">
        <group id="grpMessageRibbon" Label="My Group">
          <button id="btnTest" Label="My Button" size="large" />
        </group>
      </tab>
    </tabs>    
  </ribbon>
  public string GetCustomUI(string ribbonID)
        {
            string ribbonXML = String.Empty;

            if (ribbonID == "Microsoft.Outlook.Report")
            {
                ribbonXML = GetResourceText("MicrosoftOutlookReport.xml");
            }

            return ribbonXML;
        }