3

我有一个 VBA 项目,可以完美运行到 windows 7(32,64 位)和 office 2010。但是当我尝试在 office 2013 或 2016 上运行它时。它不加载树视图控件并在以下位置出现错误:

私有 SelectedNode 作为 MSComctlLib.node

我已经尝试过的事情是:

  1. 彻底关注这篇文章 http://thesmileycoder.com/treeview-working-in-access2013/

  2. 在 SYSTEM32 和 SYSWOW64 文件夹上多次重新注册 MSCOMCTL.OCX/MSCOMCT2.OCX。

任何帮助都会得到帮助!

4

1 回答 1

1

感谢您澄清您使用的是 Office 64 位。

你应该看看这篇文章

具体部分:

32 位版本的 Office 中包含的大多数内容都包含在 64 位版本的 Office 中。

以下是 64 位版本的 Office 中没有的一些内容。

ActiveX 控件库,ComCtl - 此库包含用于构建解决方案的 ActiveX 控件。它最常用于 Microsoft Access、Microsoft Excel 和 Microsoft Word。

SharePoint 列表控件 SharePoint 技术中的列表视图在 64 位版本的 Office 中不可用。

其次是:

ActiveX 控件库、ComCtl - 使用这些控件的任何解决方案都不起作用。其中一些控件没有好的替代品。

编辑 这个2010 年的页面更详细地说明了这一点:

Office 2010 中的本机 64 位进程无法加载 32 位二进制文​​件。这包括 MSComCtl 的常用控件(TabStrip、Toolbar、StatusBar、ProgressBar、TreeView、ListViews、ImageList、Slider、ImageComboBox)和 MSComCt2 的控件(Animation、UpDown、MonthView、DateTimePicker、FlatScrollBar)。这些控件是以前版本安装的的 Microsoft Office 并由 32 位 Office 2010 安装。当代码迁移到 64 位 Office 2010 时,必须为现有的 Microsoft Office VBA 解决方案找到一个替代方案,利用这些控件。64 位 Office 2010 不提供 64-通用控件的位版本。

于 2016-06-03T12:50:35.610 回答