ProgressBar en StatusBar

20/02/2005 - 17:00 por Adriano | Informe spam
Hola amigos, les presento la siguiente duda:

He revisado el ForoExcel en google y he encontrado unos muy buenos ejemplos
de ProgressBar con el control y el de módulo de clase para que aparezca en
la StatusBar.

Ahora bien, estos códigos obviamente funcionan haciendo porcentaje de
progreso intercalando instrucciones.
Mi problema es cómo mostrar un progreso para 1 (UNA SOLA) instrucción que
lleva mucho tiempo??????
De hecho lo que quería hacer es mostrar un progress al guardar el archivo
(que lo hago por código cuando se dan ciertos eventos).

Cuando quise usar el código del ej del módulo de clase, directamente no
muestra nada. Lo que hice es preparar la progressbar unas cuantas
instrucciones antes, ir haciéndola llenar en su porcentaje, unos segundos de
pausa entre progreso y progreso y después de que pasara la instrucción de
Save mostrar el llenado de la misma y finalizar.
NADA!!! no muestra nada

Por otro lado, si ponemos StatusBar = False nos pone Listo, cuando encuentra
un Save debería por sí sola mostrar el progreso con los cuadraditos.
Aquí lo que pasa es que pone guardando el nombre de archivo: (pero aquí que
deberían aparecer los cuadraditos no aparece nada, y después cuando está por
terminar lo hace violentamente, casi no se ve, aparece de golpe)

¿Alguna IDEA????

Saludos. Adriano

Preguntas similare

Leer las respuestas

#1 KL
20/02/2005 - 17:08 | Informe spam
Hola Adriano,

?Podrias exponer el codigo q intentas usar?

Saludos,
KL

"Adriano" wrote in message
news:
Hola amigos, les presento la siguiente duda:

He revisado el ForoExcel en google y he encontrado unos muy buenos
ejemplos
de ProgressBar con el control y el de módulo de clase para que aparezca en
la StatusBar.

Ahora bien, estos códigos obviamente funcionan haciendo porcentaje de
progreso intercalando instrucciones.
Mi problema es cómo mostrar un progreso para 1 (UNA SOLA) instrucción que
lleva mucho tiempo??????
De hecho lo que quería hacer es mostrar un progress al guardar el archivo
(que lo hago por código cuando se dan ciertos eventos).

Cuando quise usar el código del ej del módulo de clase, directamente no
muestra nada. Lo que hice es preparar la progressbar unas cuantas
instrucciones antes, ir haciéndola llenar en su porcentaje, unos segundos
de
pausa entre progreso y progreso y después de que pasara la instrucción de
Save mostrar el llenado de la misma y finalizar.
NADA!!! no muestra nada

Por otro lado, si ponemos StatusBar = False nos pone Listo, cuando
encuentra
un Save debería por sí sola mostrar el progreso con los cuadraditos.
Aquí lo que pasa es que pone guardando el nombre de archivo: (pero aquí
que
deberían aparecer los cuadraditos no aparece nada, y después cuando está
por
terminar lo hace violentamente, casi no se ve, aparece de golpe)

¿Alguna IDEA????

Saludos. Adriano


Respuesta Responder a este mensaje
#2 Héctor Miguel
21/02/2005 - 02:13 | Informe spam
hola, Adriano !

... he encontrado... ejemplos de ProgressBar... en la StatusBar.
... obviamente funcionan haciendo porcentaje de progreso intercalando instrucciones.
... problema... mostrar un progreso para 1... instruccion que lleva mucho tiempo?
... mostrar un progress al guardar el archivo (... por codigo cuando... ciertos eventos).
... el codigo del ej del modulo de clase, directamente no muestra nada.
... si ponemos StatusBar = False nos pone Listo
... cuando encuentra un Save deberia por si sola mostrar el progreso con los cuadraditos.
... pone guardando el nombre de archivo: (pero... deberian aparecer los cuadraditos no aparece nada
... despues cuando esta por terminar lo hace violentamente, casi no se ve, aparece de golpe). ¿Alguna IDEA?



