我需要一些帮助:(好的,这就是我想要做的,打开 excel 并从 CMS(呼叫管理系统)运行间隔报告((“Historical\Designer\GSD CR Summary Interval Report”)。当我打开我的excel文件我会选择CMS要搜索的时间/日期范围和技能。请看下图:
填写完所有需要的字段后,点击生成报告,VBA将接管,清除CMS RawData中的所有数据并粘贴新数据。我一直收到一个未定义的错误,无法理解它......代码是:`'
Created by Keith Carpenter
06/01/2016
Dim cvsApp As New ACSUP.cvsApplication
Dim cvsConn As New ACSCN.cvsConnection
Dim cvsSrv As New ACSUPSRV.cvsServer
Dim Rep As New ACSREP.cvsReport
Dim Info As Object, Log As Object, b As Object
'This method is the main function that prepare the extraction from CMS to load in Excel
Public Sub ReportInterval()
On Error GoTo ErrHandler:
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Unhide_Sheets
'Clean the MTD sheet
Sheets("CMS_RawData").Select
Cells.Select
Selection.ClearContents
Range("A1").Select
'Checking if current CMS session is opened
Set cvsSrv = cvsApp.Servers(1)
Sheets("SLA Dashboard").Select
'Select first skill in the list
Range("F8").Select
Dim sSkills As String
Dim sDate As String
Dim sTimes As String
'The report will run for each skills listed in the first table
For Each c In Sheets("Settings").Range("A2:A26")
If (Not IsEmpty(c.Value)) Then
sSkills = sSkills & ";" & c.Text
End If
Next c
If ActiveSheet.Range("F6").Text = ActiveSheet.Range("F7").Text Then
sDate = ActiveSheet.Range("F6")
Else
sDate = ActiveSheet.Range("F6") & "-" & ActiveSheet.Range("F7")
End If
If ActiveSheet.Range("F4").Text = ActiveSheet.Range("F5").Text Then
sTimes = ActiveSheet.Range("F5")
Else
sTimes = ActiveSheet.Range("F4") & "-" & ActiveSheet.Range("F5")
End If
'Call GSD CR Summary Interval Report
Call doRep("Historical\Designer\GSD CR Summary Interval Report", Right(sSkills, Len(sSkills) - 1), sDate, sTimes)
'Copy the content of the clipboard in Excel
Sheets("CMS_RawData").Select
Range("A1").Select
Selection.PasteSpecial
'Close the connection
Call logout
Exit Sub
ErrHandler:
If Err.Number <> 91 Then
MsgBox "Please log in to CMS", vbOKOnly, "Error"
End If
Resume Next
End Sub
在这里的任何帮助将不胜感激。`