Как получить доступ к локальной переменной из VBS? Нужно вывести текущего зарегистрированного пользователя на экранную форму GraphWorx32 через отображение локальной переменной ~~User~~.
Следующий скрипт выводит имя пользователя в диалоговое окно MessageBox:
Set t = CreateObject ("ICONICS.LoginActiveX")
If t Is Nothing Then
MsgBox "An error has occurred while trying to launch the login dialog."
Else
t.LoginDlg()
t.GetLoggedInUsersNames str
MsgBox str
End If
А мне нужно вывести в локальную переменную ~~User~~! Как доработать скрипт?
Есть другой вариант на VBA(выводит имя пользователя в текстовое поле:Dim Label As GwxText
DIM oSecServer As SECDual
Set Label = ThisDisplay.GetVisibleObjectFromName("Operator")
'Create security object
Set oSecServer = New SECDual
'Connext to a security server
oSecServer.Node = Environ$("COMPUTERNAME")
'CHECK IF CURRENT USER
If Len(oSecServer.LoggedIn) > 0 Then
'Someone is logged on
Label.Text = oSecServer.LoggedIn
Else
'No one logged on
Label.Text = "Nobody Logged In"
End If
Хочется сделать нечто такое но на VBS а не на VBA:
'объявить объект
Dim ptUser As GwxPoint
'создать указатель на локальную переменную
Set ptUser= ThisDisplay.GetPointObjectFromName("~~User~~")
'вызвать диалог по авторизации пользователя
Set t = CreateObject ("ICONICS.LoginActiveX")
If t Is Nothing Then
MsgBox "An error has occurred while trying to launch the login dialog."
Else
t.LoginDlg()
'получить в str имя залогин-евшегося пользователя
t.GetLoggedInUsersNames str
' записать имя пользователя в локальную переменную
ptUser.Value = str
'освободить указатели
Set t = Nothing
EndIf