我已修改联合国保护Excel VBA项目的代码,以便通过以下链接使用Microsoft Project。
Unprotect VBProject from VB code
但是在MS Project中总是有一个Global.mpt(我的代码从这里运行)以及下面的行执行时
projAp.VBE.CommandBars(1).FindControl(ID:=2578, recursive:=True).Execute
它始终打开Global.mpt文件的VBA项目属性。
如何选择我的项目计划的VBA项目属性? 是否有Windows API函数可以让我选择屏幕主机中显示的第二个VBA项目。选择proejct后启动FindControl命令应启动相应的VBA项目属性(手动尝试此操作)。
答案 0 :(得分:1)
诀窍是切换到“项目”窗格,然后键入"键入"项目名称的第一个字母;我建议你尽可能从默认的VBAProject中更改它。
SendKeys "%{F11}"
SendKeys "^r"
SendKeys "V"
DoEvents
VBE.CommandBars(1).FindControl(ID:=2578, recursive:=True).Execute
答案 1 :(得分:0)
projAp.VBE.CommandBars(1)。
您的代码始终使用应用程序对象,因此始终查看Global.mpt文件。尝试:
ActiveProject.VBProject.VBE.CommandBars(1)
它应该只返回项目的项目。