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

时间:2018-02-02 19:01:48

标签: vba vbscript ibm-pcomm

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

enter image description here

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

  

运行时错误' 440':自动化错误

以下是我们尝试使用的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")行发生错误。我们知道我们有正确的配置文件路径,因为我们找到了它的位置:

enter image description here

IBM表示如果配置文件名称包含空格,则必须用单引号括起来":

enter image description here

任何人都可以提供一些关于我们做错了什么或者我们缺少什么的建议吗?

感谢。

1 个答案:

答案 0 :(得分:1)

我找到了一种做我需要做的事情的方法。我看起来太具体了,开始一个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

我确定这是另一个问题的重复答案,但大多数答案都已经过了几年而且已经过时了。该解决方案是最新的,最近经过测试,因此它是一个更可靠的来源。