【发布时间】:2016-05-25 18:56:30
【问题描述】:
我在 VBA 中运行 LDAP 查询并使用 GetObject 获取匹配的对象:
Set colOU = GetObject("LDAP://OU=LazyPeople,DC=somecompany,DC=com")
colOU.Filter = Array("user")
我一直在使用 For Each 语句遍历 colOU:
For Each objADObject In colOU
但是,我需要做的是提供一个 ListBox,其中包含来自 colOU 的每个用户的名称,并让用户选择一个条目。然后我想从colOU 回到对应于用户选择和操作属性的那个实例(objADObject)。
我想做的是在列表框的每个条目中为每个objADObject 存储一个索引,并在用户做出选择后使用该索引从colOU 中调用该实例。但是,我找不到按索引访问colOU 项目的方法(.Items、.Item、.Members、.Count 和 UBound 会生成错误)。我也未能成功将colOU 转换为集合。
有什么建议吗?
另外,我如何调查 VBA 中的对象以确定是否可以枚举(在 .NET 中我将其称为 IEnumerable)。
谢谢。
【问题讨论】:
-
你能发布代码吗?最初的想法,也许只是制作一个本地集合/数组来跟踪所有这些东西?
标签: vba excel collections ldap