损坏的ActiveX控件? “不能退出devise模式,因为控制'DTPicker1”不能创build“

我正在桌面计算机上开发Excel VBA应用程序。 我的电子表格上有一个DatePicker ActiveX控件。 这工作正常。

然后,在旅途中,我正在使用笔记本电脑上的应用程序。 当我回来时,我把文件移回到我的台式机。 现在,当我尝试运行应用程序,我不断得到错误“不能退出devise模式,因为控制'DTPicker1”不能创build“。

重命名控件及其代码中的所有引用没有帮助。 当我尝试删除控件时,即使不再有对该控件的控制,仍然会收到消息。

我该如何解决?

听起来像你的工作簿中的东西被损坏。 这样的事情发生在我身上一两次了。

然后,解决scheme是将所有内容(代码和工作表内容)复制到新的工作簿,并在那里重新构build应用程序。

[从评论升级,因为这解决了这个问题。]

在我的情况下,当我在MS Excel 2013中使用ActiveX DTPicker控件开发Excel工作表时,发生错误,将其移至Excel 2010(仍在工作),保存了一些更改并将其移回到Excel 2013中的开发环境–DTPICKS不能加载。

经过一些互联网调查,我发现有点棘手的手册如何解决这个问题:

  1. 打开项目代码并卸载Excel允许的引用。
  2. 在你的代码中做一些改动(我添加了一条注释行) – 重新加载项目或类似的东西。
  3. 运行一些macros,例如只激活第一张纸。
  4. closures并重新打开Excel。
  5. 瞧 – date和时间select器正确加载。

作为首先,我删除了“C:\ Users \ xxx \ AppData \ Local \ Temp \ Excel8.0”中的临时文件,但它并没有帮助我们作为独立的操作,所以我不知道如果这是一个有用的操作或不。

有一个类似的问题,“控制'CommandButton13'不能创build”。 电子表格仍然在我的同事个人电脑上工作。 我发现在VBA编辑器中Sheet13已经改名为CommandButton1。 在我的同事电脑上,我们把名字改回到Sheet13。 现在在我的电脑上正常工作。