Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA“;无法加载对象,因为该对象在此计算机上不可用;对于Microsoft Common Control树视图_Excel_Excel 2010_Windows Forms Designer_Vba - Fatal编程技术网

Excel VBA“;无法加载对象,因为该对象在此计算机上不可用;对于Microsoft Common Control树视图

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

我在虚拟机上有一个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通用控件

编辑:
已安装以下程序,但无法运行:

还拍摄并安装了.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。