我试图告诉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()。
上面的代码几乎只是从在线示例中复制/粘贴,但仍然给了我与其他任何事情时相同的问题。我错过了什么?
提前感谢您的帮助。
答案 0 :(得分:0)
ActiveProject
是MS Project VBA,而不是Access VBA。
您可以尝试使用Application.LoadCustomUI
加载自定义UI元素:
Application.LoadCustomUI "MyUI", customUiXml