1.- existen algunos procesos internos ->exclusivos<- de la aplicacion [como el guardar] con los cuales...
-> el usuario NO puede 'interactuar'... NI SIQUIERA por macros
-> [de hecho] las macros entran a un estado de 'stand-by' [suspension] mientras terminan esos procesos
2.- por la razon anterior, la 'manipulacion' del StatusBar [textos] NO se esta 'dando' [aun por modulos de clase]
3.- si el statusbar muestra... 'guardando el nombre del archivo: ' PERO NO MUESTRA 'su progressbar'...
[probablemente] el texto que muestra es por alguna instruccion en el codigo [StatusBar = "guardando..."]
4.- el 'violento desarrollo' de las instrucciones de actualizacion [del statusbar], se debe a lo aqui 'explicado'
[las lineas 'que siguen' a la instruccion '.Save' se continuan HASTA que el proceso se ha terminado]
prueba guardando por codigo un archivo que 'se tome su tiempo' con una macro tan 'sencilla' como la siguiente:
Sub MensajeGrabandoArchivo()
ActiveWorkbook.Save
MsgBox "Guardado."
End Sub
veras que el mensaje NO aparece al iniciarse el proceso, sino [solamente] cuando ha terminado.
5.- [creo que] lo mejor sera 'dejar' el statusbar en 'False' ANTES del '.Save' y dejar que 'muestre su progressbar'

si [algo de] lo que estoy 'suponiendo' es diferente de tu situacion 'real'...
¿comentas datos adicionales?
saludos,
hector.
Respuesta Responder a este mensaje
#3 Adriano
21/02/2005 - 15:24 | Informe spam
Sí Héctor, precisamente es eso lo que pasa y lo que estamos de acuerdo.
Pero justamente llegué a la misma conclusión que tu, dejar en false la
StautsBar, pero solo muestra el texto, pero no los cuadraditos, el libro
lleva unos 15 segundos de guardado en una máquina PIII 500 con 128MB con XP.
Lo que me parece raro, es que por ejemplo, tengo otro libro, con poco
código, que pesa 5MB, y lleva casi un minuto, y la progressbar de la status
funciona perfectamente! es más, se le acaba el espacio y se reinicia y sigue
animando sus cuadraditos.

Por el momento les cuento a ambos que solucioné el problema haciendo lo
siguiente:
- Uso del asistente de Office
Lo activo mucho antes del proceso pero oculto, antes de guardar
muestro un baloon con el texto "Guardando, un momento por favor...", con la
animación de guardando, espera de 1 segundo, para que antes del Save se
llegue a ver el show del baloon, y FUNCIONA! mientras guarda, se va animando
el asistente (el logotipo de Office) y lo cierro después de guardar.

De paso, porque no la encontré, o no me funciona bien.
¿Hay alguna instrucción para setear un determinado personaje de los
asistentes? Es decir, se puede setear por ejemplo a Merlín y al logo de
Office por instrucción?
Yo usé Assistant.Filename = "Merlín.asc" y no me funciona, me tira error.

Saludos.



"Héctor Miguel" escribió en el mensaje
news:
hola, Adriano !

> ... he encontrado... ejemplos de ProgressBar... en la StatusBar.
> ... obviamente funcionan haciendo porcentaje de progreso intercalando


instrucciones.
> ... problema... mostrar un progreso para 1... instruccion que lleva


mucho tiempo?
> ... mostrar un progress al guardar el archivo (... por codigo cuando...


ciertos eventos).
> ... el codigo del ej del modulo de clase, directamente no muestra nada.
> ... si ponemos StatusBar = False nos pone Listo
> ... cuando encuentra un Save deberia por si sola mostrar el progreso con


los cuadraditos.
> ... pone guardando el nombre de archivo: (pero... deberian aparecer los


cuadraditos no aparece nada
> ... despues cuando esta por terminar lo hace violentamente, casi no se


ve, aparece de golpe). ¿Alguna IDEA?

1.- existen algunos procesos internos ->exclusivos<- de la aplicacion


[como el guardar] con los cuales...
-> el usuario NO puede 'interactuar'... NI SIQUIERA por macros
-> [de hecho] las macros entran a un estado de 'stand-by' [suspension]


mientras terminan esos procesos
2.- por la razon anterior, la 'manipulacion' del StatusBar [textos] NO se


esta 'dando' [aun por modulos de clase]
3.- si el statusbar muestra... 'guardando el nombre del archivo: ' PERO NO


