vbscript 在 ibm 个人通信中启动特定配置文件连接

vbscript starting a specific profile connection in ibm personal communications

我的任务是将较慢的 IBM 个人通信 Macro Express Pro 编码转换为 VBScript/VBA 版本。 Macro Express Pro 编码从特定位置打开预定配置文件。

此过程最多可能需要 30 秒。对于默认配置文件 (TN3270.WS),VBScript 执行此操作的时间约为三分之一。但是,当我们尝试打开在 UNET.txt 文件中突出显示的特定 link 时,我们得到了一个错误:

Run-time error '440': Automation error

这是我们尝试使用的 VBScript 代码:

Sub Main()
    Dim EName
    Dim autECLConnList, objConnMgr

    Set objConnMgr = CreateObject("Pcomm.autECLConnMgr")
    objConnMgr.autECLConnList.Refresh
    objConnMgr.StartConnection ("profile='C:\ProgramData\IBM\Personal Communications\UNET REWORK.ws' connname=a")
    Application.Wait (Now + TimeValue("00:00:12"))
    objConnMgr.autECLConnList.Refresh
    EName = objConnMgr.autECLConnList(1).Name
End Sub

错误发生在objConnMgr.StartConnection ("profile='C:\ProgramData\IBM\Personal Communications\UNET REWORK.ws' connname=a")行。我们知道我们有正确的配置文件路径,因为我们找到了它的位置:

IBM 表示,如果配置文件名称包含空格,它 "must to be surrounded by single quotes":

任何人都可以就我们做错了什么或遗漏什么提供一些建议吗?

谢谢。

我找到了一种方法来完成我需要做的事情。我在寻找启动 PCOMM 会话时过于具体,以至于我什至没有想到 运行 .exe 文件并向其发送参数。这是我的做法:

Sub Main()
    Dim WShell

    Set WShell = CreateObject("WSCript.shell")

    WShell.Run """C:\Program Files (x86)\IBM\Personal Communications\pcsws.exe"" ""C:\ProgramData\IBM\Personal Communications\UNET REWORK.WS"""
End Sub

我敢肯定这是对另一个问题的重复答案,但大多数答案都已存在多年且已过时。此解决方案是最新的并且最近经过测试,因此它是一个更可靠的来源。