Ocultar libro

Tengo una aplicación que ejecuta un código en un lenguaje de optimización y como resultado se crea un libro excel el cual abre inmediatamente. La idea es mantener este libro oculto al usuario, pero no lo he logrado. He tratado de minimizarlo, guardarlo sin cambios... En fin. Pero no funciona, me sale error en tiempo de ejecución.
La idea es que tenemos un libro que se abre automáticamente y queremos mantenerlo oculto al usuario usando VBA.
Estoy al borde de la renuncia, por favor cualquier ayuda para que este libro haga lo que quiero te la agradezco inmensamente.

1 respuesta

Respuesta
1
No se si te servirá, este código abre el libro que le indiques pero no lo muestra al usuario pero... verá el nombre del libro minimizado en la barra de tareas y si hace click en él lo abrirá:
Private Sub Workbook_Open()
Dim xls As New Excel.Application
'Abrir el libro
xls.Workbooks.Open Filename:="C:\Libro oculto.xls"
'Si deseas hacerlo visible o invisible al usuario [True o False]
xls.Visible = False 'no se mostrará el libro de excel
End Sub
Tan solo conozco una forma pero no funcionaría porque te oculta la aplicacon de Excel y solo sirve para trabajar desde Userform o desde otra aplicación, ahora que leo tu consulta esa aplicación no es Excel entonces si serviría siempre que pongas el código en la apertura del Libro y en el cierre mostrar de nuevo la aplicación, quedaría así:
Te sitúas en el Libro que abre la aplicación y abres VBA doble click en el icono de ThisWorkbook y pones este código:
Private Sub Workbook_Open()
Application.Visible=False
End Sub
Con esto se abrirá el Libro pero estará oculto, pero debes de mostrar la aplicación al cerrar el Libro o no verías la aplicación de Excel si ahora abrieses otro Libro
Private Sub Workbook_Close()
Application.Visible=True
End Sub
Prueba y si te sirve puntúa y finaliza la consulta. Gracias.
>Un saludo
>Julio
Ok!, se ha ocultado. Lo he hecho usando:
Private Sub Workbook_Open()
     Dim xls As New Excel.Application
     'Abrir el libro
     xls.Workbooks.Open Filename:="C:\Libro oculto.xls"
     'Si deseas hacerlo visible o invisible al usuario [True o False]
      xls.Visible = False 'no se mostrará el libro de excel
End Sub
Sin embargo, no aparce ni minimizado y ahora no sé cómo cerrarlo, pues necesito cerrarlo para volver a correr la macro, pues cada vez se crea un archivo nuevo y debe ser eliminado en cada corrida. Así que cuando volvió a correr lo encontró abierto (pero invisible) y se interrumpe, pues no lo puede eliminar estando abierto.
¿Cómo podríamos hacer para hacerlo visible?. En realidad si cambiamos la ultima linea del código anterior por una de estas opciones:
1)        xls.close savechange=false 
2) xls.parent. ¿close false
funcionaria para cerrarlo y así impedir que el usuario lo vea? ¿Cuál es la expresión correcta para hacerlo?
De antemano Mil Gracias Julio
Salu2 desde Colombia;
para saber si tu codigo funciona y actua en funcion a tus necesidades en el codigo de cierre de la aplicación primero utiliza el codigo de xls.visible=true
Luego quitas la linea (solo para comprobar que funciona) ahora evitas alertas
Application.DisplayAlerts = False
ThisWorkbook.Saved = False 'No guardas los cambios
Application. Quit ' Cierras la aplicacion
Prueba y me cuentas
>Un saludo
>Julio

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas