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.