Ms word Can';t在MS Word 2016中打开VB6表单

Ms word Can';t在MS Word 2016中打开VB6表单,ms-word,vb6,add-in,office-addins,Ms Word,Vb6,Add In,Office Addins,我对当前的Word 2016版本与我们的VB6外接程序组合存在问题 外接程序加载后工作正常。所有没有对话框的函数都会执行它们应该执行的操作,除非我尝试打开窗体。没有窗户,什么也没有。在.ShowDialog()处,外接程序会引发异常 [429]:找不到此组件的许可证信息。你没有 拥有使用此功能的适当许可证 旧版本的Word不会出现这种情况。即使在同一个系统上,我也可以在应用程序中打开VB6表单。它唯一不起作用的部分是Word 2016 通过搜索这个错误,我找到了许多可能的解决方案,但目前没有任何

我对当前的Word 2016版本与我们的VB6外接程序组合存在问题

外接程序加载后工作正常。所有没有对话框的函数都会执行它们应该执行的操作,除非我尝试打开窗体。没有窗户,什么也没有。在
.ShowDialog()
处,外接程序会引发异常

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

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

通过搜索这个错误,我找到了许多可能的解决方案,但目前没有任何效果。我试着重新安装VB6通用控件,重新注册,还有注册表黑客

外接程序的依赖关系很简单,它只使用
MSCOMCTl.ocx
MSCOMCT2.ocx


是否有人有/有过相同的问题,或者知道如何解决此问题?

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

经过进一步的研究,我发现了一个解决方案,它是针对
mscomctl.ocx
文件与office 2016的问题发布的。为了解决这个问题,我将
mscomctl.ocx
sysWOW64
复制到
C:\Program Files(x86)\Microsoft office\root\VFS\SystemX86\
(替换现有的ocx)

之后,表格再次显示。可能当前word版本中存在一些错误。也许这有助于解决问题,而无需花很多时间进行研究

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


感谢您的建议,一个接一个地移除控件

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

经过进一步的研究,我发现了一个解决方案,它是针对
mscomctl.ocx
文件与office 2016的问题发布的。为了解决这个问题,我将
mscomctl.ocx
sysWOW64
复制到
C:\Program Files(x86)\Microsoft office\root\VFS\SystemX86\
(替换现有的ocx)

之后,表格再次显示。可能当前word版本中存在一些错误。也许这有助于解决问题,而无需花很多时间进行研究

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


感谢您的建议,一个接一个地移除控件

我认为您需要确定表单的哪一部分导致了此许可证问题。您可以在较旧的版本中打开它并逐个删除组件,以确定是哪个组件导致了错误。从那以后,你需要用谷歌搜索这些组件。@BrunoBieri我会试试看。但是,您能解释一下,为什么表单会在我们的应用程序中打开吗?我想这就是原因:这可能是解决方案,我既没有尝试重现您所经历的行为,也没有测试可能的解决方案。@BrunoBieri感谢您提供的链接。最后一个我已经试过了。遗憾的是没有成功。我认为您需要确定表单的哪个部分导致了此许可证问题。您可以在较旧的版本中打开它并逐个删除组件,以确定是哪个组件导致了错误。从那以后,你需要用谷歌搜索这些组件。@BrunoBieri我会试试看。但是,您能解释一下,为什么表单会在我们的应用程序中打开吗?我想这就是原因:这可能是解决方案,我既没有尝试重现您所经历的行为,也没有测试可能的解决方案。@BrunoBieri感谢您提供的链接。最后一个我已经试过了。可惜没有成功。