Word.Application
对象公开了.Activate
方法。
另一方面,Excel.Application
对象只暴露.ActivateMicrosoftApp
方法,该方法执行一个显着不同的功能,以激活这个特定的应用程序对象"。
为什么没有Excel.Application.Activate
方法?
答案 0 :(得分:8)
无聊的回答:因为Word.Application
和Excel.Application
是完全不同的类型,具有完全不同的实现。
Outlook.Application
也不会公开Activate
成员。哎呀,它甚至没有公开Run
方法。
我甚至不确定这些Application
类共享的不仅仅是类型名称。 是需要实现的基本“契约”(例如,VBE主机的顶级对象必须有Name
),但Activate
和{{1}之类的东西不在那份合同上。据我所知,“合同”更多地与管道接口有关,而不是VBA可见的接口(例如,你要为所有组件公开Run
,并实现IStream
所以VBE知道在哪里以及如何坚持代码。)