OVH Cloud OVH Cloud

Objet FileSearch -> Erreur

2 réponses
Avatar
docmarti
Bonjour à tous et à toutes.

J'ai un fichier dont le chemin est
C:\Mes documents\My Webs\_vti_pvt\service.cnf

Pourquoi ce fichier cause-t-il l'erreur 70 - "Permission refusée" à la ligne
: Classeurs(i, 1) = .Item(i)
dans la procédure suivante?

Sub RecupNomsFichiers()
Dim Classeurs() As String, i As Long
With Application.FileSearch
.NewSearch
.FileType = msoFileTypeAllFiles
.FileName = "*.*"
.LookIn = CurDir
.SearchSubFolders = True
.Execute
With .FoundFiles
ReDim Classeurs(1 To .Count, 1 To 1)
For i = 1 To .Count
Classeurs(i, 1) = .Item(i)
Next i
End With
End With
End Sub

2 réponses

Avatar
FxM
Bonjour,

J'ai un fichier dont le chemin est
C:Mes documentsMy Webs_vti_pvtservice.cnf

Pourquoi ce fichier cause-t-il l'erreur 70 - "Permission refusée" à la ligne
: Classeurs(i, 1) = .Item(i)
dans la procédure suivante?


Dans ta demande originale, tu parlais de scanner F: et G: où il est
rare (pas impossible mais rare) que l'on rencontre des applis.
Là, tu scannes C: où l'on est sur d'avoir des fichiers déjà ouverts
par Windows entre autres.

Ton fichier est probablement déjà utilisé par une autre application.
Tu peux contourner (pas résoudre) en remplaçant :
Classeurs(i, 1) = .Item(i)
par
On Error Resume Next
Classeurs(i, 1) = .Item(i)
On Error GoTo 0

Mon Excel a également hurlé sur CurDir. Ne sachant pas si c'est un mot
réservé, j'en changerais également.

@+
FxM

Avatar
docmarti
Merci de ta réponse.

Gérard

Bonjour,

J'ai un fichier dont le chemin est
C:Mes documentsMy Webs_vti_pvtservice.cnf

Pourquoi ce fichier cause-t-il l'erreur 70 - "Permission refusée" à la
ligne


: Classeurs(i, 1) = .Item(i)
dans la procédure suivante?


Dans ta demande originale, tu parlais de scanner F: et G: où il est
rare (pas impossible mais rare) que l'on rencontre des applis.
Là, tu scannes C: où l'on est sur d'avoir des fichiers déjà ouverts
par Windows entre autres.

Ton fichier est probablement déjà utilisé par une autre application.
Tu peux contourner (pas résoudre) en remplaçant :
Classeurs(i, 1) = .Item(i)
par
On Error Resume Next
Classeurs(i, 1) = .Item(i)
On Error GoTo 0

Mon Excel a également hurlé sur CurDir. Ne sachant pas si c'est un mot
réservé, j'en changerais également.

@+
FxM