在 64 位 Windows 7 上注册 OCX

在 64 位 Windows 7 上注册 OCX

我想在我的 MS Excel 2010 VBA 中使用 MSCOMM 控件。该控件应出现Tools-> Additional Controls在 MS Excel 2010 的 VBE 对话框中。

我正在尝试在 64 位 Windows 7 计算机上注册 MSCOMM32.OCX。但是,当我尝试使用 regsvr32 注册它(如下面的命令窗口所示)时,系统弹出错误弹窗。

在此处输入图片描述

我这里遗漏了什么?为什么此组件未注册?

或者这不是在 MS Excel VBA 中包含 MSCOMM 控件的正确方法?

我已阅读以下内容:

https://stackoverflow.com/questions/10362950/registering-ocx-file-manually

http://social.msdn.microsoft.com/Forums/en/vbgeneral/thread/1f00d6cc-00a9-4ca0-9698-535e2487af31

但无济于事。

答案1

将您的 ocx 控件放到 C:\Windows\SysWOW64 并尝试使用该位置重新注册它32 位regsvr32:

C:\Windows\SysWOW64\regsvr32 C:\Windows\SysWOW64\MSCOMM32.ocx

如果它不起作用:您可以尝试选择不同的版本。您还可以检查它是否已安装所有依赖项。

答案2

这是我读到的有关 mscomct2.ocx 的内容。我还没有验证任何内容。

mscomct2.ocx 是一个 ActiveX 日历控件。您可以从以下位置获取 mscomct2.ocx 的最新版本http://activex.microsoft.com/controls/vb6/mscomct2.cab

32 位 Windows(例如 XP)在 c:\windows\system32 中有 mscomct2.ocx。

对于 Windows 64 位,您需要将 mscomct2.ocx 放在不同的目录中,c:\windows\syswow64。

与上一段相矛盾的是,我还看到您需要将 MSCOMCT2.OCX 放在与您的程序相同的文件夹中。例如,如果您的程序位于 C:\MyApp 文件夹中,则将 MSCOMCT2.OCX 文件也放在 C:\MyApp 文件夹中。

安装 mscomct2.ocx 文件后,需要对其进行注册。您可以使用 Microsoft 注册服务器 (Regsvr32.exe) 在 32 位操作系统上手动注册 32 位 .ocx 文件。您必须以管理员身份运行 regsvr32。

与 support.microsoft.com 上的上述声明相冲突,只要 ocx 文件位于 syswow64 目录中,这就可以适用于 64 位系统。

如果您已获得文件并注册,但仍然存在问题,则先取消注册然后再注册可能会有所帮助:

regsvr32 /u mscomctl.ocx

regsvr32 mscomctl.ocx

相关内容