我已经在VBScript中编写了代码。我在下面显示的代码的特定部分出现错误。
[ActiveX脚本任务]错误:用户脚本引发异常:错误代码:0
错误源= Microsoft VBScript运行时错误
错误描述:所需对象:'REGroupSBUOps'第85行出错
'Declaring and connection string statements
strREGroupSBUOps ="sp_CPVarianceOpsReport6"
Set REGroupSBUOps = oDBCon.Execute(strREGroupSBUOps)
Dim arr()
ReDim arr(6)
Dim i
arr(0) = "REGroupSBUOps"
arr(1) = "DandBSBUOps"
arr(2) = "Tristate/Central/EastSBUOps"
arr(3) = "WestSBUOps"
arr(4) = "EastSBUOps"
arr(5) = "UKSBUOps"
If Not (arr(i).EOF) Then ' <--error on this line
'followed by other statements
答案 0 :(得分:0)
将代码放入For
循环中,并将其与实际执行的存储过程一起放入子中。将存储过程调用和数组中的名称作为参数传递给sub。将所有出现的arr(i)
替换为获取存储过程调用返回的记录的变量的名称(在下面的示例中为rs
)。
Sub ExportData(sp, name)
Set rs = oDBCon.Execute(sp)
If Not rs.EOF Then
sFileName1 = "\\CTSC00579895801\ime\MailReports\" & name & ".xls"
Set oFSOExcelFile = CreateObject("Scripting.FileSystemObject")
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
...
objExcel.Quit
Set objExcel = Nothing
End If
End Sub
ExportData "sp_CPVarianceOpsReport 1" "Tristate_Central_EastSBUOps"
ExportData "sp_CPVarianceOpsReport 2" "UKSBUOps"
...
作为进一步的优化,您可能希望将Excel和FileSystemObject对象创建为全局单例,只需处理子文件中的文件,而不是反复创建和销毁这些实例。