【问题标题】:Can't open VB6 forms in MS Word 2016无法在 MS Word 2016 中打开 VB6 表单
【发布时间】:2017-08-24 08:35:57
【问题描述】:

当前的 Word 2016 版本与我们的 VB6 插件结合使用时遇到问题。

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

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

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

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

插件的依赖很简单,它只使用MSCOMCTl.ocxMSCOMCT2.ocx

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

【问题讨论】:

  • 我认为您需要确定表单的哪个部分导致了此许可证问题。您可以在旧版本中打开它并逐个删除组件以找出导致错误的原因。从那里你需要谷歌该组件的先决条件。
  • @BrunoBieri 我会试一试的。但是您能解释一下,为什么表单会在我们的应用程序中打开吗?
  • 我认为这是原因:support.microsoft.com/en-us/help/318597/… 而这可能是解决方案support.microsoft.com/en-us/help/195353/… 我既没有尝试重现您遇到的行为,也没有测试过可能的解决方案。
  • @BrunoBieri 谢谢你的链接。我已经尝试过的最后一个。遗憾的是没有成功。

标签: ms-word vb6 add-in office-addins


【解决方案1】:

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

经过更多研究后,我发现了一个解决方案,该解决方案针对office support site. 上的mscomctl.ocx 文件与Office 2016 结合出现的问题发布了解决方案,我将mscomctl.ocxsysWOW64 复制到@987654327 @(替换现有的ocx)

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

VB6 表单在我们的应用程序中仍然有效的原因是,Word 即点即用版本在SystemX86 文件夹中使用了自己的 dll。所以我们的应用程序使用来自sysWOW64mscomctl.ocx 和来自Office 文件夹的Word。

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

【讨论】:

    猜你喜欢
    • 2011-05-16
    • 1970-01-01
    • 1970-01-01
    • 2011-02-13
    • 1970-01-01
    • 2011-06-08
    • 1970-01-01
    • 1970-01-01
    • 2015-04-27
    相关资源
    最近更新 更多