Ejecucion del codigo demasiado rapida

02/01/2004 - 09:56 por Zapata | Informe spam
Feliz año:
a ver si alguno podéis iluminarme, se trata de una macro que desprotege,
refresca una hoja y vuelve a proteger. pero el refresco incluye una consulta
en Web y esto requiere su tiempo y cuando intenta escribir el resultado de
la consulta la hoja ya esta protegida.
la pregunta es ¿hay alguna forma de forzar a que se cumplan determinadas
líneas de código antes de proseguir con este?
Un saludo

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
02/01/2004 - 10:31 | Informe spam
hola, Ignacio !

... macro que desprotege, refresca una hoja y vuelve a proteger ... el refresco incluye una consulta en Web
... esto requiere su tiempo y cuando intenta escribir el resultado de la consulta la hoja ya esta protegida.
... ¿hay alguna forma de forzar a que se cumplan determinadas lineas de codigo antes de proseguir con este?



¿ya probaste a usar el metodo 'protect' estableciendo en 'true' el argumento 'userinterfaceonly'?
=> 'lo que sea' que hagas 'por codigo' estara 'permitido'
=> usalo en el evento '_open' del libro
=> 'ventajas': NO es necesario 'repetir' el password :)) [p.e.]
en el modulo de codigo del libro 'ThisWorkbook' ==Private Sub Workbook_Open()
Worksheets("Hoja1").Protect UserInterfaceOnly:=True
End Sub

si se trata de 'varias' hojas, puedes modificar a lo siguiente:
Private Sub Workbook_Open()
Dim Hoja As Worksheet
For Each Hoja In Worksheets(Array("Hoja1", "Hoja3"))
Hoja.Protect UserInterfaceOnly:=True
Next
End Sub

saludos,
hector.
Respuesta Responder a este mensaje
#2 Zapata
02/01/2004 - 10:48 | Informe spam
Gracias Héctor
sin duda es mejor tu solución que mi intento y será el método que use, pero
¿sabes tu el método para que el código espere la ejecución de determinadas
líneas?. ya me he tropezado en varias ocasiones con este
problema..
"Héctor Miguel" escribió en el mensaje
news:
hola, Ignacio !

> ... macro que desprotege, refresca una hoja y vuelve a proteger ... el


refresco incluye una consulta en Web
> ... esto requiere su tiempo y cuando intenta escribir el resultado de la


consulta la hoja ya esta protegida.
> ... ¿hay alguna forma de forzar a que se cumplan determinadas lineas de


codigo antes de proseguir con este?

¿ya probaste a usar el metodo 'protect' estableciendo en 'true' el


argumento 'userinterfaceonly'?
=> 'lo que sea' que hagas 'por codigo' estara 'permitido'
=> usalo en el evento '_open' del libro
=> 'ventajas': NO es necesario 'repetir' el password :)) [p.e.]
en el modulo de codigo del libro 'ThisWorkbook' ==> Private Sub Workbook_Open()
Worksheets("Hoja1").Protect UserInterfaceOnly:=True
End Sub

si se trata de 'varias' hojas, puedes modificar a lo siguiente:
Private Sub Workbook_Open()
Dim Hoja As Worksheet
For Each Hoja In Worksheets(Array("Hoja1", "Hoja3"))
Hoja.Protect UserInterfaceOnly:=True
Next
End Sub

saludos,
hector.


Respuesta Responder a este mensaje
#3 Fernando Arroyo
02/01/2004 - 10:54 | Informe spam
Otra posibilidad es usar los eventos del objeto QueryTable. He subido un ejemplito a:

http://www.excelsp.com/ejemplos/eje...ta_web.xls

Un saludo.


Fernando Arroyo
MS MVP - Excel


"Zapata >" <ignaciopsantaella@<hotmail.com> escribió en el mensaje news:
Feliz año:
a ver si alguno podéis iluminarme, se trata de una macro que desprotege,
refresca una hoja y vuelve a proteger. pero el refresco incluye una consulta
en Web y esto requiere su tiempo y cuando intenta escribir el resultado de
la consulta la hoja ya esta protegida.
la pregunta es ¿hay alguna forma de forzar a que se cumplan determinadas
líneas de código antes de proseguir con este?
Un saludo


Respuesta Responder a este mensaje
#4 Zapata
02/01/2004 - 11:04 | Informe spam
con userinterfaceonly = true Tampoco funciona, es una de esas excepciones.
Un saludo
Respuesta Responder a este mensaje
#5 Zapata
02/01/2004 - 11:37 | Informe spam
Hola Fernando:
funciona perfectamente ahora solo me queda
comprenderlo...
Muchas gracias a los dos y FELIZ AÑO.
"Fernando Arroyo" escribió en el mensaje
news:
Otra posibilidad es usar los eventos del objeto QueryTable. He subido un
ejemplito a:

http://www.excelsp.com/ejemplos/eje...ta_web.xls

Un saludo.


Fernando Arroyo
MS MVP - Excel


"Zapata >" <ignaciopsantaella@<hotmail.com> escribió en el mensaje
news:
Feliz año:
a ver si alguno podéis iluminarme, se trata de una macro que desprotege,
refresca una hoja y vuelve a proteger. pero el refresco incluye una


consulta
en Web y esto requiere su tiempo y cuando intenta escribir el resultado de
la consulta la hoja ya esta protegida.
la pregunta es ¿hay alguna forma de forzar a que se cumplan determinadas
líneas de código antes de proseguir con este?
Un saludo


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida