Как обойти жесткое кодирование идентификатора сеанса хоста в коде vbScript или VBA - PullRequest
0 голосов
/ 08 ноября 2019

У меня есть начинающие знания по работе с PCOMM на AS400. Я написал 15 VBA-скриптов в Excel, который называет AS400 Macros. Чтобы заставить программы работать, AS400 должен быть на экране входа в систему, а сеанс активного хоста ДОЛЖЕН быть установлен на «D». Именно сессия хозяина дает мне блюз. Поскольку многие используют один и тот же ПК, я никогда не знаю, какой сеанс хоста AS400 будет активен в любой момент времени ... иногда «A», иногда «B», или на одном экране может быть несколько открытых сеансов.

Несколько строчек моего VBA-скрипта ниже. Есть ли способ определить сценарий, чтобы избежать использования идентификатора сеанса хоста (в данном случае «D»), чтобы мой сценарий работал с любым идентификатором («A» или «B» и т. Д.)

     Sub APVCHDET()
     Set autECLSession = CreateObject("PCOMM.autECLSession")
     autECLSession.SetConnectionByName ("D")

> введите описание изображения здесь

1 Ответ

0 голосов
/ 08 ноября 2019

Я нашел это в документации:

Dim SessObj as Object
Dim autECLConnList as Object

Set autECLConnList = CreateObject("PCOMM.autECLConnList")
Set SessObj = CreateObject("PCOMM.autECLSession")

' Initialize the session
autECLConnList.Refresh
SessObj.SetConnectionByHandle(autECLConnList(1).Handle)

SessObj.StopCommunication()

Подробнее здесь . Это все равно что пить из пожарного рукава.

...