Ejecutar macro

13/06/2008 - 13:14 por crisyolis | Informe spam
Hola, ¿se puede ejecutar una macro de un archivo excel que esté cerrado?
Gracias.

Preguntas similare

Leer las respuestas

#1 Juan M
17/06/2008 - 13:01 | Informe spam
Hola,

Una macro pública es aquella que su visibilidad es para todo el proyecto, es
decir, puedes ejecutarla desde cualquier módulo que estés.
Si desde las hojas de excel intentas ejecutarla aparece en el listado de
macros que puedes emplear.
Su definición es
Public Sub MacroPublica() o Sub MacroPublica

Una macro privada es aquella que solo es visible desde el módulo donde está,
solo se la puede llamar desde otros procedimientos de ese módulo. Su
definición es:
Private Sub MacroPrivada()

En el listado de macros del libro (alt+F8) no es visible.

Un saludo,
Juan

"crisyolis" escribió
Cómo sé que es una macro pública?

"Juan M" wrote:

Hola de nuevo,

He leído mal,

>> que no encuentra la macro en el archivo .xls.

El archivo de excel que has creado le has guardado con una macro pública?
tiene la macro el mismo nombre que la quieres ejecutar?

>>> xlapp.run ("ComparaFecha")

En esta línea tienes que poner el nombre de tu macro, asegurate de que en
la
definición de la misma no aparezca Private sub.

Un saludo,
Juan

>
>
> "crisyolis" escribió
>> Holal,
>>
>> He hecho lo que me has propuesto pero cuando ejecuto el archivo .vbs
>> me
>> dice
>> que no encuentra la macro en el archivo .xls.
>>
>> Slds,
>>
>> "Juan M" wrote:
>>
>>> Hola,
>>>
>>> Para hacer eso podrías programar una macro que se encargue de todo
>>> eso
>>> comprobar la fecha y preparar los correos electrónicos pertinentes.
>>> Por
>>> si
>>> quieres ejecutar manualmente la comprobación.
>>>
>>> Para ejecutar la consulta automáticamente, puedes preparar un script
>>> que
>>> lances diariamente desde el programador de tareas del sistema
>>> operativo.
>>>
>>> Algo de esta forma:
>>> En un archivo de texto plano y lo guardas como *.vbs
>>> Abre el archivo y ejecuta una macro de ese archivo, luego lo vuelve a
>>> cerrar
>>> y envía un mensaje de que ha terminado.
>>>
>>> Inicio Código
>>> dim xlApp, strArchivo, wrkL
>>> strArchivo="C:\temp\MiArchivo.xls"
>>> 'Creo un objeto Excel
>>> set xlApp=CreateObject("Excel.Application")
>>> 'No hace visible la aplicacion
>>> xlApp.Visible=false
>>> set wrkL = xlApp.workbooks.open(strArchivo)
>>> 'Ejecuta una macro del libro
>>> xlapp.run ("ComparaFecha")
>>> wrkL.save
>>> xlApp.quit
>>> msgbox "Terminada la Actualizacion",64,"¡¡ATENCION!!"
>>> set wrkL = nothing
>>> set lapp = nothing
>>>
>>> Fin Codigo
>>>
>>> Para comprar con la fecha, una macro en el libro que vamos a abrir,
>>> compara
>>> la fecha que hay en la celda A1 de la hoja 1 con la del sistema menos
>>> 20.
>>>
>>> Sub ComparaFecha()
>>> If Worksheets(1).Range("A1") <= Date - 20 Then
>>> MsgBox "No envies mensaje"
>>> Else
>>> MsgBox "Envía mensaje"
>>> End If
>>> End Sub
>>>
>>> Para enviar correos electrónicos puedes emplear lo que se indica en
>>> el
>>> siguiente enlace
>>> Página de Ron de Bruin
>>> http://www.rondebruin.nl/sendmail.htm
>>>
>>> Un saludo,
>>> Juan
>>>
>>> "crisyolis" escribió
>>> > Hola,
>>> >
>>> > En el fichero hay una serie de fechas de caducidad y lo que quiero
>>> > es
>>> > comparar esas fechas con la fecha del sistema y si quedan 20 días
>>> > para
>>> > que
>>> > llegue a la fecha mínima que me envíe un correo electrónico como
>>> > alerta.
>>> >
>>> > Slds.
>>> >
>>> > "Juan M" wrote:
>>> >
>>> >> Hola,
>>> >>
>>> >> No, primero debes abrir la aplicación para que pueda interpretar
>>> >> los
>>> >> comandos, otra cosa sería que crearas un script con las
>>> >> instrucciones
>>> >> que
>>> >> pretendes realizar.
>>> >>
>>> >> y si no es demasiada molestia, ¿Para que quieres ejecutar una
>>> >> macro
>>> >> de
>>> >> excel
>>> >> con el archivo cerrado? o ¿que es lo que pretendes realizar?
>>> >>
>>> >> Un saludo,
>>> >> Juan
>>> >>
>>> >> "crisyolis" escribió
>>> >> > Hola, ¿se puede ejecutar una macro de un archivo excel que esté
>>> >> > cerrado?
>>> >> > Gracias.
>>> >>
>>> >>
>>> >>
>>>
>>>
>>>
>
>



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida