Frecuencia grabación Hoja

30/07/2003 - 11:16 por Irueli | Informe spam
Saludos,

Tengo una macro para guardar una hoja excel como pagina web, funciona bien.
Ahora quisiera incluirle que cada 15 minutos, me la grabase, de forma
continua, sin intervenir yo y dandole solo una vez al botón donde adjudico
la macro.

La verdad es que he intentado algo con Timer y un do while, pero no me
funciona, me lo hace una vez y nada más.

Si se pudiese interrumpir tambien una vez en marcha, pues mejor.
Aquí os adjunto la macro de grabar como pagina web.
Gracias por la atención

Sub GrabarHTM()
'
' GrabarHTM Macro
' grabar excel a htm
'
' Acceso directo: CTRL+z
'
Range("I2").Select
ActiveWindow.LargeScroll Down:=4
Range("A2:N123").Select
Range("A1").Activate
With ActiveWorkbook.PublishObjects.Add(xlSourceRange, _
"C:\Isiweb\cotizaciones.htm", "Hoja1", "$A$2:$N$123", xlHtmlStatic,
_
"inputwebMC_4945", "")
.Publish (True)
.AutoRepublish = False
End With
ChDir "C:\Isiweb"
Range("A1").Select
End Sub

Saludos y suerte
irueli@terra.es
http://www.terra.es/personal/irueliri

Preguntas similare

Leer las respuestas

#1 Ana Cuesta [MS]
30/07/2003 - 12:06 | Informe spam
Hola ,

Esto se puede hacer utilizando el método Ontime del objeto aplicación, así
lo que tienes que hacer es en el evento Open del objeto WOrkbook poner lo
siguiente:
Application.OnTime EarliestTime:=Now +TimeValue("00:15:00"),
Procedure:="GrabarHTM", Schedule:=True
Esto hace que a partir de 15 minutos desde que abres el libro se ejecute tu
macro . NO puedes olvidar en el evento BeforeClose desactivar esta macro
para ello:
Application.OnTime EarliestTime:=Now , Procedure:="GrabarHTM",
Schedule:=False

Espero que te sirva de ayuda
Un saludo

Ana Cuesta
Microsoft España

Este mensaje se proporciona "como está" sin garantías de ninguna clase, y no
otorga ningún derecho.
"Irueli" wrote in message
news:T1MVa.759362$
Saludos,

Tengo una macro para guardar una hoja excel como pagina web, funciona


bien.
Ahora quisiera incluirle que cada 15 minutos, me la grabase, de forma
continua, sin intervenir yo y dandole solo una vez al botón donde adjudico
la macro.

La verdad es que he intentado algo con Timer y un do while, pero no me
funciona, me lo hace una vez y nada más.

Si se pudiese interrumpir tambien una vez en marcha, pues mejor.
Aquí os adjunto la macro de grabar como pagina web.
Gracias por la atención

Sub GrabarHTM()
'
' GrabarHTM Macro
' grabar excel a htm
'
' Acceso directo: CTRL+z
'
Range("I2").Select
ActiveWindow.LargeScroll Down:=4
Range("A2:N123").Select
Range("A1").Activate
With ActiveWorkbook.PublishObjects.Add(xlSourceRange, _
"C:\Isiweb\cotizaciones.htm", "Hoja1", "$A$2:$N$123",


xlHtmlStatic,
_
"inputwebMC_4945", "")
.Publish (True)
.AutoRepublish = False
End With
ChDir "C:\Isiweb"
Range("A1").Select
End Sub

Saludos y suerte

http://www.terra.es/personal/irueliri


Respuesta Responder a este mensaje
#2 Irueli
31/07/2003 - 01:30 | Informe spam
Pues algo quiere hacer pero no lo consigo.
Si pongo esos dos eventos en el modulo que esta la macro, me graba solo una
vez.
Si pongo esos dos eventos en Thisworkbook, me dice que no encuentra la macro
Si pongo en la hoja1, me dice error en el evento beforeclose().
En ningun caso he conseguido grabar dos veces.

Al declarar esos dos eventos los pongo como Private(como me sale por
defecto)
Si no te es mucha molestia :
¿en donde pongo los eventos? ¿en donde pongo la macro? ¿Private ó Public a
esos dos eventos?
Perdona, pero es que casi está y llevo un monton de pruebas y esperas y ya
me interesaria dejarlo bien.
Gracias si me puedes ayudar.


