0

我有一个从 Avaya CMS 中提取数据的 excel 报告,但是他们将 Avaya CMS 应用程序从我的工作站移到了 RD Web Access。现在 VBA 不再工作了,因为安装在我的工作站上的旧 CMS 现在处于 RD Web 访问中。是否可以通过 RD Web 访问访问 Avaya CMS 以通过 VBA 提取报告以实现 Excel?

提前致谢!!

Sub GetIntervalData()

Dim cvsApp As Object
Dim cvsConn As Object
Dim cvsSrv As Object
Dim Rep As Object

Dim Info As Object, Log As Object, b As Object

Set cvsApp = CreateObject("ACSUP.cvsApplication")
'Set cvsConn = CreateObject("ACSCN.cvsConnection")
Set cvsSrv = CreateObject("ACSUPSRV.cvsserver")
Set Rep = CreateObject("ACSREP.cvsReport")

'Clear Data
Sheets("Domestic Interval Data").Select
Range("A1:AR300").ClearContents

Sheets("Domestic").Activate

serverAddress = Range("B1").Value
UserName = Range("B2").Value
Password1 = Range("C2").Value

If cvsApp.CreateServer(UserName, "", "", serverAddress, False, "ENU", cvsSrv, cvsConn) Then

If cvsConn.Login(UserName, Password1, serverAddress, "ENU") Then

On Error Resume Next

   cvsSrv.Reports.ACD = 1
   Set Info = cvsSrv.Reports.Reports("Historical\Designer\APS Report (MultiSkill)")

   If Info Is Nothing Then
      If cvsSrv.Interactive Then
          MsgBox "The report Historical\Designer\APS Report (MultiSkill) was not found on ACD 1.", vbCritical Or vbOKOnly, "Avaya CMS Supervisor"
      Else
          Set Log = CreateObject("ACSERR.cvsLog")
          Log.AutoLogWrite "The report Historical\Designer\APS Report (MultiSkill) was not found on ACD 1."
          Set Log = Nothing
      End If
   Else

       b = cvsSrv.Reports.CreateReport(Info, Rep)
       If b Then

          Rep.Window.Top = 75
          Rep.Window.Left = 690
          Rep.Window.Width = 19140
          Rep.Window.Height = 11400

                  Rep.TimeZone = "default"

         Rep.SetProperty "Split/Skills","1555;1551;1552;1553;1554;1570;1998;1999"

         Rep.SetProperty "Dates", "2/14/2018"

          Rep.SetProperty "Times", "00:00-23:30"

          b = Rep.ExportData("", 9, 0, False, False, True)

          Rep.Quit

              If Not cvsSrv.Interactive Then cvsSrv.ActiveTasks.Remove Rep.TaskID
          Set Rep = Nothing
       End If

   End If
   Set Info = Nothing

End If

cvsApp.Servers.Remove cvsSrv.ServerKey
cvsConn.Logout
cvsConn.Disconnect
cvsSrv.Connected = False

Set Log = Nothing
Set Rep = Nothing
Set cvsSrv = Nothing
Set cvsConn = Nothing
Set cvsApp = Nothing

Sheets("Domestic Interval Data").Select
Range("A1").Select
ActiveSheet.Paste

End If

Sheets("Domestic").Activate

End Sub

**此代码创建 avaya cms 会话并运行报告,将其提取并直接粘贴到 Excel

4

1 回答 1

0

我使用 Avaya CMS 已经七年多了,但我过去常常使用 CMS Supervisor 来设计报告。你可以访问这个吗?如果是这样,您应该能够编写一个简单的报告来提取您需要的数据。我会看看我是否能找到我的旧指南。

于 2018-06-15T17:35:18.207 回答