繁体   English   中英

带有 VBA 抛出 ActiveX 组件的 WinSCP .NET 程序集无法创建对象

[英]WinSCP .NET assembly with VBA throwing ActiveX component can't create object

我最近使用 .NET Framework C:\\Windows\\Microsoft.NET\\Framework64\\v2.0.50727注册了WinSCPnet.dll 我已将生成的 tlb 文件添加到我的 VBA 引用中。 但是当我尝试实例化SessionOptions对象时,它会引发错误“ActiveX 组件无法创建对象” 不知道这里出了什么问题。

此外,我发现我可以使用 VBScript 进行连接。 但是如果我使用 VBA,它就不起作用。 任何人都可以建议是什么问题?

如果您的 Microsoft Excel 安装是 32 位应用程序,则您必须为 32 位 .NET 框架注册WinSCPnet.dll ,即使在 64 位系统上也是如此。

正如为 COM 注册 WinSCP .NET 程序集的说明所示,在 64 位系统上,您通常需要为 32 位和 64 位注册程序集:

%WINDIR%\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe WinSCPnet.dll /codebase /tlb:WinSCPnet32.tlb
%WINDIR%\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe WinSCPnet.dll /codebase /tlb:WinSCPnet64.tlb

不要将.tbl手动添加到 Excel。 程序集在正确注册后出现。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM