Excel - verificar si existe un archivo

 
Vista:

verificar si existe un archivo

Publicado por Wild T (6 intervenciones) el 14/09/2006 21:35:46
Hola:
Estoy empezando con algo de VB y tengo una hoja en la que meto datos diarios y que a fin de mes crea una hoja de resumen con el nombre del mes.
Hasta hay todo bien, pero cuando quiero consultar un mes concreto uso un ComboBox en el que aparecen los meses, si elijo un mes que ya esta creado todo va bien, pero si elijo uno que no este creado me da error
¿Como puedo solucionar esto?
¿como puedo verificar que un archivo existe y si no es así poner la MsgBox de "El archivo no existe"
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:verificar si existe un archivo

Publicado por José Luis (700 intervenciones) el 15/09/2006 10:56:33
1- solución
Recorrer todas las hojas del libro y ver si existe la que quieres

Dim HojaCopia As Worksheet
Dim Encontrada As Boolean
Encontrada = false
For Each HojaCopia In Workbooks("NombredelLibro").Sheets
If HojaCopia.Name = "MiMes" Then
Encontrada = true
Exit For
End If
Next
If Encontrada Then
... lo que quieras
Else
MsgBox "La hoja no existe"
End If

2- solución - un poco más complicada
Capturar el error

On Error Goto TrataErrores
Inicio:
...
100 Sheets("MiMes").Activate
101 ' La numeración se pone para identificar la línea con error.
' Porque el error 9 también puede ocurrir por un índice de matriz erróneo.
On Error Goto 0 'Si no deseas seguir la captura de errores
...
...
Goto Fin
TrataErrores:
If Err = 9 and Erl = 100 Then
MsgBox "No existe la hoja"
GOTO DondeCorresponda
End If
Fin:
End Sub

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:verificar si existe un archivo

Publicado por Wild T (6 intervenciones) el 20/09/2006 01:25:16
Gracias, pero lo que necesito es verificar si el archivo existe en un directorio determinado, no es una hoja de libro es un archvio .xls
Mi programa va generando hojas mensuales (enero, febrero...) y desde un menu con un comobox se puede seleccionar un mes para abrirlo.
De todas formas lo he solucionado asi:

Private Sub CommandButton3_Click()
'Abre la hoja de consulta mensual
Dim NombreArchivo As String
NombreArchivo = ComboBox1
On Error Resume Next
ChDir "C:\SEGUIMIENTO"
Workbooks.Open NombreArchivo
If Err <> 0 Then MsgBox "El archivo no existe"
On Error GoTo 0



End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar