您看到的控件是FM20.DLL的一部分;这是 Office 安装的一部分。
通过查看“附加控件”框的“位置”部分,您可以看到它们都是同一个 DLL 的一部分。
AFAIK,这些是大多数 Office 安装保证可用的唯一控件。
话虽如此,让我们看看可以针对您在评论中询问的每个控件专门执行哪些操作:
- “网格”功能列表
- 层次树视图
- 日历控件
网格
这将取决于您的要求,但您也许可以使用列表框。VBA 中的列表框有一些属性可以使它像网格一样。
例如,假设 Excel 中的工作表如下所示:
ID001 Value 1 Description 1
ID002 Value 2 Description 2
ID003 Value 3 Description 3
列表框支持多列,因此您可以通过将列表框属性ColumnCount设置为3并编写以下代码来显示这些值:
Me.ListBox1.ColumnWidths = "50;100;200"
Me.ListBox1.RowSource = Sheet1.Range("A1:C3").Address
你会得到这样的东西:
想要隐藏一列?没问题,将ColumnWidths属性的宽度更改为零以使要隐藏的列:
Me.ListBox1.ColumnWidths = "50;0;200" 'Hide column 2
如果您不能从中选择东西,那么网格有什么用,对吧?
在列表框上,将ListStyle属性更改为frmListStyleOption,然后将MultiSelect更改为frmMultiSelect。
这将为您提供一个看起来更像网格的列表框:
日历
2012 年 8 月 17 日更新:阅读这篇文章。 其中一位回答的人创建了自己的日历控件。
Office (mscal.ocx) 存在日历控件:
但是,必须满足正确的条件:
- 必须在客户端计算机上安装 Access
- Office 版本不能是Office 2010,因为它已与此版本一起删除(请参阅从 Microsoft Access 中删除的功能)
您仍然可以让日历控件与 2010 和/或非 Access Office 安装一起使用,但它需要在客户端计算机上执行额外步骤。
- 下载mscal.ocx
- 解压到 windows/system32 目录
- 注册它
树视图
如果您的客户可以接受安装一些 EXE,您可以让他们安装Microsoft Visual Basic 6.0 Common Controls。这将为您提供 TreeView 控件。
我敢打赌大多数机器(尤其是 Windows XP 上的旧机器)已经安装了这些 OCX;因此可能不需要安装。
最大的问题是您在客户端机器上部署 OCX,从支持的角度来看,这令人沮丧。