【问题标题】:How to create a custom ribbon tab in MS Project 2016?如何在 MS Project 2016 中创建自定义功能区选项卡?
【发布时间】:2017-07-21 15:05:23
【问题描述】:

我有两个在 MS Project 2013 中创建自定义选项卡的 VBA 宏。这三个宏是:

Private Sub Project_Open(ByVal pj As Project)
     AddEVMRibbon
End Sub

Private Sub removeEVMRibbon()
    ribbonXml = "<mso:customUI  xmlns:mso=""http://schemas.microsoft.com/office/2009/07/customui"">" & "<mso:ribbon></mso:ribbon></mso:customUI>"
    ActiveProject.SetCustomUI (ribbonXml)
End Sub

Private Sub AddEVMRibbon()
Dim ribbonXml As String

    ribbonXml = "<mso:customUI xmlns:mso=""http://schemas.microsoft.com/office/2009/07/customui"">"
    ribbonXml = ribbonXml + "  <mso:ribbon>"
    ribbonXml = ribbonXml + "    <mso:qat/>"
    ribbonXml = ribbonXml + "    <mso:tabs>"
    ribbonXml = ribbonXml + "      <mso:tab id=""macroTab"" label=""EVM"" insertAfterQ=""mso:TabFormat"">"
    ribbonXml = ribbonXml + "        <mso:group id=""testGroup"" label=""Test"" autoScale=""true"">"
    ribbonXml = ribbonXml + "          <mso:button id=""export_to_excel"" label=""Set EVM Calc Method"" "
    ribbonXml = ribbonXml + "imageMso=""DiagramTargetInsertClassic"" onAction=""Set_EVM_Method""/>"
    ribbonXml = ribbonXml + "          <mso:button id=""get_evm_method"" label=""EVM to Excel"" "
    ribbonXml = ribbonXml + "imageMso=""DiagramTargetInsertClassic"" onAction=""evm_to_excel""/>"
    ribbonXml = ribbonXml + "        </mso:group>"
    ribbonXml = ribbonXml + "      </mso:tab>"
    ribbonXml = ribbonXml + "    </mso:tabs>"
    ribbonXml = ribbonXml + "  </mso:ribbon>"
    ribbonXml = ribbonXml + "</mso:customUI>"

    ActiveProject.SetCustomUI (ribbonXml)

End Sub

这些在 MS Project 2013 中正常工作,但今天我有机会使用 MS Project 2016 运行它们,但它们失败了,相当壮观。

在 Project 2013 和 2016 中,EVM 选项卡都正确显示,并且在单击该自定义选项卡时会显示“设置 EVM 方法”和“EVM 到 Excel”这两个选项。

在 Project 2013 中,单击选项会执行与 XML 中的选项关联的 VBA 宏。在 Project 2016 中,只需将鼠标悬停在两个选项中的任何一个上都会导致 Project 立即失败,给我“Microsoft Project 已停止工作”然后“Microsoft Project 正在重新启动”消息。

我从来没有机会点击该选项,因为当光标碰到该选项时它会立即失败。

Project 2013 和 2016 之间是否发生了一些变化,导致此自定义功能区栏选项卡在 2016 年失败?我还没有找到任何提到这种变化的东西。

Project 2016 中的自定义选项卡及其选项的编码是否需要与 2013 不同?我们将不胜感激。

【问题讨论】:

  • 我的问题仍然没有答案,但今天我在另一台运行 MS Project 2016 的计算机上运行了这些宏,它们运行良好 - 没有致命错误。我知道今天的电脑今天安装了 Project 2016,所以我想知道这是不是更新版本,并且问题出现在 Project 2016 的早期版本上。我会尝试让客户端将 Project 2016 更新到最新版本,看看是否更正了上述崩溃问题。

标签: vba ms-project


【解决方案1】:

更新项目为我解决了这个问题。 下面的链接指向当前的 Project 2016 更新。更新中究竟是什么修复了这个问题是未知的。 https://support.microsoft.com/en-us/help/4020152/may-9-2017-update-for-microsoft-office

【讨论】:

  • 您好,欢迎来到 StackOverflow。请编辑您的答案,展开以提供解决方案 - 因为仅链接的答案,如果链接在未来失效,则没有任何好处。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-22
  • 2018-12-01
  • 2010-10-11
  • 1970-01-01
相关资源
最近更新 更多