MUESTRA 'su progressbar'...
[probablemente] el texto que muestra es por alguna instruccion en el


codigo [StatusBar = "guardando..."]
4.- el 'violento desarrollo' de las instrucciones de actualizacion [del


statusbar], se debe a lo aqui 'explicado'
[las lineas 'que siguen' a la instruccion '.Save' se continuan HASTA


que el proceso se ha terminado]
prueba guardando por codigo un archivo que 'se tome su tiempo' con


una macro tan 'sencilla' como la siguiente:
Sub MensajeGrabandoArchivo()
ActiveWorkbook.Save
MsgBox "Guardado."
End Sub
veras que el mensaje NO aparece al iniciarse el proceso, sino


[solamente] cuando ha terminado.
5.- [creo que] lo mejor sera 'dejar' el statusbar en 'False' ANTES del


'.Save' y dejar que 'muestre su progressbar'

si [algo de] lo que estoy 'suponiendo' es diferente de tu situacion


'real'...
¿comentas datos adicionales?
saludos,
hector.


Respuesta Responder a este mensaje
#4 Héctor Miguel
22/02/2005 - 01:45 | Informe spam
hola, Adriano !

... dejar en false la StautsBar... solo muestra el texto, pero no los cuadraditos
... lleva unos 15 segundos de guardado
... otro libro... lleva casi un minuto, y la progressbar de la status funciona perfectamente!



=> situacion que me parece extraña [aunque poco atribuible a la aplicacion]
no me es posible 'reproducir' el comportamiento :(
[tendras que llevartelo 'de tarea´] :))

... solucione el problema haciendo ... uso del asistente de Office
... de paso, porque no la encontre, o no me funciona bien.
... alguna instruccion para setear un determinado personaje de los asistentes?
... use Assistant.Filename = "Merlín.asc" y no me funciona, me tira error.



1.- la extension de los asistentes es 'ACS' no 'ASC' [existe tambien la extension 'ACT' para excel 97]
2.- NO lleva acento [en el caso de] Merlin.acs
3.- intenta a 'proveer' la ruta ->completa<- a la propiedad 'FileName' [p.e.]
Assistant.Filename = "C:\Windows\MSAgent\Chars\Merlin.acs"
-> localiza la ubicacion [exacta] de cada uno de los asistentes que vayas a intercambiar <-

saludos,
hector.
Respuesta Responder a este mensaje
#5 Adriano
23/02/2005 - 15:52 | Informe spam
Sí Héctor, gracias, me di cuenta que había sido un error ortográfico una vez
posteado mi mensaje, el error no era el ortográfico en sí, sino que se debe
setear el
Assistant.filename
después de haber hecho el Assistant.On
Lo cual es un pequeño problema, porque si uno quiere cambiar el asistente
para determinadas tareas diferentes, se llega a ver el asistente actual (por
el On que lo muestra no importándole la propiedad Visible) y luego si se
cambia, pero hace un efecto de cambio de asistente no deseado.

Alguna idea?

Saludos.



"Héctor Miguel" escribió en el mensaje
news:
hola, Adriano !

> ... dejar en false la StautsBar... solo muestra el texto, pero no los


cuadraditos
> ... lleva unos 15 segundos de guardado
> ... otro libro... lleva casi un minuto, y la progressbar de la status


funciona perfectamente!

=> situacion que me parece extraña [aunque poco atribuible a la


aplicacion]
no me es posible 'reproducir' el comportamiento :(
[tendras que llevartelo 'de tarea´] :))

> ... solucione el problema haciendo ... uso del asistente de Office
> ... de paso, porque no la encontre, o no me funciona bien.
> ... alguna instruccion para setear un determinado personaje de los


asistentes?
> ... use Assistant.Filename = "Merlín.asc" y no me funciona, me tira


error.

1.- la extension de los asistentes es 'ACS' no 'ASC' [existe tambien la


extension 'ACT' para excel 97]
2.- NO lleva acento [en el caso de] Merlin.acs
3.- intenta a 'proveer' la ruta ->completa<- a la propiedad 'FileName'


[p.e.]
Assistant.Filename = "C:\Windows\MSAgent\Chars\Merlin.acs"
-> localiza la ubicacion [exacta] de cada uno de los asistentes que


vayas a intercambiar <-

saludos,
hector.


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