Listar los archivos de Excel abiertos

jo2214 -  
 xpulse -
Hola,
¿alguien sabría cómo en VBA listar todos los archivos de Excel abiertos (incluso los que aún no se han guardado)?

Estoy probando este código que funciona bien con la instancia de Excel en curso (la de thisworkbook)
pero no veo los archivos abiertos de otras instancias de Excel. (en la misma sesión de Windows)

For Each Libro In Application.Workbooks
FechaLibro = Libro.BuiltinDocumentProperties("Creation Date")
debug.print Libro.Name, FechaLibro
Next

(Excel 2000 y posteriores)
gracias por su ayuda
Configuración: Windows XP Firefox 1.5.0.1

5 respuestas

  1. RailBird
     
    Sub Test_Class_Ouvert()

    For i = 1 To Workbooks.Count

    ActiveSheet.Cells(i, 1) = Workbooks(i).Name

    Next i

    End Sub

    Esto permite recuperar el nombre de los libros abiertos y copiarlos en la celda, sin embargo, no muestra los libros "no guardados", no sé si es necesario agregar una condición.
    10
  2. michel_m Mensajes publicados 18903 Fecha de registro   Estado Colaborador Última intervención   3 320
     
    Hola,

    esta función devuelve un booleano que indica si el libro está abierto (true)

    <code>Function FichOuvert(F As String) As Boolean 'Según Didier_mdf Dim Wk As Workbook On Error Resume Next Set Wk = Workbooks(F) On Error GoTo 0 FichOuvert = Not Wk Is Nothing End Function
    </code>
    --
    Michel
    0
  3. jo2214
     
    Gracias,
    pero el objetivo es seleccionar el último libro abierto de todas las instancias de Excel:
    parece que cada instancia solo detecta sus propios libros
    y el código a continuación funciona muy bien para eso
     For Each Libro In Application.Workbooks FechaLibro = Libro.BuiltinDocumentProperties("Creation Date") debug.print Libro.Name, FechaLibro Next 

    quizás exista un objeto del estilo "excel.applications" bajo otro nombre?
    0
  4. michel_m Mensajes publicados 18903 Fecha de registro   Estado Colaborador Última intervención   3 320
     
    Sin embargo, tú preguntabas:

    ..."¿alguien sabría cómo en VBA listar todos los archivos de Excel abiertos?"...

    Buen fin de semana
    --
    Michel
    0
  5. xpulse
     
    Hola,

    hago un gran Up de más de 6 meses porque estoy encontrando el mismo problema:

    recorrer todos los libros abiertos de todas las aplicaciones de Excel abiertas en el PC

    en esencia algo como:

    Dim Exapp As Excel.Application
    Dim WB As Workbook

    For Each Exapp In (Excel.applicationS)

    For Each WB In Workbooks
    If WB.Name = NomFichier Then
    AperturaFichero = True
    End If
    Next

    Next

    ¿es posible de esta manera y si es así cuál sería la escritura exacta o se debería abordar el problema de manera diferente?
    0