Supprimer fichier doc sans connaitre son nom

Fermé
Macandre - 28 févr. 2007 à 16:38
 macandre - 1 mars 2007 à 14:57
Bonjour

'Suppression du fichier
Set Ftxt = fso.GetFile("moncheminsource") 'Fichier origine
Ftxt.delete

Avec ce programme , si je veux supprimer un fichier .doc mais que je ne connais pas son nom. Quel moyen je peux prendre ?

Si je fais ceci, il me dis que le fichier est introuvable :

'Suppression du fichier
Set Ftxt = fso.GetFile("c:\testv\*.doc") 'Fichier origine
Ftxt.delete

Merci de m'aider
A voir également:

3 réponses

Jean-François Pillou Messages postés 18707 Date d'inscription lundi 15 février 1999 Statut Webmaster Dernière intervention 16 février 2023 63 266
28 févr. 2007 à 16:49
Le mieux serait de lister les fichiers dans le répertoire avec GetFolder, faire une boucle les énumérant, puis faire un test sur leur nom pour voir s'ils possèdent l'extension .doc, puis les supprimer un par un dans la boucle !
0
Bonjour jeff. Merci pour ta réponse, je commence à me dire que je vais faire quelques chose comme ca.

Mon but principal, est de prendre les fichiers doc d'un dossierX, de les copier dans un dossierY , vérifier s'il sont bien copier et ensuite les supprimer du premier dossierX.

Si je fais FSO.CopyFile SubFolder & "\*.doc" , dossiertemp dans un fonction récursive tout ce fait bien mais je n'ai aucune trace du fichier copié.

Ce que j'aimerais c'est connaitre le nom complet du fichier .doc qu'il trouve exemple blabla.doc pour ensuite savoir quel fichier.doc vérifier.

Des que j'utilise getfile ou etc, et que j'affiche le nom du dossier, il me marque *.doc et nom blabla.doc

Je ne sais pas si tu peux m'aider svp.
0
Utilisateur anonyme
28 févr. 2007 à 21:43
Bonjour,

Voici un exemple de base :

Sub Suppression()

    Const RepSource = "C:\Documents local\essai\"
    
    Dim objFSO As Variant, objFichier As Variant, objRepertoire As Variant
    Dim Longueur As Integer, Compteur As Integer, Extension As String
    Dim Boite() As String

    Dim NumFic As Integer
    Dim Valeur As String
    Dim Boucle As Integer


    Set objFSO = CreateObject("Scripting.FileSystemObject")

    Set objRepertoire = objFSO.GetFolder(RepSource)
    Compteur = 0
    If (objRepertoire.Files.Count > 0) Then
        For Each objFichier In objRepertoire.Files
            Longueur = Len(objFichier.Name)
            Extension = Mid(objFichier.Name, Longueur - 2)
            If (Extension = "doc") Then
                ReDim Preserve Boite(Compteur) As String
                Boite(Compteur) = objFichier.Name
                Compteur = (Compteur + 1)
                objFSO.DeleteFile (RepSource & objFichier.Name)
            End If
        Next
    End If


    
    Valeur = "C:\Documents local\essai\Essai.txt"
    NumFic = FreeFile
    
    Open Valeur For Output As #NumFic
    For Boucle = 0 To (Compteur - 1)
        Write #NumFic, Boite(Boucle)
    Next Boucle
    Close #NumFic

    Set objFSO = Nothing
    Set objRepertoire = Nothing

End Sub


Vous aurez ainsi tous les noms des fichiers supprimés dans le fichier texte [ C:\Documents local\essai\Essai.txt ].

Lupin
0
Merci, je vais travailler la-dessus :)
0