寻找仅32位Microsoft公共控件(ListView)的替代品

ass*_*ias 25 .net excel 64-bit vba listview

我有一个在VBA/Excel中开发的遗留应用程序,它使用ListView控件.不幸的是,看起来这些控件不能与64位版本的Excel一起使用:

Office 2010中的本机64位进程无法加载32位二进制文​​件.这包括MSComCtl的常见控件[如ListViews].当代码迁移到64位Office 2010时,必须找到使用这些控件的现有Microsoft Office VBA解决方案的替代方法.

我需要将该遗留应用程序迁移到Excel 2010/13 x64.除了那些ListView控制之外,这个过程大多是无痛的.

我更换ListView控件的主要选择是什么?哪些是最有效的(从时间和难度实现的角度来看)?

笔记:

  • 这个问题已在MS论坛上提出,但没有给出实际答案.
  • 添加.net标签因为我怀疑某些解决方案可能来自那里.

为了更清楚,这里是Excel用户表单的快照.底部是列表视图(我隐藏了机密信息),它具有可排序的列,允许用户选择多个非连续的行.

在此输入图像描述

con*_*oly 8

理论上可能的一件事是将显示代码编写为.Net程序集并通过COM从VBA代码访问(例如,如何在Excel VBA中使用.NET对象?作为起点这该怎么做).

这样你就可以为你的控件编写.Net代码.我自己并没有这样做,也不确定它对你的问题有多好,但它看起来像一个选项.

我刚刚发现了一个从Excel调用.Net 的简短教程.


Pet*_*ert 5

我不知道这里有任何解决方案。然而,JKP在 VBA 中开发了一个带有用户表单的原生 TreeView,只是为了替换 TreeView——它在 64 位下运行良好。

尽管劳动强度大,您可以考虑将其用于 ListView 控件...