Outlook 中的 XML 功能区 - 使其显示在特定窗口上

2024-01-03

我第一次尝试使用 XML 在 Outlook 中创建功能区,但无法具体找到如何告诉我的加载项我只希望功能区显示在资源管理器窗口上。

Advice?

Thanks.

我的 Ribbon1.XML 文件:

    <?xml version="1.0" encoding="UTF-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="Ribbon_Load">
  <ribbon>
    <tabs>
      <tab idMso="TabAddIns">
        <group id="MyGroup"
               label="My Group">
          <button idMso="Delete"/>
        </group>
      </tab>
      <tab idMso="TabMail">
        <group idMso="GroupMoveActions"
               visible="false">
        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>

弹出的神奇错误框显示:

测试OLaddin2 中的 CustomUI 运行时错误

Error found in CustomUI XML of "testingOLaddin2"

Line: 3
Column: 10
Error Code 0x80004005
Failed to find Office control by ID
ID: TabMail

根据请求,我的功能区生成代码:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Text;
using Office = Microsoft.Office.Core;

using System.Diagnostics;

namespace testingOLaddin2
{
    [ComVisible(true)]
    public class Ribbon1 : Office.IRibbonExtensibility
    {
        private Office.IRibbonUI ribbon;

        public Ribbon1()
        {
        }

        #region IRibbonExtensibility Members

        public string GetCustomUI(string ribbonID)
        {
            return GetResourceText("testingOLaddin2.Ribbon1.xml");
        }

        #endregion

        #region Ribbon Callbacks
        //Create callback methods here. For more information about adding callback methods, select the Ribbon XML item in Solution Explorer and then press F1

        public void Ribbon_Load(Office.IRibbonUI ribbonUI)
        {
            this.ribbon = ribbonUI;
        }


        #endregion

        #region Helpers

        private static string GetResourceText(string resourceName)
        {
            Assembly asm = Assembly.GetExecutingAssembly();
            string[] resourceNames = asm.GetManifestResourceNames();
            for (int i = 0; i < resourceNames.Length; ++i)
            {
                if (string.Compare(resourceName, resourceNames[i], StringComparison.OrdinalIgnoreCase) == 0)
                {
                    using (StreamReader resourceReader = new StreamReader(asm.GetManifestResourceStream(resourceNames[i])))
                    {
                        if (resourceReader != null)
                        {
                            return resourceReader.ReadToEnd();
                        }
                    }
                }
            }
            return null;
        }

        #endregion
    }
}

这取决于您用于创建插件和功能区的方法。如果您正在使用

IRibbonExtensibility.GetCustomUI(string RibbonId)

方法,如果 RibbonId 参数具有值,您可以通过仅返回功能区 xml 来完成此操作

"Microsoft.Outlook.Explorer"

Edit

对代码进行以下更改可能会起作用:

