Vba

Hola Supernor, el otro día te hice una pregunta y tu contestación fue magnifica, así que aquí estoy otra vez.
Por medio de VBA en Excel, como podría hacer lo siguiente:
Teniendo un libro abierto, comprogar que otro libro está abierto, y si no que lo abra.
Y por último, ¿cómo se puede impedir que se cierre un libro bajo determinadas condiciones?
Muchas gracias por adelantado.

1 Respuesta

Respuesta
Por partes, si quieres comprobar si un determinado libro está o no abierto (supongo que sabes su nombre, por ejemplo libro2.xls) tienes las siguientes opciones:
Sub prueba()
On Error GoTo abrir
Dim dato As Variant
dato = Application.Windows("libro2.xls").WindowState
If dato <> 0 Then
MsgBox "está"
End If
Exit Sub
abrir:
MsgBox "no está"
Workbooks.Open Filename:="C:\Mis documentos\libro2.xls"
End Sub
Para la segunda pregunta tienes que programar el evento before_close del objeto workbook y cambiar a true el argumento cancel, en cuanto cancel=true ya no se podrá cerrar el libro ni siquiera cerrando el excel, por ejemplo:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim dato As Variant
dato = 5
If dato = 5 Then Cancel = True
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas