使用 .NET WebBrowser 控件,我们可以:
WebBrowser1.ObjectForScripting = new a_class();
wherea_class被声明为[ComVisible(True)].
之后,a_class页面中名为 的 javascript 可以访问该实例window.external。
如何使用 VB6/VBA WebBrowser OCX 控件实现相同的功能?
显然没有要设置的直接属性。
有和对象,两者都没有( 假设页面已加载),但是将某物的实例分配给后者会导致WebBrowser1.Document.parentWindowWebBrowser1.Document.parentWindow.externalnull
运行时错误 445
对象不支持此操作。
只是为了排除它,我让我想要传递的类实现了IObjectSafetyinterface,但这没有做任何事情(IObjectSafety甚至没有调用成员)。
parentWindow.external我还尝试使用 TypeLib Information检查现有对象。ClassClassInfoFromObject因“不支持自动化或所需接口”InterfaceInfoFromObject而失败,因“下标超出范围”而失败。