biblioteca faltante

19/05/2008 - 00:57 por Diana | Informe spam
Tengo una aplicación en la cual la rutina para la salida del archivo, que
gentilmente me la enseñó Héctor Miguel hace tiempo, es la que está abajo.
Funciona muy bien en todas las terminales menos en una. Al querer cerrar la
aplicación sale un mensaje de error: " Biblioteca faltante". El error se
produce con "If LCase" porque si anulo esta sentencia el archivo cierra.
El libro no es compartido y la PC del usuario tiene los mismos complementos
de excel y las mismas referencias en VB que las demás. Alguien sabe cuál
puede ser la biblioteca faltante que produce el error con If LCase?
Gracias

Sub salida()
If LCase(ActiveSheet.Name) = "comentarios" Then MsgBox _
"Seleccione el comando Guardar Comentarios para cerrar esta hoja",
vbCritical: Exit Sub
If MsgBox("¿Desea salir de la aplicación?", vbYesNo) = vbNo Then Exit Sub
With ActiveWorkbook: .Unprotect: .Saved = .ReadOnly
If Not .ReadOnly Then Sheets("inicio").Select: Range("d10").Select
If Workbooks.Count = 1 Then Application.Quit
Application.DisplayFullScreen = False: .Close SaveChanges:=Not .Saved
End With
End Sub

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
19/05/2008 - 01:18 | Informe spam
hola, Diana !

... la rutina para la salida del archivo... Funciona muy bien en todas las terminales menos en una.
Al querer cerrar la aplicacion sale un mensaje de error: " Biblioteca faltante".
El error se produce con "If LCase" porque si anulo esta sentencia el archivo cierra.
El libro no es compartido y la PC del usuario tiene los mismos complementos de excel
y las mismas referencias en VB que las demas.
Alguien sabe cual puede ser la biblioteca faltante que produce el error con If LCase?



(hasta donde se)... cuando un codigo indica como causa de error a funciones basicas de vba (como date, right, mid, etc.)...
(generalmente) se debe a referencias perdidas, nombres "ambiguos" (o duplicados) que vba no puede resolver

-> (en ese pc o proyecto de macros) busca en las referencias de vba (herramientas / referencias)...
alguna/s que diga/n que su referencia esta perdida => missing: -o- falta: < si se trata de alguna de las normales, pudiera ser necesario re-registrar excel (en el registro de windows)
-> desde el boton inicio -> ejecutar -> excel /regserver
-> PERO... para la version 2007, es necesario ejecutar una (re)instalacion desde el panel de control de windows:
(agregar / quitar progrmas) con la opcion de "reparar"

-> otra (posible) causa del error seria si (p.e.) al simplemente iniciar excel NO aparece el (normal) libro1 en blanco
(en ese caso) pudiera tratarse de algun virus que se "auto-carga" desde algun directorio de inicio (xlstart???)

comentas (si hubiera) algun detalle adicional ?
saludos,
hector.

__ el codigo expuesto __
Sub salida()
If LCase(ActiveSheet.Name) = "comentarios" Then MsgBox _
"Seleccione el comando Guardar Comentarios para cerrar esta hoja", vbCritical: Exit Sub
If MsgBox("¿Desea salir de la aplicación?", vbYesNo) = vbNo Then Exit Sub
With ActiveWorkbook: .Unprotect: .Saved = .ReadOnly
If Not .ReadOnly Then Sheets("inicio").Select: Range("d10").Select
If Workbooks.Count = 1 Then Application.Quit
Application.DisplayFullScreen = False: .Close SaveChanges:=Not .Saved
End With
End Sub
Respuesta Responder a este mensaje
#2 Diana
21/05/2008 - 17:33 | Informe spam
Hola Hector Miguel,
Gracias por tu respuesta.
Probamos todo lo que recomendaste. En esa PC excel inicia bien, aparece el
libro 1 en blanco.
En vba no hay ninguna referencia perdida o missing.
Lo único que se me ocurrió hacer es cambiar :
If LCase(ActiveSheet.Name) = "comentarios" Then .
por:
If ActiveSheet.Name = "comentarios" Then .
y sí funcionó. El archivo cierra en la PC de ese usuario.

Esas cosas raras de la computación!!
Saludos desde Buenos Aires.
Diana




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

... la rutina para la salida del archivo... Funciona muy bien en todas
las terminales menos en una.
Al querer cerrar la aplicacion sale un mensaje de error: " Biblioteca
faltante".
El error se produce con "If LCase" porque si anulo esta sentencia el
archivo cierra.
El libro no es compartido y la PC del usuario tiene los mismos
complementos de excel
y las mismas referencias en VB que las demas.
Alguien sabe cual puede ser la biblioteca faltante que produce el error
con If LCase?



(hasta donde se)... cuando un codigo indica como causa de error a
funciones basicas de vba (como date, right, mid, etc.)...
(generalmente) se debe a referencias perdidas, nombres "ambiguos" (o
duplicados) que vba no puede resolver

-> (en ese pc o proyecto de macros) busca en las referencias de vba
(herramientas / referencias)...
alguna/s que diga/n que su referencia esta perdida => missing: -o-
falta: <> si se trata de alguna de las normales, pudiera ser necesario
re-registrar excel (en el registro de windows)
-> desde el boton inicio -> ejecutar -> excel /regserver
-> PERO... para la version 2007, es necesario ejecutar una
(re)instalacion desde el panel de control de windows:
(agregar / quitar progrmas) con la opcion de "reparar"

-> otra (posible) causa del error seria si (p.e.) al simplemente iniciar
excel NO aparece el (normal) libro1 en blanco
(en ese caso) pudiera tratarse de algun virus que se "auto-carga" desde
algun directorio de inicio (xlstart???)

comentas (si hubiera) algun detalle adicional ?
saludos,
hector.

__ el codigo expuesto __
Sub salida()
If LCase(ActiveSheet.Name) = "comentarios" Then MsgBox _
"Seleccione el comando Guardar Comentarios para cerrar esta hoja",
vbCritical: Exit Sub
If MsgBox("¿Desea salir de la aplicación?", vbYesNo) = vbNo Then Exit
Sub
With ActiveWorkbook: .Unprotect: .Saved = .ReadOnly
If Not .ReadOnly Then Sheets("inicio").Select: Range("d10").Select
If Workbooks.Count = 1 Then Application.Quit
Application.DisplayFullScreen = False: .Close SaveChanges:=Not .Saved
End With
End Sub




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