¿Cómo pasar parámetros a una macro?

18/05/2004 - 08:55 por Rubén | Informe spam
Hola grupo,

me gustaría poder pasarle parámetros a una macro para después realizar una
consulta a una base de datos, ¿cómo podría hacer esto?

Un saludo.

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
18/05/2004 - 22:38 | Informe spam
hola, Rubén !

... pasarle parametros a una macro para despues realizar una consulta a una base de datos [...]



suponiendo que ya tienes definido el procedimiento para la consulta...
podrias 'convertir' [algunas de] las variables de 'ese' procedimiento a 'argumentos' [solicitados por el mismo]
que tendrian que ser 'pasados' por la macro que 'lo llame' [en cualquier otro momento] p.e
si tienes un procedimiento para la consulta como...
_________________
Sub ConsultarDatos()
Dim Consulta As String, DelArchivo As String, [etc.]
Consulta = "Esta es la consulta"
Archivo = "C:\Mis documentos\Este archvo.EXT"
' aqui siguen las lineas para la consulta ...'
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
podrias 'cambiar' las variables a argumentos p.e.
_________________
Sub ConsultarDatos(ByVal Consulta As String, ByVal Archivo As String)
' aqui siguen las lineas para la consulta ...'
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
y posteriormente 'usar' [de manera 'flexible'] ese procedimiento 'llamandolo' [desde otro] p.e.
_________________
Sub NuevaConsulta()
ConsultarDatos "Esta es la consulta", "C:\Mis documentos\Este archivo.EXT"
End Sub
¨¨¨¨¨¨¨¨¨¨¨¨
si cualquier duda, o informacion adicional... ¿comentas?
saludos,
hector.
Respuesta Responder a este mensaje
#2 Rubén
19/05/2004 - 09:17 | Informe spam
Hola Héctor,

quizás mi explicación no ha sido muy buena, voy a intentar dar más
detalles...

Tengo una macro en excel dentro del evento Auto_Open() que llama a un
procedimiento almacenado de SQL Server y devuelve un recordset mostrandose
el resultado en una tabla. Lo que me gustaría hacer es llamar a ese
documento en excel desde ASP y pasarle unos parámetros (intervalo de fechas)
de forma que el procedimiento almacenado realice un filtro sobre los datos
que devuelve. ¿hay alguna manera de hacer esto? o no se puede...

Mi intención es que al abrir el documento se ejecute la macro
automáticamente y devuelva los resultados correspondientes a las fechas que
ha seleccionado el usuario.

Un saludo y gracias.
Respuesta Responder a este mensaje
#3 Héctor Miguel
20/05/2004 - 08:36 | Informe spam
hola, Rubén !

... macro en ... evento Auto_Open() ... procedimiento ... de SQL Server ... devuelve un recordset ... en una tabla.
... me gustaria ... llamar a ese documento en excel desde ASP y pasarle unos parametros (intervalo de fechas)
... que el procedimiento ... realice un filtro sobre los datos que devuelve. ¿hay alguna manera de hacer esto? [...]
... que al abrir el documento ... la macro ... devuelva los resultados ... fechas que ha seleccionado el usuario.



1.- para que la macro se ejecute 'automatica' al abrir el libro... =>ya esta [en el evento '_Open']<= :))
2.- para que el usuario 'le pase' los parametros [antes de que se 'siga ejecutando']...
una [posible] opcion seria a traves de inputboxes y que el usuario introduzca las fechas
=>quizas... 'verificando' que los intruduzca 'en el orden apropiado' dd/mm/aa o... mm/dd/aa o... ???<3.- para que la macro 'termine' con un 'filtrado' de la tabla 'resultante'...
[necesitas proporcionar mas datos acerca de la tabla] ;)
- nombre de la hoja
- rango de datos [de la tabla 'resultante' -o el nombre del rango/tabla-]
- columna que 'mandara' para el filtrado
- tipo de datos/formato de las fechas [para filtrar 'correctamente']
4.- para 'llamar' al documento [xls] desde asp...
[no lo he probado :( pero el siguiente 'script' deberia de funcionar] :))
________
<SCRIPT LANGUAGE = "VBScript" %>

<%Sub Abrir_mi_archivo()
With CreateObject("Excel.Application")
.Workbooks.Open "Unidad:\Ruta\Nombre del libro.xls"
.Visible = True
End With
End Sub%>

<%Call Abrir_mi_archivo()%>
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
¿comentas?
saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida