Error en IsFileOpen

A tod@s, estaba mirando un ejemplo de microsoft que me parecía ideal para mi propósito de saber si tenia un archivo abierto, pero resulta que al utilizar me da un error y he tenido que utilizar el método de lectura de ficheros abiertos. Alguien me puede ayudar a utilizar este método tengo Excel 2007.

If IsFileOpen("c:\Book2.xls") Then .......

1 Respuesta

Respuesta
1

Isfileopen es propio de visual basic y vb.net, no existe en vba.

Puedes implementar el siguiente código en un modulo para emular la función:

Function IsFileOpen(FileName As String) 
 Dim iFilenum As Long 
 Dim iErr As Long 
 On Error Resume Next 
 iFilenum = FreeFile() 
 Open FileName For Input Lock Read As #iFilenum 
 Close iFilenum 
 iErr = Err 
 On Error Goto 0 
 Select Case iErr 
 Case 0: IsFileOpen = False 
 Case 70: IsFileOpen = True 
 Case Else: Error iErr 
 End Select 
End Function 
Sub test() 
 If Not IsFileOpen("C:\MyTest\volker2.xls") Then 
 Workbooks.Open "C:\MyTest\volker2.xls" 
 End If 
End Sub 

Sub test es solo un ejemplo que como deberías usar la función

Muchas gracias, una vez mas, con razón no me funcionaba yo pensaba que me faltaba configurar alguna referencia, pero bueno ya se como se ha utilizar, aunque tengo que utilizar mas código de como lo tengo ahora, pero muy bien, tomare nota, para otra ocasión. gracias.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas