自定义功能区错误的SetCustomUI:对象必需

时间:2018-04-12 20:25:00

标签: vba ms-access

我试图告诉MS Access在数据库打开时加载自定义功能区。在努力实现这一目标的过程中,我已经使用他们的通用XML,变量名等完全复制了我在网上找到的例子。无论我做什么,ActiveProject.SetCustomUI行都会抛出错误,“需要对象“,突出显示包含xml的字符串变量。

为什么要找对象?首先,文档显示这个参数应该是一个String,但我在网上找到的每个例子都是一样的。

因为我知道有人会要求它:

Public Function LoadRibbon()
Dim customUiXml As String

    customUiXml = "<mso:customUI xmlns:mso=""http://schemas.microsoft.com/office/2009/07/customui"">" & _
         "<mso:ribbon><mso:tabs><mso:tab id=""myTab"" label=""New Tab"" " & _
         "insertBeforeQ=""mso:TabView"">" & _
         "<mso:group id=""group1"" label=""New Group"">" & _
         "<mso:button id=""button1"" label=""Test Button"" size=""large"" " & _
         "imageMso=""GetExternalDataFromText"" />" & _
         "</mso:group></mso:tab></mso:tabs></mso:ribbon></mso:customUI>"

    ActiveProject.SetCustomUI (customUiXml) 'highlights "customUiXml" with the error

End Function

我从Form_Load事件中调用LoadRibbon()。

上面的代码几乎只是从在线示例中复制/粘贴,但仍然给了我与其他任何事情时相同的问题。我错过了什么?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

ActiveProject是MS Project VBA,而不是Access VBA。

您可以尝试使用Application.LoadCustomUI加载自定义UI元素:

Application.LoadCustomUI "MyUI", customUiXml