我在Office 365的一个版本中制作了一个具有2个用户窗体的VBA项目。但是在最近更新(新安装了Office的新计算机)之后,无法加载该用户窗体。由于所有版本号彼此匹配,我无法发现Excel版本之间的差异。
我认为这是datepicker控件的问题,但是即使删除了该控件,错误仍然存在。我还验证了两台计算机上Excel的版本都是32位。
Option Explicit
Public Sub Menu() <-Shortcut runs this
UserForm2.Show
End Sub
Private Sub UserForm_Initialize() <-Userform2 Initializes
Set UF = New UserForm1 <- Error
Do stuff in UserForm2
End Sub
当datepicker控件位于UserForm1中时,收到的错误为:
Could not read some objects since they are´nt availible on this computer
之后
Complie error in hidden modul UserForm1.
Error usally shows when the code is incomapitble
with the app version, platform or architecture.
这些是项目的参考:
VBA
Excel 16 Obj. Lib.
OLE Automation
Office 16 Obj. Lib.
Forms 2 Obj. Lib.
Common Controls-2 6.0 (SP6)
我以为这是64位问题,已经达到了我的知识水平。如果我从UserForm1中删除datepicker控件,则它仅显示第二个错误。
答案 0 :(得分:0)
如果您用它搜索Google,例如
在Microsoft下载中下载MSCOMCTL.ocx。
在搜索菜单/ Cortana搜索命令提示符上,并通过右键单击以管理员身份运行它。
将MSCOMCTL.ocx文件复制到C:\ Windows \ SysWOW64。
将命令提示符导航到C:\ Windows \ SysWOW64位置,然后键入regsvr32 mscomctl.ocx。
同时执行regsvr32 mscomctl.ocx和mscomct2.ocx