Saludos y suerte

http://www.terra.es/personal/irueliri


"Ana Cuesta [MS]" escribió en el mensaje
news:
Hola ,

Esto se puede hacer utilizando el método Ontime del objeto aplicación, así
lo que tienes que hacer es en el evento Open del objeto WOrkbook poner lo
siguiente:
Application.OnTime EarliestTime:=Now +TimeValue("00:15:00"),
Procedure:="GrabarHTM", Schedule:=True
Esto hace que a partir de 15 minutos desde que abres el libro se ejecute


tu
macro . NO puedes olvidar en el evento BeforeClose desactivar esta macro
para ello:
Application.OnTime EarliestTime:=Now , Procedure:="GrabarHTM",
Schedule:=False

Espero que te sirva de ayuda
Un saludo

Ana Cuesta
Microsoft España

Este mensaje se proporciona "como está" sin garantías de ninguna clase, y


no
otorga ningún derecho.
"Irueli" wrote in message
news:T1MVa.759362$
> Saludos,
>
> Tengo una macro para guardar una hoja excel como pagina web, funciona
bien.
> Ahora quisiera incluirle que cada 15 minutos, me la grabase, de forma
> continua, sin intervenir yo y dandole solo una vez al botón donde


adjudico
> la macro.
>
> La verdad es que he intentado algo con Timer y un do while, pero no me
> funciona, me lo hace una vez y nada más.
>
> Si se pudiese interrumpir tambien una vez en marcha, pues mejor.
> Aquí os adjunto la macro de grabar como pagina web.
> Gracias por la atención
>
> Sub GrabarHTM()
> '
> ' GrabarHTM Macro
> ' grabar excel a htm
> '
> ' Acceso directo: CTRL+z
> '
> Range("I2").Select
> ActiveWindow.LargeScroll Down:=4
> Range("A2:N123").Select
> Range("A1").Activate
> With ActiveWorkbook.PublishObjects.Add(xlSourceRange, _
> "C:\Isiweb\cotizaciones.htm", "Hoja1", "$A$2:$N$123",
xlHtmlStatic,
> _
> "inputwebMC_4945", "")
> .Publish (True)
> .AutoRepublish = False
> End With
> ChDir "C:\Isiweb"
> Range("A1").Select
> End Sub
>
> Saludos y suerte
>
> http://www.terra.es/personal/irueliri
>
>


Respuesta Responder a este mensaje
#3 Ana Cuesta [MS]
31/07/2003 - 09:37 | Informe spam
Tienes que ponerlo todo en los eventos de ThisWorkbook y ahí mismo poner la
macro grabarhtm para que la encuentre. Así pues te quedaría:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnTime EarliestTime:=Now, Procedure:="GrabarHTM",
Schedule:=False
End Sub

Private Sub Workbook_Open()
Application.OnTime EarliestTime:=Now + TimeValue("00:15:00"),
Procedure:="GrabarHTM", Schedule:=True
End Sub

Sub GrabarHTM()
Range("I2").Select
ActiveWindow.LargeScroll Down:=4
Range("A2:N123").Select
Range("A1").Activate
With ActiveWorkbook.PublishObjects.Add(xlSourceRange,
"C:\cotizaciones.htm", "Hoja1", "$A$2:$N$123", xlHtmlStatic,
"inputwebMC_4945", "")
.Publish (True)
.AutoRepublish = False
End With
ChDir "C:\"
Range("A1").Select
End Sub

Si quieres copia y pega esto en el libro. A mi em funciona.

Un saludo

Ana Cuesta
Microsoft España

Este mensaje se proporciona "como está" sin garantías de ninguna clase, y no
otorga ningún derecho.
"Irueli" wrote in message
news:YxYVa.780515$
Pues algo quiere hacer pero no lo consigo.
Si pongo esos dos eventos en el modulo que esta la macro, me graba solo


una
vez.
Si pongo esos dos eventos en Thisworkbook, me dice que no encuentra la


macro
Si pongo en la hoja1, me dice error en el evento beforeclose().
En ningun caso he conseguido grabar dos veces.

