我想在vbscript中使用xshell库,但是当我使用createObject()创建对象失败时,如何从Xshell应用程序提供的类型库中创建对象?
我猜xshell可以很好地注册到系统,因为我可以通过'tools-> reference->“ Xshell 1.0 Type Library”在excel vba项目中添加一个引用,然后可以将dim xshell用作xshell。 ScriptHost和我可以从对象浏览器中找到Xshell信息。
我曾经尝试过用oleviwer查找有关Xshell 1.0类型库的一些信息,但实际上我找不到xshell的ProgID。
在右侧窗口中,我们可以看到“ ForceRemove {xxxx-xxxxxxxx-xxxx} = s'ScriptHost类.... {ProgID = s'Xshell.ScriptHost.1'....... ForceRemove'Programmable'... 。
我如何取消强行拆除?
dim xshell
set xshell=CreateObject("C:\Program Files (x86)\Common Files\NetSarang\XshellCore.tlb")
MsgBox "success"
运行错误,错误代码为“ 800A01AD”
ActiveX组件无法创建对象
答案 0 :(得分:1)
不能从类型库创建COM组件实例。类型库是一个定义文件,它使用IUnknown
或IDispatch
接口来描述它支持的COM对象库的对象,属性和方法。
它只是一个定义文件,不包含任何实现。如果要尝试通过VBScript使用XShell,则需要找到与应用程序关联的COM DLL。
如果XShell暴露于COM,它将在Windows注册表中注册一个ProgID。如果您可以使用regedit.exe
之类的工具在注册表中找到ProgID,则可以使用以下检查列表来识别与其相关的DLL,并使用ProgID
和CreateObject()
来实例化一个实例。 COM组件。