2017-08-24 61 views
1

我与当前的Word 2016版本结合使用我们的VB6加载项时遇到问题。无法在MS Word 2016中打开VB6表格

加载项加载并正常工作。除非我尝试打开表单,否则没有对话框的所有功能都应该做它们应该做的事情。没有窗户,什么都没有在.ShowDialog()的位置,加载项会引发异常。

[429]:找不到此组件的许可信息。您不需要 拥有使用此功能的适当许可证。

这不会发生在旧版本的Word中。即使在同一个系统上,我也可以在我们的应用程序中打开VB6表单。它不工作的唯一部分是Word 2016.

通过搜索此错误,我发现了许多潜在的解决方案,但目前没有任何工作。我试图重新安装VB6公共控件,重新注册,也注册表黑客。

加载项的依赖关系很简单,它只使用MSCOMCTl.ocxMSCOMCT2.ocx

有没有人有/有相同的问题或知道,如何解决这个问题?

+1

我认为您需要确定表单的哪一部分导致此许可证问题。您可以在较旧的版本中打开它,并通过组件删除组件以找出导致错误的组件。从那里你需要谷歌组件的先决条件。 –

+0

@BrunoBieri我会试一试。但是你能解释一下,为什么表单在我们的应用程序中打开? –

+0

我认为这是原因:https://support.microsoft.com/en-us/help/318597/you-receive-an-error-message-you-do-not-have-a-license-to- use-this-con and this ** could ** be the solution https://support.microsoft.com/zh-cn/help/195353/file-vbusc-exe-provides-licensing-for-discontinued - 控制 我还没有试图重现您所体验的行为,也没有测试过可能的解决方案。 –

回答

0

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

一些更多的研究,我发现了一个解决方案至极组合被张贴后的问题与mscomctl.ocx文件与Office 2016的office support site.要解决我复制了mscomctl.ocxsysWOW64C:\Program Files (x86)\Microsoft Office\root\VFS\SystemX86\问题(取代现有的OCX)

之后,表格再次出现。也许在当前的单词版本中有一些错误。也许这可以帮助别人解决问题,而无需花费数小时的研究。

为什么VB6窗体仍然在我们的应用程序中工作的原因是Word Click-to-Run版本在SystemX86文件夹中使用自己的dll。因此,我们的应用程序使用来自sysWOW64mscomctl.ocx和Office文件夹中的Word。

感谢Bruno Bieri提示逐一删除控件!