【发布时间】:2018-02-09 02:23:53
【问题描述】:
我的任务是将用于 IBM Personal Communications 的较慢的 Macro Express Pro 编码转换为 VBScript/VBA 版本。 Macro Express Pro 编码从特定位置打开预先确定的配置文件。
此过程最多可能需要 30 秒。对于默认配置文件 (TN3270.WS),VBScript 在大约三分之一的时间内完成此操作。但是,当我们尝试打开 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") 行。我们知道我们有正确的配置文件路径,因为我们找到了它的位置:
IBM 表示,如果配置文件名称包含空格,则“必须用单引号括起来”:
谁能提供一些关于我们做错了什么或缺少什么的建议?
谢谢。
【问题讨论】:
-
VBScript 还是 VBA,文档显示 VBA 示例,您收到的错误来自 VBA,对 VBScript 的引用是错字吗?
-
没有。您可以在任何 Microsoft Visual Basic 编辑器中键入 VBScript,它会起作用。当我将 VBScript 合并到 Macro Express Pro 宏中时,我一直这样做,以确保代码正常工作并向我显示发生了哪些错误,而我在 Macro Express 中没有看到。这不是重点。关键是我能够启动此连接:
objConnMgr.StartConnection ("profile=tn3270.ws connname=a"),但不是我的示例中的那个。 -
确保
C:\ProgramData不仅仅是链接。由于文档要求使用单引号,因此请使用一些/而不是反斜杠。您还可以尝试使用编码为%20的空格的短路径或uri (file://),或者在调用CreateObject之前简单地设置工作目录。 -
@Lou 令人惊讶的是,one reply 实际上在理解问题方面比你的整个问题更有用。
-
如何将您的
ws文件放在默认位置并尝试,这将消除路径问题。