Excel 2007 VBA - Avaya CMS - SSH破坏了脚本

时间:2016-12-12 15:01:53

标签: excel vba excel-vba ssh avaya

功能

Excel 2007,VBA,Avaya CMS Supervisor R16.2

大约2年前,我汇总了一些脚本来自动化我们在Avaya中所做的报告。它工作得很好,但本周末发生了一些奇怪的问题,IT部门表示我们要在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以提取数据。

提前致谢!

1 个答案:

答案 0 :(得分:1)

在与Avaya亲自交谈后,根本没有解决方案,我开始进一步搞砸了,所以我可以再次自动报告。如果您遇到同样的问题,这就是我达成的解决方案:

由于SSH阻止我们为Avaya创建流程,让我们首先启动流程,然后抓住这些创建的流程。只需手动打开Avaya(双击Avaya CMS Supervisor的图标),然后使用您的凭据登录。成功登录后,最小化Avaya。

现在我们要稍微更改一下脚本:

删除: Dim cvsConn As New ACSCN.cvsConnection

FROM:

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,那么一切都应该顺利进行。