problemas con una aplicación en excel y VBA

16/01/2006 - 20:24 por Diana | Informe spam
Hola queridos amigos del foro!
Hice una aplicación completa en excel y código VBA con menú personalizado
(gracias a algunos "pulidos" que le dieron los maestros Héctor Miguel y KL
cuando oportunamente hice algunas preguntas en el foro).
La aplicación funciona muy bien pero tiene tres defectos fatales que
necesito corregir. Empezaré por la primer falla y las demás las haré en
otras consultas para no atosigar.
El primer problema es que si algún usuario que está usando la aplicación
tiene abiertos otros archivos de excel al mismo tiempo y cierra la
aplicación, en los archivos de excel que quedaron abiertos se perdieron los
displayalerts, o sea que cuando el usuario los cierra posteriormente, ya no
aparece la ventana preguntando si desea guardar los cambios, e
inavetiblemente pierde todo lo que estuvo modificando en esos archivos. En
algunos casos los ususarios tienen que resetear la PC para que excel vuelva
a funcionar correctamente.
¿Cómo hago para que los displayalerts del código funcionen sólo para la
aplicación, y que cuando ésta se cierre, excel recobre su configuración y
pregunte si desea guardar los cambios? Gracias por la ayuda.

El botón de salida tiene el siguiente código:
Sub salida()
ActiveSheet.Select
If ActiveSheet.Name = "COMENTARIOS" Then
MsgBox ("Seleccione el comando Guardar Comentarios para cerrar esta hoja"),
vbCritical
ElseIf ActiveWorkbook.ReadOnly = True Then
guardarcambios
Else
Sheets("inicio").Select
Application.ScreenUpdating = False
Dim opciones As Variant
opciones = MsgBox("¿Desea salir de la aplicación?", vbYesNo)
If opciones = vbYes Then
ActiveWorkbook.Unprotect
ActiveWorkbook.Save
Application.DisplayAlerts = False
Application.DisplayFullScreen = False
Sheets("INICIO").Select
Range("d10").Select
If Workbooks.Count > 1 _
Then ActiveWorkbook.Close
Application.DisplayAlerts = True
Else: Application.Quit

End If
End If
End Sub
Sub guardarcambios()
'If ActiveWorkbook.ReadOnly = True Then
ActiveWorkbook.Unprotect
Application.DisplayAlerts = False
Application.DisplayFullScreen = False
If Workbooks.Count > 1 _
Then ActiveWorkbook.Close
Application.DisplayAlerts = True
Else: Application.Quit
End Sub

Preguntas similare

Leer las respuestas

#11 Héctor Miguel
26/01/2006 - 03:11 | Informe spam
hola, Diana !

Mostrar la cita
[supongo que] 'verificar' si en el 'set' de archivos de configuracion de 'esos' usuarios estan 'compartiendo' los componentes [p.e.]...
-> si la aplicacion [excel] es 'compartida'... o es instalacion -> en cada terminal -?-
-> si en vba, la referencia a la biblioteca shockwave [donde 'fallan'] aparece marcada como 'falta:' o... 'missing:' -?-
-> si puedes incrustar [nuevos] objetos shockwave en hojas/libros nuevos [donde 'fallan'] -?-

comentas [si hubiera] algun detalle adicional ?
saludos,
hector.
#12 Héctor Miguel
28/01/2006 - 00:35 | Informe spam
hola, Diana !

Mostrar la cita
por lo que comentas... NO 'todos' tienen office 2003 :))
-> office/excel 2003 es la version numero 11
-> office/excel 2002 [o XP] es la numero 10 ;)
y no creo que sean 'problemas' de compatibilidad entre las versiones de office ;)

-> si las pc's de los usuarios donde 'se borran' tienen versiones 'anteriores' de ofice/excel XP/2002 versus 2003 [donde se crean]...
[probablemente] tambien tienen instaladas versiones 'anteriores' de la libreria del shockwave flash [donde se intenta correr] -?-

-> revisa las versiones del shockwave flash en el editor de vba en [menu] herramientas / referencias...
revisa en el cuadro de su ubicacion el numero de version instalada
[p.e.] -> FlaxhX.ocx donde 'X' corresponde al numero ;)

-> si fuera el caso de in/compatibilidad de versiones del flash...
[lo recomendable es] -> programa con la version mas 'baja' ;)
o... 'actualiza' a la misma version en todos los equipos :-(

comentas ?
saludos,
hector.
#13 Diana
30/01/2006 - 21:40 | Informe spam
Hola Héctor!
Tenías razón.
Esos dos usuarios tienen office 2002 y la referencia a la biblioteca
shockwave flash en VB también es una versión anterior.
Hablé con el ténico que hace el mantenimiento de la red y le expliqué lo que
me pasaba. Dijo que la próxima vez que venga les va a instalar el paquete
office 2003 a esos dos usuarios.
Como tú dices, al igualar las versiones en todas las terminales se acabará
el problema.
Gracias por todo lo que aprendí en este intercambio de mails.
Saludos y hasta la próxima consulta.
Diana


"Héctor Miguel" escribió en el mensaje
news:
Mostrar la cita
#14 Héctor Miguel
31/01/2006 - 06:33 | Informe spam
hola, Diana !

Mostrar la cita
solo 'recordarte' que el problema de in/compatibilidad entre las versiones... NO es por las versiones del office/excel ;)
[o sea]... que el tecnico NO se olvide de actualizar la biblioteca del shockwave flash
-> es independiente de MS-office... es una aplicacion de macromedia [adobe]
si le quieres ir 'ganando al tiempo'... la puedes descargar/actualizar desde...
-> http://macromedia.com/go/getflashplayer

saludos,
hector.
#15 Diana
01/02/2006 - 22:26 | Informe spam
Hola Héctor,
Gracias, gracias, gracias!!!
Hice lo que tú sugeriste, actualicé el shockkwaveflash desde la página que
me indicaste y ahora estos usuarios ya no borran los logos giratorios.
Mi error era pensar que el shockwaveflash era un complemento de office y no
interpreté bien tu mail anterior cuando me hablabas de la referencia a la
biblioteca shockwave (confundí referencias con complementos). No sabía que
era una aplicación de macromedia adobe.
Te agradezco toda la ayuda recibida en esta serie de mails y te agradezco
por haber aprendido tanto.
Saludos desde Buenos Aires, Argentina
Diana


"Héctor Miguel" escribió en el mensaje
news:
Mostrar la cita
Ads by Google
Search Busqueda sugerida