Подстрока Excel VBA

Я пишу макрос, который берет список имен в формате LDAP и преобразует их в First, Последний (регион).Для тех из вас, кто не знает, как выглядит LDAP, ниже:

CN=John Smith (region),OU=Legal,DC=example,DC=comand

В Excel VBA я не могу использовать string.substring(start, end). Кажется, Google показывает, что Mid(string, start, end) — лучший вариант. Проблема в следующем: в Mid целое число для конца — это расстояние от начала, а не фактическое положение индекса символа. Это означает, что другое имя размеры будут иметь разные конечные местоположения, и я не могу использовать индекс «)», чтобы найти конец региона. Поскольку все имена начинаются с 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

Кто-нибудь знает способ фактически использовать заданную конечную точку вместо конечной точки, которая находится на таком большом расстоянии от начала?

10
задан JackOrangeLantern 21 August 2012 в 16:46
поделиться