Доступ к локальн. переменной Genesis32 v9.2 из VBS |
Ответить |
Автор | |
Новичок Присоединился: 04 Сентябрь 2013 Категория: Инженер ПНР Online Status: Offline Публикации: 7 |
Опубликовано: 04 Сентябрь 2013 14:42 |
Как получить доступ к локальной переменной из 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 Set ptUser = Nothing EndIf |
|
Новичок Присоединился: 04 Сентябрь 2013 Категория: Инженер ПНР Online Status: Offline Публикации: 7 |
|
Опытным путем в VBA сделал процедуру, которая записывает имя пользователя в локальную переменную. Теперь бы еще научиться делать тоже самое в VBS Sub LogInVBA() Dim Label As GwxPoint Dim oSecServer As SECDual Set Label = ThisDisplay.GetPointObjectFromName("\\Korolevaa\ICONICS.DataWorX32.8\Local.~~User~~") '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.Value = oSecServer.LoggedIn Else 'No one logged on Label.Value = "Не зарегистрирован" End If End Sub
|
|
Ответить |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |