Páginas

jueves, 24 de julio de 2014

VBA Excel: Como saber si un libro está abierto y no volver a abrir.

Se hace un loop por la coleccion Workbooks, que es la que contiene todos los libros abiertos.
Se compara cada libro con el que estamos buscando, y si hay un match se una un flag para marcarlo como encontrado.

For Each wb In Workbooks
    If wb.Name = "cctableruben.xlsm" Then
        wbOpen = True 'if it is already open, sets the report to the wbk name
        Set report = wb
    End If
Next wb

'if cctable is not open, we open it
If wbOpen = False Then
    Set report = Workbooks.Open("D:\rubenbk\reports\cctableruben.xlsm")
End If

3 comentarios:

  1. muchas gracias muy sencillo y acertado.

    ResponderEliminar
  2. 7 años depues tu respuesta me fue de mucha ayuda, gracias!

    ResponderEliminar
  3. Genial muy sencillo pero de gran utilidad. Gracias (Leonidas Lacayo)

    ResponderEliminar