Al declarar esos dos eventos los pongo como Private(como me sale por
defecto)
Si no te es mucha molestia :
¿en donde pongo los eventos? ¿en donde pongo la macro? ¿Private ó Public a
esos dos eventos?
Perdona, pero es que casi está y llevo un monton de pruebas y esperas y ya
me interesaria dejarlo bien.
Gracias si me puedes ayudar.


Saludos y suerte

http://www.terra.es/personal/irueliri


"Ana Cuesta [MS]" escribió en el mensaje
news:
> Hola ,
>
> Esto se puede hacer utilizando el método Ontime del objeto aplicación,


así
> lo que tienes que hacer es en el evento Open del objeto WOrkbook poner


lo
> siguiente:
> Application.OnTime EarliestTime:=Now +TimeValue("00:15:00"),
> Procedure:="GrabarHTM", Schedule:=True
> Esto hace que a partir de 15 minutos desde que abres el libro se ejecute
tu
> macro . NO puedes olvidar en el evento BeforeClose desactivar esta macro
> para ello:
> Application.OnTime EarliestTime:=Now , Procedure:="GrabarHTM",
> Schedule:=False
>
> Espero que te sirva de ayuda
> Un saludo
>
> Ana Cuesta
> Microsoft España
>
> Este mensaje se proporciona "como está" sin garantías de ninguna clase,


y
no
> otorga ningún derecho.
> "Irueli" wrote in message
> news:T1MVa.759362$
> > Saludos,
> >
> > Tengo una macro para guardar una hoja excel como pagina web, funciona
> bien.
> > Ahora quisiera incluirle que cada 15 minutos, me la grabase, de forma
> > continua, sin intervenir yo y dandole solo una vez al botón donde
adjudico
> > la macro.
> >
> > La verdad es que he intentado algo con Timer y un do while, pero no me
> > funciona, me lo hace una vez y nada más.
> >
> > Si se pudiese interrumpir tambien una vez en marcha, pues mejor.
> > Aquí os adjunto la macro de grabar como pagina web.
> > Gracias por la atención
> >
> > Sub GrabarHTM()
> > '
> > ' GrabarHTM Macro
> > ' grabar excel a htm
> > '
> > ' Acceso directo: CTRL+z
> > '
> > Range("I2").Select
> > ActiveWindow.LargeScroll Down:=4
> > Range("A2:N123").Select
> > Range("A1").Activate
> > With ActiveWorkbook.PublishObjects.Add(xlSourceRange, _
> > "C:\Isiweb\cotizaciones.htm", "Hoja1", "$A$2:$N$123",
> xlHtmlStatic,
> > _
> > "inputwebMC_4945", "")
> > .Publish (True)
> > .AutoRepublish = False
> > End With
> > ChDir "C:\Isiweb"
> > Range("A1").Select
> > End Sub
> >
> > Saludos y suerte
> >
> > http://www.terra.es/personal/irueliri
> >
> >
>
>


Respuesta Responder a este mensaje
#4 Irueli
31/07/2003 - 11:54 | Informe spam
Muchas gracias, ya funciona y con alguna otra cosa más que me han enviado,
pues además aprendido.

Y abusando un poco más (haré pruebas), si tengo por ejemplo dos o tres hojas
más de excel que grabar, con sus macros, tendría que ponerlas en la misma
subrutina en Procedure, supongo.
¿me podiais indicar donde puedo ver ayuda sobre procedure y como sería la
"sintaxis" de la orden para dos macros?

De todas estas ordenes, Ontime,procedure,earliestTime,schedule y las que
haya, ¿donde puedo encontrar ayuda y descripciones? ¿que son, metodos,
ordenes ó funciones de VBA?
Es para ir aprendiendo y no estar "chupando" rueda.


Saludos y suerte

http://www.terra.es/personal/irueliri


"Ana Cuesta [MS]" escribió en el mensaje
news:
Tienes que ponerlo todo en los eventos de ThisWorkbook y ahí mismo poner


la
macro grabarhtm para que la encuentre. Así pues te quedaría:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnTime EarliestTime:=Now, Procedure:="GrabarHTM",
Schedule:=False
End Sub

Private Sub Workbook_Open()
Application.OnTime EarliestTime:=Now + TimeValue("00:15:00"),
Procedure:="GrabarHTM", Schedule:=True
End Sub

