При выполнении макроса из VBScript выдается ошибка
Метод CopyFromRecordset объекта 'Range' не выполнен
Но он работает нормально, когда я выполняю его из книги Excel.
Я пытался выполнить из книги Excel, и она работала нормально.
Код VBA: Установить conn = Новый ADODB.Connection conn.connectionString = "PROVIDER = SQLOLEDB; ИСТОЧНИК ДАННЫХ = localhost \ SQLEXPRESS; НАЧАЛЬНЫЙ КАТАЛОГ= DEVDB; ИНТЕГРИРОВАННАЯ БЕЗОПАСНОСТЬ = sspi; "Set rs = New ADODB.Recordset
str = "exec SP_Getcustomers @RequestID=" & requestID
rs.Open str, conn, adOpenStatic, adLockReadOnly
If Not IsEmptyRecordset(rs) Then
rs.MoveFirst
'Populate the first row of the sheet with recordset’s field names
i = 0
For Each fld In rs.Fields
ActiveWorkbook.Worksheets("Customer Table").Cells(1, i + 1).Value = rs.Fields.Item(i).Name
i = i + 1
Next fld
'Populate the sheet with the data from the recordset
ActiveWorkbook.Worksheets("Customer Table").Range("A2").CopyFromRecordset rs
End If
Код сценария VB:
Dim path, macroname
path = ""
path = Wscript.Arguments.Item(2)
macroname = ""
macroname = Wscript.Arguments.Item(3)
Set objExcel = CreateObject("Excel.Application")
objExcel.Application.Run "'" & path & "'!" & macroname, WScript.Arguments.Item(0)
objExcel.Visible = False
objExcel.DisplayAlerts = False
objExcel.Application.Quit
Set objExcel = Nothing