我正在编写一个宏,用于将 LDAP 格式的名称列表转换为“名字”、“姓氏”(区域)。
对于那些不知道 LDAP 是什么样子的人,如下所示:
CNN=约翰·史密斯(区域)、OU=法律、DC=示例、DC=命令
在 Excel VBA 中,我似乎无法使用 string.substring(start, end)。谷歌搜索似乎表明 Mid(string, start, end) 是最好的选择。
问题是这样的:在Mid中,end的整数是距start的距离,而不是字符的实际索引位置。这意味着不同的名称大小将具有不同的结束位置,并且我无法使用“)”索引来查找该区域的结束位置。由于所有名称都以 CN= 开头,因此我可以正确找到第一个子字符串的结尾,但无法正确找到“)”,因为名称长度不同。
我有下面的一些代码:
mgrSub1 = Mid(mgrVal, InStr(1, mgrVal, "=") + 1, InStr(1, mgrVal, "\") - 4)
mgrSub2 = Mid(mgrVal, InStr(1, mgrVal, ","), InStr(1, mgrVal, ")") - 10)
manager = mgrSub1 & mgrSub2
有没有办法使用设定的终点而不是距离起点有很多值的终点?