Sub GrabarHTM()
Range("I2").Select
ActiveWindow.LargeScroll Down:=4
Range("A2:N123").Select
Range("A1").Activate
With ActiveWorkbook.PublishObjects.Add(xlSourceRange,
"C:\cotizaciones.htm", "Hoja1", "$A$2:$N$123", xlHtmlStatic,
"inputwebMC_4945", "")
.Publish (True)
.AutoRepublish = False
End With
ChDir "C:\"
Range("A1").Select
End Sub

Si quieres copia y pega esto en el libro. A mi em funciona.

Un saludo

Ana Cuesta
Microsoft España

Este mensaje se proporciona "como está" sin garantías de ninguna clase, y


no
otorga ningún derecho.
"Irueli" wrote in message
news:YxYVa.780515$
> Pues algo quiere hacer pero no lo consigo.
> Si pongo esos dos eventos en el modulo que esta la macro, me graba solo
una
> vez.
> Si pongo esos dos eventos en Thisworkbook, me dice que no encuentra la
macro
> Si pongo en la hoja1, me dice error en el evento beforeclose().
> En ningun caso he conseguido grabar dos veces.
>
> Al declarar esos dos eventos los pongo como Private(como me sale por
> defecto)
> Si no te es mucha molestia :
> ¿en donde pongo los eventos? ¿en donde pongo la macro? ¿Private ó Public


a
> esos dos eventos?
> Perdona, pero es que casi está y llevo un monton de pruebas y esperas y


ya
> me interesaria dejarlo bien.
> Gracias si me puedes ayudar.
>
>
> Saludos y suerte
>
> http://www.terra.es/personal/irueliri
>
>
> "Ana Cuesta [MS]" escribió en el mensaje
> news:
> > Hola ,
> >
> > Esto se puede hacer utilizando el método Ontime del objeto aplicación,
así
> > lo que tienes que hacer es en el evento Open del objeto WOrkbook poner
lo
> > siguiente:
> > Application.OnTime EarliestTime:=Now +TimeValue("00:15:00"),
> > Procedure:="GrabarHTM", Schedule:=True
> > Esto hace que a partir de 15 minutos desde que abres el libro se


ejecute
> tu
> > macro . NO puedes olvidar en el evento BeforeClose desactivar esta


macro
> > para ello:
> > Application.OnTime EarliestTime:=Now , Procedure:="GrabarHTM",
> > Schedule:=False
> >
> > Espero que te sirva de ayuda
> > Un saludo
> >
> > Ana Cuesta
> > Microsoft España
> >
> > Este mensaje se proporciona "como está" sin garantías de ninguna


clase,
y
> no
> > otorga ningún derecho.
> > "Irueli" wrote in message
> > news:T1MVa.759362$
> > > Saludos,
> > >
> > > Tengo una macro para guardar una hoja excel como pagina web,


funciona
> > bien.
> > > Ahora quisiera incluirle que cada 15 minutos, me la grabase, de


forma
> > > continua, sin intervenir yo y dandole solo una vez al botón donde
> adjudico
> > > la macro.
> > >
> > > La verdad es que he intentado algo con Timer y un do while, pero no


me
> > > funciona, me lo hace una vez y nada más.
> > >
> > > Si se pudiese interrumpir tambien una vez en marcha, pues mejor.
> > > Aquí os adjunto la macro de grabar como pagina web.
> > > Gracias por la atención
> > >
> > > Sub GrabarHTM()
> > > '
> > > ' GrabarHTM Macro
> > > ' grabar excel a htm
> > > '
> > > ' Acceso directo: CTRL+z
> > > '
> > > Range("I2").Select
> > > ActiveWindow.LargeScroll Down:=4
> > > Range("A2:N123").Select
> > > Range("A1").Activate
> > > With ActiveWorkbook.PublishObjects.Add(xlSourceRange, _
> > > "C:\Isiweb\cotizaciones.htm", "Hoja1", "$A$2:$N$123",
> > xlHtmlStatic,
> > > _
> > > "inputwebMC_4945", "")
> > > .Publish (True)
> > > .AutoRepublish = False
> > > End With
> > > ChDir "C:\Isiweb"
> > > Range("A1").Select
> > > End Sub
> > >
> > > Saludos y suerte
> > >
> > > http://www.terra.es/personal/irueliri
> > >
> > >
> >
> >
>
>


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