1

我有一个使用 VS 2010 开发的 Excel 2010 VSTO 插件。它是一个基于 RibbonUI 的插件,它向 Excel 功能区添加了一个新选项卡。现在我遇到了需要为运行 Excel 2007 的 PC 部署此插件的情况。

在属性 - > 发布 - > 先决条件下我有:

  • Microsoft .NET Framework 4 客户端配置文件(x84 和 x64)
  • Microsoft Office 2007 主要互操作程序集
  • 适用于 Office 运行时的 Microsoft Visual Studio 2010 工具(x84 和 x64)
  • 视窗安装程序 3.1

通过首先安装此处找到的 VSTO 2010 运行时,我设法使用 VS 2010 的内置发布功能安装了插件。然后该插件在“Excel 选项 -> 插件”下列为“活动”插件,但功能区选项卡未在 Excel 2007 中加载。我已启用 VSTO 日志记录和警报,如此处所述,但那里也没有报告异常。

这可能是一个愚蠢的问题,但有没有办法让 Office 2010 插件在 Office 2007 中工作?(我在 SO 上找到了这个问题,但这不是我想要做的)

4

3 回答 3

1

我知道这是在 2013 年年中提出的,但我刚刚开始创建 Office 2007 和 2010 加载项,并且遇到了同样的问题。

在 Visual Studio 中,打开项目中的ribbon.xml 文件。

更改以下行

<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="Ribbon_Load">

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="Ribbon_Load">

注意从2009/07到的变化2006/01。与 Office 2010 相比,Office 2007 使用较旧的 XML 命名空间架构。

保存文件并重建您的项目。假设您的 XML 功能区文件是正确的,功能区加载项应该出现在目标应用程序中。下面是 Office 2007 和 Office 2010 的功能区 XML 文件的示例:

<?xml version="1.0" encoding="UTF-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="Ribbon_Load">
  <ribbon>
    <tabs>
      <tab idMso="TabAddIns">
        <group id="GroupID" label="Example Group">
          <button id="button1" visible="true" size="large"
            label="Button 1" keytip="W"
            screentip="I display more information."
            onAction="The name of your method/function." imageMso="HyperlinkInsert"/>
        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>
于 2014-01-02T02:13:00.157 回答
0

确保目标机器具有以下注册表值

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Common\General\

Name = EnableLocalMachineVSTO
Value (DWORD) = 1

https://support.microsoft.com/en-us/kb/976811

于 2016-02-04T10:36:32.353 回答
0

我已通过将注册表项添加到 HKEY_CURRENT_USER 来解决此问题。请检查以下屏幕截图。

在此处输入图像描述

于 2017-10-19T08:47:19.353 回答