我正在尝试将在Windows XP 32位上运行的VB Excel应用程序升级到Windows 7 64位操作系统。影响此类操作有两个问题。我发现这些主题并不少见。
VBA脚本必须连接到需要Microsoft Internet传输协议6.0(SP 6.0)的服务器 - 在System32目录中注册的MSINET。遗憾的是,上述库仅适用于32位操作系统,并且没有64位版本可用。我试图导入参考列表:这似乎工作,但是一旦我重新启动应用程序没有dll(只是一个ocx文件 - 活动X)可以找到。显然dll无法通过regsvr32应用程序注册。在64位版本的Windows上有类似于MSINET的东西吗?
我发现的第二个问题与前一个问题无关。应用程序需要解析删除空格的输入字符串。旧的VBA使用TRIM,我想我不得对其进行任何更改。但是,编译操作会导致以下错误:“编译错误:找不到项目或库”。没有引用丢失(MSINET除外)。
我安装了64位Windows 7,Office 2010,microsoft.office.interop.excel.dll 14。 谢谢
答案 0 :(得分:3)
但是,如果您有64位办公室,则根本无法使用msinet控件,并且在删除对msinet的引用之前,修剪函数不会再出现。
答案 1 :(得分:2)
在某些Windows instalations中,我无法在System32下注册OCX。由于这成为我公司的正常问题,我的解决方法是:
在该文件夹中注册OCX:
C:\Windows\System32> regsvr32.exe C:\OCX\mscomctl.ocx
每次都有效。
请勿删除OCX文件夹。
修改强>
在全新的Windows 7/8安装中,我已经能够运行相同的应用程序而无需通过运行带有管理Previleges的Office应用程序(即Access)来注册OCX。 发现它是因为打印服务器出现了相同的OCX问题。 可能这可以通过编辑OCX权限而不是以管理员身份运行来修复。