Excel VBA“;无法加载对象,因为该对象在此计算机上不可用;对于Microsoft Common Control树视图
我在虚拟机上有一个Excel加载项,它使用“Microsoft TreeView控件,版本6.0”作为Microsoft Windows Common Controls 6.0(SP6)的一部分,位于C:\Windows\system32\MSCOMCTL.ocx。使用TreeView控件的窗体上的“属性”窗口将控件显示为[TreeView控件名称]TreeView w3。一切都很好,我没有收到任何错误 我也有使用相同Excel加载项的工作VM的副本,但当我打开Excel并加载加载项时,我收到Microsoft Forms错误,该错误为“无法加载对象,因为该对象在此计算机上不可用” 我可以使用相同的“Microsoft TreeView控件,版本6.0”(相同的文件位置和引用)重新创建表单,但此TreeView控件显示为[TreeView控件名称]TreeView w2,并且不再显示错误 与其重新创建使用TreeView2控件的所有表单,我如何首先防止问题发生?这些机器显然不是精确的复制品。除了工作机器上安装的.NETV4之外,我不知道是什么改变了问题的解决方法。我的理解是,在出现错误的机器上简单地安装.NET v4不应该影响Windows通用控件 编辑:Excel VBA“;无法加载对象,因为该对象在此计算机上不可用;对于Microsoft Common Control树视图,excel,excel-2010,windows-forms-designer,vba,Excel,Excel 2010,Windows Forms Designer,Vba,我在虚拟机上有一个Excel加载项,它使用“Microsoft TreeView控件,版本6.0”作为Microsoft Windows Common Controls 6.0(SP6)的一部分,位于C:\Windows\system32\MSCOMCTL.ocx。使用TreeView控件的窗体上的“属性”窗口将控件显示为[TreeView控件名称]TreeView w3。一切都很好,我没有收到任何错误 我也有使用相同Excel加载项的工作VM的副本,但当我打开Excel并加载加载项时,我收到M
已安装以下程序,但无法运行:
还拍摄并安装了.NETV4,但仍然没有运气 工作机器的规格:
Windows 7专业版SP1
Excel 2010,版本:14.0.7162.5000(32位)
Computer\HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP,它有v2.0.50727、v3.0、v3.5和v4 出现问题的机器的规格:
Windows 7专业版SP1
Excel 2010,版本:14.0.7162.5000(32位)
Computer\HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP,它有v2.0.50727、v3.0、v3.5 编辑#2:未能提及出现问题的机器是64位操作系统 工作机器和非工作机器上TreeView控件版本的注册表信息 工作机器
计算机\HKEY\U类\U根\mscomctlib.TreeCtrl\CurVer-mscomctlib.TreeCtrl.2 计算机\HKEY\U CLASSES\U ROOT\CLSID{C74190B6-8589-11D1-B16A-00C0F0283628}\Version-2.1 Windows 7 Professional SP1 32位 非工作机器
计算机\HKEY\U类\U根\mscomctlib.TreeCtrl\CurVer-mscomctlib.TreeCtrl.2 计算机\HKEY\U CLASSES\U ROOT\Wow6432Node\CLSID{C74190B6-8589-11D1-B16A-00C0F0283628}\Version-2.0
Windows 7 Professional SP1 64位您是否在VB6 IDE中看到TreeView控件名]TreeView w3?有问题的机器上是否可能存在mscomctl.ocx的多个副本?这实际上是VB7 IDE。我找不到vb7的标记。但是,是的,有两个副本可能是相同的。C:\Windows\system32\MSComm32.Ocx中的“Microsoft Comm Control 6.0(SP6)”和C:\Windows\system32\MSCOMCTL.Ocx中的“Microsoft Windows Common Control 6.0(SP6)”。我原以为更新到最新版本的控件会让我摆脱“地狱”,但那没用。MSComm32.ocx与这个问题无关。我相信Comm是通信的缩写,不是普通的。我想你说的VB7是指visualstudio.NET吧?对吗?VB6更像是一个专用的IDE,随着Visual Studio的更高版本允许您使用不同的语言(VB.Net、C#等)编写代码,它似乎与以下文章有关:和(实际更新)。同样的问题再次出现,使用了上一个链接中的安装程序,它修复了问题,尽管它没有将版本从2.0更新到2.1。