1

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

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

4

1 回答 1

3

如果您的 Microsoft Excel 安装是 32 位应用程序,您必须注册WinSCPnet.dll32 位 .NET 框架,即使在 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。正确注册后,程序集会自行显示。

于 2016-01-29T19:47:27.863 回答