Je souhaite récupérer les 2e et 3e caractères des noms de fichiers word d'un
répertoire donné.
C'est pour finir une macro réalisé avec l'aide d'une file précédente "pied
de page"
réalisée le 4 mai 2007.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Anacoluthe
Bonjour !
'rico34' nous a écrit ...
Je souhaite récupérer les 2e et 3e caractères des noms de fichiers word d'un répertoire donné. C'est pour finir une macro réalisé avec l'aide d'une file précédente "pied de page"
mid("abcdefg.doc",2,2) donne la chaîne "bc" Reste à savoir ce que vous voulez faire avec ces 2 lettres
Anacoluthe « La joie est en tout. Il faut savoir l'extraire. » - CONFUCIUS
Bonjour !
'rico34' nous a écrit ...
Je souhaite récupérer les 2e et 3e caractères des noms de fichiers word d'un
répertoire donné.
C'est pour finir une macro réalisé avec l'aide d'une file précédente "pied
de page"
mid("abcdefg.doc",2,2) donne la chaîne "bc"
Reste à savoir ce que vous voulez faire avec ces 2 lettres
Anacoluthe
« La joie est en tout. Il faut savoir l'extraire. »
- CONFUCIUS
Je souhaite récupérer les 2e et 3e caractères des noms de fichiers word d'un répertoire donné. C'est pour finir une macro réalisé avec l'aide d'une file précédente "pied de page"
mid("abcdefg.doc",2,2) donne la chaîne "bc" Reste à savoir ce que vous voulez faire avec ces 2 lettres
Anacoluthe « La joie est en tout. Il faut savoir l'extraire. » - CONFUCIUS
rico34
Merci pour cette réponse rapide.
Un internaute m'a proposé ce bout de code ci-dessous. Je sais comment faire pour lister les éléments d'un répertoire, mais pas d'un sous-répertoire.
myFile = Dir$(PathToUse & "*.doc") While myFile <> "" 'Ouvrir document Set myDoc = Documents.Open(PathToUse & myFile)
'Enregistrer et fermer document myDoc.Close SaveChanges:=wdSaveChanges
'Prochain fichier dans le dossier myFile = Dir$() Wend
End Sub
Merci pour cette réponse rapide.
Un internaute m'a proposé ce bout de code ci-dessous. Je sais comment faire
pour lister les éléments d'un répertoire, mais pas d'un sous-répertoire.
myFile = Dir$(PathToUse & "*.doc")
While myFile <> ""
'Ouvrir document
Set myDoc = Documents.Open(PathToUse & myFile)
'Enregistrer et fermer document
myDoc.Close SaveChanges:=wdSaveChanges
'Prochain fichier dans le dossier
myFile = Dir$()
Wend
La fonction Dir (préférez l'objet FileSearch) possède un 2ème argument permettant de rechercher des sous-répertoires : il suffit de faire un nouveau Dir dans chaque sous-répertoire. Si on veut explorer toute l'arborescence la fonction doit s'appeler elle-même récursivement...
Anacoluthe « L'abîme appelle l'abîme. » - Victor HUGO
Bonjour !
'rico34' nous a écrit ...
Merci pour cette réponse rapide.
Un internaute m'a proposé ce bout de code ci-dessous. Je sais comment faire
pour lister les éléments d'un répertoire, mais pas d'un sous-répertoire.
La fonction Dir (préférez l'objet FileSearch) possède un 2ème argument
permettant de rechercher des sous-répertoires : il suffit de faire
un nouveau Dir dans chaque sous-répertoire.
Si on veut explorer toute l'arborescence la fonction doit
s'appeler elle-même récursivement...
Anacoluthe
« L'abîme appelle l'abîme. »
- Victor HUGO
La fonction Dir (préférez l'objet FileSearch) possède un 2ème argument permettant de rechercher des sous-répertoires : il suffit de faire un nouveau Dir dans chaque sous-répertoire. Si on veut explorer toute l'arborescence la fonction doit s'appeler elle-même récursivement...
Anacoluthe « L'abîme appelle l'abîme. » - Victor HUGO
Geo
Si on veut explorer toute l'arborescence la fonction doit s'appeler elle-même récursivement...
Attention : on peut avoir quelques soucis lorsqu'on emploie Dir récursivement.
Un ordre Dir réagit en fonction de celui qui a été exécuté précédemment et non de celui qui a l'air de précéder dans le code. Ça dépend comment c'est programmé, il faut raisonner sur la succession chronologique des appels.
Si on veut explorer toute l'arborescence la fonction doit
s'appeler elle-même récursivement...
Attention : on peut avoir quelques soucis lorsqu'on emploie Dir
récursivement.
Un ordre Dir réagit en fonction de celui qui a été exécuté précédemment
et non de celui qui a l'air de précéder dans le code.
Ça dépend comment c'est programmé, il faut raisonner sur la succession
chronologique des appels.
Pour les sous-répertoires et la récursivité je conseille plutôt FSO,
voir :
http://www.microsoft.com/france/msdn/scripting/fso.mspx
Si on veut explorer toute l'arborescence la fonction doit s'appeler elle-même récursivement...
Attention : on peut avoir quelques soucis lorsqu'on emploie Dir récursivement.
Un ordre Dir réagit en fonction de celui qui a été exécuté précédemment et non de celui qui a l'air de précéder dans le code. Ça dépend comment c'est programmé, il faut raisonner sur la succession chronologique des appels.
Attention : on peut avoir quelques soucis lorsqu'on emploie Dir récursivement.
Oh que oui ! D'une façon générale la récursivité c'est bon pour les profs de math ou d'informatique théorique mais mieux vaut éviter en pratique les mises en abîme... ;-)
Comme je disais dans mon précédent post, pour explorer les sous-répertoires, je me contente de l'objet FileSearch très simple à utiliser :
Public Sub Tous_les_docs() ' dresse la liste de tous les documents de c: !!! With Application.FileSearch .FileName = "*.doc" .LookIn = "C:" .SearchSubFolders = True ' <--- sous-répertoires ! .Execute For i = 1 To .FoundFiles.Count ActiveDocument.Content.InsertAfter vbCr & _ .FoundFiles(i) Next i End With End Sub
Anacoluthe « L'abîme appelle l'abîme. » - Victor HUGO
Hello !
'Geo' nous a écrit ...
Attention : on peut avoir quelques soucis lorsqu'on emploie Dir
récursivement.
Oh que oui ! D'une façon générale la récursivité c'est bon pour les profs
de math ou d'informatique théorique mais mieux vaut éviter en pratique
les mises en abîme... ;-)
Pour les sous-répertoires et la récursivité je conseille plutôt FSO, voir :
http://www.microsoft.com/france/msdn/scripting/fso.mspx
Comme je disais dans mon précédent post, pour explorer
les sous-répertoires, je me contente de l'objet FileSearch
très simple à utiliser :
Public Sub Tous_les_docs()
' dresse la liste de tous les documents de c: !!!
With Application.FileSearch
.FileName = "*.doc"
.LookIn = "C:"
.SearchSubFolders = True ' <--- sous-répertoires !
.Execute
For i = 1 To .FoundFiles.Count
ActiveDocument.Content.InsertAfter vbCr & _
.FoundFiles(i)
Next i
End With
End Sub
Anacoluthe
« L'abîme appelle l'abîme. »
- Victor HUGO
Attention : on peut avoir quelques soucis lorsqu'on emploie Dir récursivement.
Oh que oui ! D'une façon générale la récursivité c'est bon pour les profs de math ou d'informatique théorique mais mieux vaut éviter en pratique les mises en abîme... ;-)
Comme je disais dans mon précédent post, pour explorer les sous-répertoires, je me contente de l'objet FileSearch très simple à utiliser :
Public Sub Tous_les_docs() ' dresse la liste de tous les documents de c: !!! With Application.FileSearch .FileName = "*.doc" .LookIn = "C:" .SearchSubFolders = True ' <--- sous-répertoires ! .Execute For i = 1 To .FoundFiles.Count ActiveDocument.Content.InsertAfter vbCr & _ .FoundFiles(i) Next i End With End Sub
Anacoluthe « L'abîme appelle l'abîme. » - Victor HUGO