6
votes

Boucle via tous les fichiers de mots dans le répertoire

J'ai le code suivant: xxx

Je veux boucler ce sous via tous les fichiers Word (.Doc) dans un répertoire. J'ai le code suivant: xxx

mais cela ne fonctionne pas. Comment puis-je obtenir cela pour travailler soit en modifiant le code actuel ou en utilisant un nouveau code?


1 commentaires

WordtoTxtWLB 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.


3 Réponses :


14
votes

Vous n'avez pas vraiment besoin de la macro WordtOtxtWLB. Vous pouvez combiner les deux codes. Voir cet exemple XXX

BTW, êtes-vous sûr de vouloir utiliser le *. * wildcard? Et s'il existe des fichiers AutoCAD dans le dossier? Aussi activedocument.name vous donnera le nom de fichier avec l'extension.


2 commentaires

Comment obtiendrais-je cela pour appliquer uniquement des documents ?DocM?


Remplacer dir (VDirectory & "*. *") avec dir (vdirectory & "* .docm")



2
votes

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é. xxx

~~~~~~


0 commentaires

0
votes

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


0 commentaires