J'ai le code suivant: Je veux boucler ce sous via tous les fichiers Word (.Doc) dans un répertoire. J'ai le code suivant: p> mais cela ne fonctionne pas. Comment puis-je obtenir cela pour travailler soit en modifiant le code actuel ou en utilisant un nouveau code? P> p>
3 Réponses :
Vous n'avez pas vraiment besoin de la macro WordtOtxtWLB. Vous pouvez combiner les deux codes. Voir cet exemple BTW, êtes-vous sûr de vouloir utiliser le *. * code> wildcard? Et s'il existe des fichiers AutoCAD dans le dossier? Aussi activedocument.name code> vous donnera le nom de fichier avec l'extension. P> p>
Comment obtiendrais-je cela pour appliquer uniquement des documents ?DocM?
Remplacer dir (VDirectory & "*. *") Code> avec dir (vdirectory & "* .docm") code>
Pour modifier tous les documents Word dans un répertoire, j'ai construit ce sous-programme simple.
Le sous-programme boucle dans le répertoire et
ouvre chaque * fichier .doc qu'il trouve. Ensuite, sur le fichier de document ouvert, il appelle
le deuxième sous-programme. Une fois le deuxième sous-programme terminé le document
est enregistré puis fermé. p> ~~~~~~ P> P>
Voici ma solution. Je pense qu'il est facile de comprendre et de tout droit pour les débutants comme moi que je posterai mon code ici. Parce que j'ai cherché autour de moi et que les codes que j'ai vus étaient un peu compliqué. Allons-y.
Sub loopDocxs()
Dim wApp As Word.Application
Dim wDoc As Word.Document
Dim mySource As Object
Set obj = CreateObject("Scripting.FileSystemObject")
Set mySource = obj.GetFolder("D:\docxs\")
For Each file In mySource.Files 'loop through the directory
If Len(file.Name) > 0 And InStr(1, file.Name, "$") = 0 Then '$ is temp file mask
Set wApp = CreateObject("Word.Application")
wApp.Visible = True
'Word.Application doesn't recognize file here event if it's a word file.
'fortunately we have the file name which we can use.
Set wDoc = wApp.Documents.Open(mySource & "\" & file.Name, , ReadOnly)
'Do your things here which will be a lot of code
wApp.Quit
Set wApp = Nothing
End If
Next file
WordtoTxtWLB code> n'est pas une méthode d'activitéCUPUME, alors utilisez simplement le nom de la méthode par lui-même. Mieux vaut mieux adapter votre méthode pour prendre un paramètre de type "document" et transmettre directement le document ouvert.