Gestion erreur ouverture fichier serveur
Bonjour,
Je dois réaliser en tant que mission de stage un outil qui sera hébergé sur un site internet géré avec SharePoint. L'outil est un fichier Excel exécutant du code Vba. Cet outil permet de sauvegarder puis utiliser des fichiers (sous format Word/Excel) sur SharePoint.
Tout cela marche bien. Sauf qu’au début je faisais les sauvegardes en local et une fois que j'ai mis en place tout le dispositif pour prendre en charge SharePoint (donc sauvegarde et chargement de fichier sur le serveur) divers complications sont arrivées. La plupart on été corrigée sauf une:
La méthode permettant de vérifier si un ficher existe ou pas (pour ensuite le créer ou le charger) ne fonctionne plus. Le programme ne digère plus le fameux Dir. Depuis j'ai utilisé FileExists mais celui-ci me dit tout le temps que mon fichier n'existe pas même quand il existe ... Puis j'ai trouvé une autre solution sur internet qui cette fois-ci fait le contraire, elle me dit tout le temps qu'il existe même quand c’est faux (vous trouverez au bas de ce poste le code source des deux dernière méthodes).
Bref après de longue recherche sur internet je n’ai pas trouvé de solution. J'ai décidé de me lancer dans la gestion des erreurs en me disant que s'il y a une erreur lors de l’ouverture du fichier c'est que le fichier n'existe pas.
Donc j'ai fais ça:
Code:
1 2 3 4 5 6 7
| On Error GoTo Erreur:
Set wb = Workbooks.Open(szFilePath)
...
...
...
Erreur:
... |
Cependant mon problème est que l'Open génère un message d'erreur (même si l'exécution continu, j'ai "Impossible d'ouvrir "....""). Et vu que cette méthode est appelée plusieurs fois avec des chemins d'accès différent, j'ai parfois un enchaine ment d'une dizaine de message d'erreur!!
Ma question est donc comment faire pour "zapper" ce message d'erreur, ne pas l'afficher?
Si quelqu'un à une idée concernant le problème de la vérification de la disponibilité des fichiers, voici le code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| Public Function SharePointFile(sFile As String) As Boolean
Dim HTML As HTMLDocument
Dim tHTML As HTMLDocument
Set tHTML = New HTMLDocument
Set HTML = tHTML.createDocumentFromUrl(sFile, vbNullString)
Do While HTML.readyState <> "complete"
DoEvents
Loop
If InStr(LCase(HTML.Title), "not found") Then
SharePointFile = False
Else
SharePointFile = True
End If
Set HTML = Nothing
Set tHTML = Nothing
''''''''''''''''''''''''''''''''''''''''''''''''''''''DEUXIEME METHODE
' Dim fso As Object
' Set fso = CreateObject("Scripting.FileSystemObject")
' If fso.FileExists(sFile) Then SharePointFile = True
'' If fso.FileExists("https://village.axa-fr.intraxa/AXA-Ent/IARD/IDF/PrAuto/CRT/GestConservation/DB/3600016198.xls") Then SharePointFile = True
'''''''''''''''''''''''''''''''''''''''''
End Function |
Merci!