我在这里需要一些帮助:( 好的,这就是我想要做的,打开excel并从CMS(呼叫管理系统)运行间隔报告(" Historical \ Designer \ GSD CR摘要间隔报告")。 当我打开我的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
非常感谢任何帮助。
答案 0 :(得分:0)
只需将Dim cvsConn as New ACSCN.cvsConnection
更改为Dim cvsConn as Object
。