MS Project VBA:使用自定义功能区按钮时出现自动化错误

问题描述 投票:0回答:1

我试图让一个简单的自定义功能区按钮在 MS Project 中工作,每当我实际单击该按钮时,似乎都会收到“自动化错误:发生异常”。我的错误消息上没有任何“调试”选项,这让我相信这是内部原因导致的问题。

我遵循了在线教程,一切看起来都很简单,但我似乎无法弄清楚为什么它对我不起作用。

首次打开项目时添加功能区按钮(这可以正常工作)

Private Sub Project_Open(ByVal pj As MSProject.Project)
On Error GoTo Open_Error
    AddTestRibbon
Exit Sub
Open_Error:
    MsgBox Err.Description
End Sub

这是添加的子项实际上添加了功能区

Private Sub AddTestRibbon()
    Dim customUiXml As String
 
    customUiXml = "<mso:customUI xmlns:mso=""http://schemas.microsoft.com/office/2009/07/customui"">" _
        & "<mso:ribbon><mso:tabs><mso:tab id=""rtpTab"" label=""RTP"" " _
        & "insertBeforeQ=""mso:TabView"">" _
        & "<mso:group id=""group1"" label=""Tools"">" _
        & "<mso:button id=""viewTasksBtn"" label=""View Synchronized Tasks"" size=""large"" " _
        & "imageMso=""GetExternalDataFromText"" onAction=""Macro10"" />" _
        & "</mso:group></mso:tab></mso:tabs></mso:ribbon></mso:customUI>"
 
    ActiveProject.SetCustomUI (customUiXml)
End Sub

这是“OnAction”子项。据我所知,我们实际上并没有到达这里,因为该错误是内部自动化错误

Sub Macro10(control As IRibbonControl)

    Debug.Print "Clicked"

End Sub

这是显示的错误消息(VBA 没有捕获此错误消息,我将其设置为在所有错误上中断,并且它在任何时候都不会中断) Error Message

提前感谢您的帮助,我是一名程序员(主要是 c++),但 VBA/office 绝对不是我的强项,而且我很可能在做一些愚蠢的事情

我尝试遵循其他教程/阅读文档,但不幸的是它们都导致相同的结果。

vba ms-office ms-project
1个回答
0
投票

在做了一些修补并从评论中指出了一些好的方向之后,我发现从我的“onAction”过程中删除“control As IRibbonControl”参数解决了我的问题,并且该按钮现在可以按预期工作。

Macro10 的最终代码现在是:

Sub Macro10(control As IRibbonControl)

    Debug.Print "Clicked"

End Sub
© www.soinside.com 2019 - 2024. All rights reserved.