Excel2007VBA-Avaya CMS-SSH脚本

Excel2007VBA-Avaya CMS-SSH脚本,vba,excel,ssh,avaya,Vba,Excel,Ssh,Avaya,规格 Excel 2007、VBA、Avaya CMS主管R16.2 大约2年前,我整合了一些脚本来自动化我们在Avaya所做的报告。它一直工作得很好,但本周末出现了一些奇怪的问题,据说我们要将Avaya的连接从“网络”切换到“SSH”。这并没有改变任何事情,只是简单地说这似乎是可行的,他们同意这是奇怪的,它刚刚开始发生。不幸的是,我的脚本不再工作了,我对如何使用SSH工作感到困惑 Dim cvsApp As New ACSUP.cvsApplication 'acsApp.exe Dim cv

规格

Excel 2007、VBA、Avaya CMS主管R16.2

大约2年前,我整合了一些脚本来自动化我们在Avaya所做的报告。它一直工作得很好,但本周末出现了一些奇怪的问题,据说我们要将Avaya的连接从“网络”切换到“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并连接到服务器的部分。如果有人对此有任何线索,请与我分享。同样,它在“网络”(端口23)连接中工作正常,不再使用“SSH”(端口22)

脚本只是挂起,而不是生成任何类型的有用错误。在excel中,它返回一个“运行时错误'9':下标超出范围”,这只是一个基本错误,如果它无法连接到Avaya以提取数据,就会发生这种错误


提前谢谢

在亲自与Avaya交谈之后,我没有找到任何解决方案,于是我开始进一步处理这个问题,这样我就可以让报告再次自动化。如果您遇到了同样的问题,这就是我找到的解决方案:

Set cvsSrv = cvsApp.Servers(1)
因为SSH阻止我们为Avaya创建进程,所以让我们先启动进程,然后抓住那些创建的进程来绕过它。只需手动打开Avaya(双击Avaya CMS主管图标)并使用您的凭据登录即可。成功登录后,最小化Avaya

现在,我们要对脚本进行一些修改:

删除:
将cvsConn变暗为新的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")
替换:

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")
与:

Set cvsSrv = cvsApp.Servers(1)
我希望这对你们大家都有帮助。它应该通过允许您使用已经打开的连接来解决问题,而不是让脚本在处理报告时在后台创建流程。如果你没有忘记先打开Avaya,那么一切都会顺利进行