Me pasaron este código y no conozco este lenguaje mucho. Es para ejecutar un store procedure desde excel.

Public Function Generar_Reporte(CodEmpresa, FechaDesde, FechaHasta)

Dim Desde As Date
Dim Hasta As Date
Dim RecordSet As Object
Desde = FechaDesde
Hasta = FechaHasta
Set Conect = CreateObject("ADODB.Connection")

'Ejecutamos el SQL para llamar al RecordSet
Conect.Open "exec REPORTE_DINERO '" & CodEmpresa & "', '" & Desde & "', '" & Hasta & "'"
' variables para los indices de las filas y columnas
Columna = 0
Fila = 0
'AQUÍ recorro las columnas para añadir el nombre del campo al encabezado
For i = 0 To Conect.Fields.Count - 1
Hoja1.Range(Chr(i + 65) & Fila + 1).Value = RecordSet.Fields(i).Name
Next
Fila = Fila + 1
'RECORRO todo el RecordSet hasta el final
Do While Not Conn.EOF
'RECORRO los campos en el registro actual del RecordSet para recuperar el dato
For i = 0 To Conn.Fields.Count - 1
' añade el valor a la celda
Hoja1.Range(Chr(Columna + 65) & _
Fila + 1).Value = Conn.Fields(Columna)
Columna = Columna + 1
Next
'RESETEO el índice de las columnas
Columna = 0
'REALIZO una referencia al registro actual (incrementa)
Fila = Fila + 1
'Siguiente Registro
Conn.MoveNext
Loop
'CIERRO y Descargo las referencias
On Error Resume Next
Conn.Close
Set Conect = Nothing
Call CrearObjetoTabla
Exit Function
ErrorHandler:
MsgBox "ERROR: " & Err.Description, vbExclamation, "Gestor SQLServer"

End Function

Option Explicit

Public Conn As ADODB.Connection
Public cmd As ADODB.Command
Public Conectado As Boolean

Public Function Conectar_SQLserver(servidor As String, usuario As String, pass As String, base As String)
On Error GoTo Salir
Set Conn = New ADODB.Connection
Conn.ConnectionString = "Data Source=" & servidor & ";" & _
"Initial Catalog=" & base & ";" & _
"Persist Security Info=True;" & _
"User ID=" & usuario & ";" & _
"Password=" & pass & ";" & _
"provider=SqlOLEDB.1"

Conn.Open
Conectado = True
Salir:
If Err <> 0 Then
MsgBox Err.Description, vbCritical
Conectado = False
End If
End Function

Añade tu respuesta

Haz clic para o