Как исправить ошибку CopyFromRecordset в VBScript - PullRequest
1 голос
/ 25 марта 2019

При выполнении макроса из 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...