public string GetCustomUI(string ribbonID)
{
  if (ribbonID == "Microsoft.Outlook.Explorer")
    return GetResourceText("testingOLaddin2.Ribbon1.xml");

  return null; // if problems here, try return string.Empty
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Outlook 中的 XML 功能区 - 使其显示在特定窗口上 的相关文章

  • 如何使用T4从一个模板同时生成两个文件?

    我遇到的情况是 我需要生成两个 CSharp 代码文件 它们的代码几乎相同 但方法的输入和输出类型的命名空间不同 事实上 每个文件都针对特定国家 地区 并且类型来自特定国家 地区的 WSDL 我正在围绕服务编写一些包装器 逻辑完全相同 但从
  • 从结构调用 C++ 成员函数指针

    我找到了有关调用 C 成员函数指针和调用结构中的指针的信息 但我需要调用结构内部存在的成员函数指针 但我无法获得正确的语法 我在类 MyClass 的方法中有以下代码片段 void MyClass run struct int MyClas
  • Windows Phone 7 - ScrollViewer 值已更改

    我一直在寻找解决方案 但无法找到正确的解决方案 我的网格宽度为 960 并且有ScrollViewer在里面 现在我想知道滚动时滚动的值 水平偏移 我找到的所有解决方案都是针对 wpf silverlight 的 它对我不起作用 Edit
  • 公交车公共交通算法

    我正在开发一个可以查找公交路线的离线 C 应用程序 我可以提取时间表 巴士 路线数据 我正在寻找适用于基本数据的最简单的解决方案 可以使用什么算法来查找从巴士站 A 到巴士站 B 的路线 是否有适用于 C Java 的开源解决方案 数据库的
  • 自己绘制的WPF自定义滑块

    这是我关于堆栈溢出的第一个问题 所以不要踢它 我在尝试创建 Mac 风格的滑块控件时遇到问题 我已经发现这个解决方案 http www codeproject com KB miscctrl MAC Slider aspx我已经在我的解决方
  • 重载算术运算符

    赋值运算符可以声明为 T 运算符 const t 在类中 但不能以这种方式定义算术运算符 它必须是友元函数 我不明白为什么 你能解释一下吗 算术运算符不必须是友元 那么你可以这样定义 MyClass MyClass operator con
  • X 轴和 Z 轴上的 Quaternion.Slerp,无 Y 轴

    I am trying to rotate the Player about X Y and Z axis The Y axis should not move from last angle Example if I rotate 45
  • 如何在 C++ 中正确使用 cin.fail()

    我正在编写一个程序 从用户那里获取整数输入cin gt gt iUserSel 如果用户输入一个字母 程序就会进入无限循环 我试图用下面的代码来阻止这种情况 但程序进入无限循环并打印出 错误 输入 我该如何修复我的程序 cin gt gt
  • 当我尝试传递临时地址作为参数时,它是一个 UB 吗?

    对于以下 C 代码 include
  • 使用任一默认捕获模式时,这是通过复制捕获还是 (*this) 通过引用捕获?是一样的吗?

    当我看到以下工作时我有点困惑 struct A void g void f g 但后来我发现this https stackoverflow com a 16323119 5825294答案非常详细地解释了它是如何工作的 本质上 它归结为t
  • 将 AutomationID 与 ListView 结合使用

    我正在尝试将 AutomationId 附加到列表视图中的项目 理想情况下 将项目名称绑定到显示的项目
  • 为什么这个位图图像在加载后会改变大小?

    快速提问 我有这个1000 1000位图图像 我使用这个例程来加载它 private BitmapSource initialBitmap new BitmapImage new Uri C Users Desktop Original b
  • 如何在VS2005中使用从.bat而不是.exe启动的外部程序进行调试?

    在我的 c 项目的调试属性中 我选择了 启动外部程序 并选择了我希望将调试器附加到的程序的 exe 但是 现在我需要从 bat 文件而不是 exe 启动程序 但 VS2005 似乎不允许这样做 这可能吗 编辑 为了澄清 我需要调试从 bat
  • MPI - 发送和接收列

    我需要从一个进程发送矩阵列并从另一个进程接收它 我尝试运行以下程序 但得到了一个奇怪的结果 至少我这么认为 仅复制矩阵的第一个元素 某些矩阵元素会发生意外变化 include
  • 从单应性估计 R/T

    我一直在尝试计算 2 个图像中的特征 然后将这些特征传递回CameraParams R没有运气 特征已成功计算并匹配 但是问题是将它们传递回R t 我明白你必须分解Homography为了使这一点成为可能 我已经使用如下方法完成了 http
  • 具有多个父项的 Qt 树模型

    我想构建一棵树 其中一个元素可以引用另一个元素 我想要构建的树是 像这样的东西 A B C D E F P this is a pointer to C D first child of C E second child of C I fo
  • 禁止显示“资源名称不是有效标识符”

    我有一个包含 5000 多个资源字符串的项目 几乎所有的标识符中都有句点 我们正在切换到自动生成强类型类 当然 由于周期的原因 我们看到了几千条警告 资源名称 blah 不是有效的标识符 我知道不是 生成器将句点更改为下划线 一切都很好 我
  • g++ / gcc 是否支持 C++20 新的atomic_flag 功能?

    根据参考参数 https en cppreference com w cpp atomic atomic flag c 20 有丰富的 对我来说有用的 支持atomic flag运营 然而 目前尚不清楚 gcc 是否支持这些功能 它们在任何
  • 为什么我可以在另一个函数中定义一个函数?

    请参阅下面的代码 我在另一个函数中定义了一个函数 void test1 void void test2 void printf test2 n printf test1 n int main void test1 return 0 这个用法
  • 跟踪白色背景中的白球(Python/OpenCV)

    我在 Python 3 中使用 OpenCV 来检测白场上的白 黑球 并给出它的精确 x y 半径 和颜色 我使用函数 cv2 Canny 和 cv2 findContours 来找到它 但问题是 cv2 Canny 并不总是检测到圆的完整

随机推荐

  • 如何为 jQuery UI 进度条的值设置动画?

    我已经设置了 jQuery UI 进度条 但无法使用 jQuery animate 来为其值设置动画 关于如何实现这项工作有什么想法吗 The percentDone变量保存一个从 0 到 100 的数字 显示滚动条应该有多远 这很好用 我
  • 整数舍入例程

    教程中的整数算术让我感到困惑 准确地说 是整数除法 看似首选的方法是将除数转换为浮点数 然后将浮点数四舍五入到最接近的整数 然后将其转换回整数 include
  • 使用java实现RSA

    我正在java中实现RSA 我遇到了下面给出的代码 它在解密明文后以数字形式显示明文 但我希望它是我输入的简单英语 我不想使用java api 测试Rsa Java import java io IOException import jav
  • 奇怪的挥杆重量级和轻量级混合问题

    由于我们已将 java 版本从 6u5 升级到 6u18 该应用程序在 WinXP 上运行 因此基于 swing 的应用程序出现了问题 我们的应用程序包含一个驻留在 JFrame 中的 Canvas 对象 该应用程序在画布上绘制内容 每次我
  • R 中的离散全局网格

    我有一个数据集 由与某些 Z 值相关的纬度 经度对组成 例如有关植物植被覆盖程度的数据 我想对这些数据的空间分布进行一些分析 为此 需要对邻近数据点进行分类 我想使用离散全局网格 例如二十面体斯奈德等面积 ISEA 网格或由DGGRID h
  • 如何捕获 KILL 或 HUP 或用户中止信号?

    我有一个在我的 Linux 服务器后台运行的脚本 我想捕获诸如重新启动之类的信号或任何会杀死该脚本的信号 并在实际退出之前保存任何重要信息 我认为我需要捕获的大部分内容是SIGINT SIGTERM SIGHUP SIGKILL 如何捕获这
  • USB 24 位音频流描述符

    我正在制作 USB 耳机的演示 并且对 USB 的音频端点描述符有疑问 我有一个工作的 8 48kHz 16 位音频流 我可以在音频设备的 Windows 属性中选择任何采样频率 我使用以下描述符 Code Interface 2 Spea
  • 插入新值的最佳方式

    我想使用 pandas 数据框来跟踪我将在交易日实时下载的一些市场数据 假设我想记录 AAPL 和 GOOG 的价格 我首先创建一个数据框 prices DataFrame columns AAPL GOOG 假设第一个数据点出现在时间 t
  • EF - WithOptional - 左外连接?

    使用以下一对一模型 均具有导航属性 public class Foo public int Id get set public virtual Bar Bar get set public class Bar public int Id g
  • 升级到 kafka-streams:5.5.0-css (Apache Kafka 2.5.0) 后获取 GlobalKTable 的存储崩溃 [已解决]

    我有一个使用 GlobalKTable 的 Spring Boot 应用程序 它工作正常 直到从 5 3 2 css 更新到 kafka streams 5 5 0 css 与 Apache Kafka 2 5 0 兼容的 Confluen
  • Android 形状中的形状

    我想要一个shape具有两种颜色边框轮廓的元素 我可以使用单色轮廓solid元素 但这只允许我画一条线 我尝试使用两个stroke我的形状中的元素 但这也不起作用 有没有办法在形状中绘制形状或在我的形状周围绘制两条线 顺便说一句 它有圆角
  • Dart2Js 中按位运算,结果错误

    我正在做ZigZag https developers google com protocol buffers docs encoding hl de varints使用 Dart 对 32 位整数进行编码 这是我正在使用的源代码 int
  • 如何更改颤动中的复选框边框颜色?默认情况下,它显示黑色,但我想要灰色

    如何更改颤动中的复选框边框颜色 默认情况下 它显示为黑色 但我希望它显示为灰色 用这个 Checkbox shape RoundedRectangleBorder borderRadius BorderRadius circular 2 0
  • 使用 IQueryable 创建动态查询

    我正在尝试迭代字符串数组并动态创建一个IQueryable询问 它非常简单 但这就是我被困的地方 var query context QuestionsMetaDatas AsQueryable var keywords new List
  • 有界上下文的大小

    我已经开始学习 DDD 的原理 目前正在尝试掌握有界上下文的概念 特别是 您如何决定它必须有多大 或多小 是的 我知道 尽可能小 必要时尽可能大 根据沃恩 弗农的说法 假设我要为博客建模 然后我可以说涉及 3 个有界上下文 1 首页 包含最
  • STTS 标签集的英文翻译

    德语最常见的词性标记集是STTS 标签集 http www ims uni stuttgart de projekte corplex TagSets stts table html 我需要每个标签的解释的英文翻译 作为一名语言学家 我对自
  • SignalR - 从上下文调用静态类型集线器

    我试图弄清楚如何从服务器调用强类型集线器上的方法 我正在使用 Net Core 2 0 我有一个强类型集线器接口 public interface IMessageHub Task Create Message message 和一个看起来
  • Docker compose spring boot redis 连接问题

    我正在运行一个简单的休息应用程序redis在 docker 容器 docker compose 中运行 我相信 redis必须可以使用 Spring Boot 访问http redis 6379 但是 它会抛出错误 018 07 22 21
  • 哪个 Web 应用程序框架与 Neo4J 高度集成?

    我今天一直在研究 Neo4j 我发现它令人兴奋 不知道是否有与Neo4J高度集成的Web应用框架 基本上我想开始尝试 Neo4J 我想也许有明显的 Web 框架选择 如果有的话 我也想尝试一下 你知道任何 编辑 我全部收回 Neo4j 网站
  • Outlook 中的 XML 功能区 - 使其显示在特定窗口上

    我第一次尝试使用 XML 在 Outlook 中创建功能区 但无法具体找到如何告诉我的加载项我只希望功能区显示在资源管理器窗口上 Advice Thanks 我的 Ribbon1 XML 文件