规范
Excel 2007,VBA,Avaya CMS主管R16.2
大约两年前,我收集了一些脚本来自动化我们在Avaya中所做的报告。它一直运行的很好,但是这个周末发生了一些奇怪的问题,IT说我们要把我们在Avaya的连接从'Network‘切换到'SSH.’‘。它并没有改变他们的任何事情,只是简单地说,这似乎是可行的,他们认为这是奇怪的事情才刚刚开始发生。不幸的是,我的脚本不再工作了,我很困惑如何使它与SSH一起工作。
Dim cvsApp As New ACSUP.cvsApplication 'acsApp.exe
Dim cvsConn As New ACSCN.cvsConnection 'cvsconn.dll
Dim cvsSrv As New ACSUPSRV.cvsServer 'acsSRV.exe
Dim Rep As New ACSREP.cvsReport 'acsRep.exe
Dim Info As Object, Log As Object, b As Object
Dim InfoOB As Object, LogOB As Object, bOB As Object
cvsApp.CreateServer(UserName, "", "", serverAddress, False, "ENU", cvsSrv, cvsConn)
cvsConn.Login(UserName, passW, serverAddress, "ENU")这就是我的脚本中访问Avaya并连接到服务器的部分。如果有人对此有任何线索,请与我分享。同样,它在“Network”(端口23)连接中运行良好,并且不再使用'SSH‘(端口22)。
脚本只是挂起,而不是生成任何类型的有用错误。在excel中,它返回一个“运行时错误'9':下标超出范围”,这只是一个基本错误,如果无法连接到Avaya来提取数据,就会发生这个错误。
提前感谢!
发布于 2017-04-25 15:21:00
在与Avaya进行了亲自交谈之后,没有找到解决方案,我开始进一步处理它,这样我就可以再次自动化报告了。如果您遇到了同样的问题,这就是我找到的解决方案:
由于SSH阻止我们为Avaya创建进程,所以让我们先启动流程,然后抓住那些创建的进程来绕过它。只需手动打开Avaya (双击Avaya CMS主管的图标)并使用您的凭据登录即可。在您成功注册后,最小化Avaya。
现在,我们要稍微修改一下脚本:
删除: Dim cvsConn As New ACSCN.cvsConnection
出发地:
Dim cvsApp As New ACSUP.cvsApplication 'acsApp.exe`
Dim cvsConn As New ACSCN.cvsConnection 'cvsconn.dll
Dim cvsSrv As New ACSUPSRV.cvsServer 'acsSRV.exe
Dim Rep As New ACSREP.cvsReport 'acsRep.exe
Dim Info As Object, Log As Object, b As Object
Dim InfoOB As Object, LogOB As Object, bOB As Object替换:
cvsApp.CreateServer(UserName, "", "", serverAddress, False, "ENU", cvsSrv, cvsConn)
cvsConn.Login(UserName, passW, serverAddress, "ENU")WITH:
Set cvsSrv = cvsApp.Servers(1)希望这能帮到你们。它应该通过允许您使用已经打开的连接来解决这个问题,而不是让脚本在处理报告时在后台创建进程。如果你不忘先打开Avaya,那么一切都应该顺利进行。
https://stackoverflow.com/questions/41103684
复制相似问题