Saber si un libro esta abierto

03/02/2005 - 10:58 por MPOLO S.L. - Departamento Calidad | Informe spam
En la macro:

Set fs = CreateObject("Scripting.FileSystemObject") ' Crea un objeto de
tipo sistema
If fs.fileexists(ActiveCell.Offset(0, 8).Value) Then ' Pregunta si el
archivo existe
With CreateObject("excel.application") ' Crea un objeto excel

.Workbooks.Open (ActiveCell.Offset(0, 8).Value) ' Abre una
planilla existente

.Worksheets(ActiveCell.Offset(0, 9).Value).Activate
.Range(ActiveCell.Offset(0, 10).Value, ActiveCell.Offset(0,
11).Value).Select
.Visible = True
End With
End If

quiero saber si existe alguna forma de saber si la planilla YA ESTA ABIERTA,
para que, si lo está, directamente activarla, y no abrirla dos veces con el
comando open


Desde ya muy agradecido

Martin R Sanchez Arnoletto
 

Leer las respuestas

#1 KL
03/02/2005 - 11:53 | Informe spam
Hola Martin,

Yo haria esto:

Function LibroEstaAbierto(Nombre As String) As Boolean
Dim Prueba As String
On Error Resume Next
Prueba = Workbooks(Nombre).Name
LibroEstaAbierto = (Err.Number = 0)
End Function

Sub test()
MsgBox LibroEstaAbierto(ActiveCell.Offset(0, 8).Value)
End Sub

Saludos,
KL


"MPOLO S.L. - Departamento Calidad" wrote in message
news:
En la macro:

Set fs = CreateObject("Scripting.FileSystemObject") ' Crea un objeto de
tipo sistema
If fs.fileexists(ActiveCell.Offset(0, 8).Value) Then ' Pregunta si
el
archivo existe
With CreateObject("excel.application") ' Crea un objeto excel

.Workbooks.Open (ActiveCell.Offset(0, 8).Value) ' Abre
una
planilla existente

.Worksheets(ActiveCell.Offset(0, 9).Value).Activate
.Range(ActiveCell.Offset(0, 10).Value, ActiveCell.Offset(0,
11).Value).Select
.Visible = True
End With
End If

quiero saber si existe alguna forma de saber si la planilla YA ESTA
ABIERTA,
para que, si lo está, directamente activarla, y no abrirla dos veces con
el
comando open


Desde ya muy agradecido

Martin R Sanchez Arnoletto



Preguntas similares