Comprovar si un arxiu existeix

Suposem que tenim un informe dissenyat per executar-se diàriament i genera una sèrie de fitxers de resultats amb diferents dades automàticament. Aquests fitxers es guarden a directoris específics que estan definits dins la macro d’exportació.
La realitat ens diu que al final aquest informe s’executa més d’un cop al dia i el que es vol és no tornar a generar els fitxers de resultats sinó actualitzar-los. De fet, a la primera execució es poden haver generat fitxers o no. Com sabem si un fitxer existeix per obrir-lo i actualitzar-lo?
Per fer-ho farem servir un objecte que anirem veient sovint quan volem accedir a les funcions de sistema, el FileSystemObject. Aquest objecte ens permet operar amb Windows fent servir escrits de sistema.

Exemple:
Sub obrir_fitxer_si_existeix()
Dim Arxiu As String
Arxiu = "C:\test.xls"
Set fso = CreateObject("Scripting.FileSystemObject")

If fso.FileExists(Arxiu) Then
    Workbooks.Open FileName:=Arxiu
Else
    Workbooks.Add
End If

End Sub

Aquest exemple obre l’arxiu test.xls si existeix o en crea un de nou.

1 comentari:

JB ha dit...

Hola,

Gracies per aquest article, m'ha estat de gran ajuda per acabar una feina q tenia a mitjes. Espero q es continui actualitzant aquest blog amb articles com aquest q poden servir de gran ajuda per altra gent q treballi amb excel.

Molta sort i salutacions.

Publica un comentari a l'entrada