Я бы сделал это в два этапа:
Сначала разделите ввод по имени пользователя и паролю с помощью регулярного выражения.
Option Explicit
dim re, matches, match, test
Set re = new regexp
re.pattern = "^((.*)\\)?(.*)$"
for each test in array( _
"username", _
".\username", _
"localcomputername\username", _
"remotedomain.com\username")
Set matches = re.Execute(test)
for each match in matches
msgbox "domain: " & match.submatches(1) & vbNewLine & _
"username: " & match.submatches(2)
next
next
Затем используйте вариант выбора, чтобы сделать доменное имя действительным:
dim localhost, testdomain, outputDomain
localhost = "192.168.0.1"
for each testDomain in array( _
".", _
localhost, _
"", _
"remotedomain.com")
select case testDomain
case localhost, "", "."
outputDomain = localhost
case else
outputDomain = testDomain
End Select
msgbox testDomain & " becomes " & outputDomain
Next
Объедините эти два, и у вас есть свой скрипт, чтобы получить домен и имя пользователя.
Отказ от ответственности: приведенный выше код является проверенным примером кода, но вы должны адаптировать его к вашей конкретной ситуации.