无法在 MS Word 2016 中打开 VB6 表单

Can't open VB6 forms in MS Word 2016

当前 Word 2016 版本与我们的 VB6 加载项结合使用时出现问题。

加载项加载并运行良好。所有没有对话框的功能都在做它们应该做的,除非我尝试打开一个表单。没有 window,没有。在 .ShowDialog() 点,加载项抛出异常。

[429]: License information for this component not found. You do not have an appropriate license to use this functionality.

旧版本的 Word 不会出现这种情况。即使在同一个系统上,我也可以在我们的应用程序中打开 VB6 表单。唯一不起作用的部分是 Word 2016。

通过搜索此错误,我找到了许多可能的解决方案,但目前没有任何效果。我试图重新安装 VB6 Common Controls,重新注册,还有注册表 hacks。

加载项的依赖很简单,只用到MSCOMCTl.ocxMSCOMCT2.ocx

有没有人have/had遇到同样的问题或知道如何解决这个问题?

删除一些控件后,我发现问题出在 mscomctl.ocx 文件中。

经过更多研究后,我发现了一个针对 mscomctl.ocx 文件与 office 2016 在 office support site. 上的问题发布的解决方案。为了解决这个问题,我复制了 mscomctl.ocxsysWOW64C:\Program Files (x86)\Microsoft Office\root\VFS\SystemX86\ (替换现有的 ocx)

在此之后,表格再次出现。可能当前的word版本有一些bug。也许这可以帮助某人在没有花费大量时间研究的情况下解决问题。

VB6 表单在我们的应用程序中仍然有效的原因是,Word Click-to-运行 版本在 SystemX86 文件夹中使用其自己的 dll。因此,我们的应用程序使用 sysWOW64 中的 mscomctl.ocx 和 Office 文件夹中的 Word。

感谢Bruno Bieri建议一一删除控件!