[Résolu] Conversion par lot .doc en .dot

Conversion par lot .doc en .dot [Résolu] - VB/VBA/VBS - Programmation

Marsh Posté le 02-11-2011 à 11:15:14    

Bonjour,
 
J'ai plusieurs dizaines de documents word et il faudrait que je puisse les convertir en .dot... Connaissez-vous un moyen simple de le faire via une macro ? un script ?
(étant donné qu'un simple renommage ne suffit pas... :( )
 
J'ai lu le sujet suivant :
http://forum.hardware.fr/hfr/Progr [...] 7133_1.htm
 
C'est exactement l'inverse que je veux réaliser :D


Message édité par KevinTran le 02-11-2011 à 13:58:14

---------------
http://www.kevintran.fr
Reply

Marsh Posté le 02-11-2011 à 11:15:14   

Reply

Marsh Posté le 02-11-2011 à 12:06:23    

Je pense qu'il suffirait d'utiliser le code de sgachet, mais en remplaçant *.dot par *.doc et en remplaçant wdFormatDocument par wdFormatTemplate , (edit : et "c" par "t" ) ce qui donnerait :

   With Application.FileSearch  
        .NewSearch  
        .TextOrProperty = "*.doc"  
        .LookIn = "Le_répertoire_où_sont_les_doc"  
        .SearchSubFolders = True  
        .FileType = msoFileTypeAllFiles  
        .Execute  
        Total = .FoundFiles.Count  
        For i = 1 To Total  
            strNomFichier = .FoundFiles(i)  
            Documents.Open strNomFichier  
            ActiveDocument.SaveAs Left(strNomFichier, Len(strNomFichier) - 1) & "t", wdFormatTemplate
            ActiveDocument.Close wdDoNotSaveChanges  
        Next  
    End With


N.B. J'ai trouvé wdFormatTemplate sur la page http://msdn.microsoft.com/en-us/li [...] e.12).aspx


Message édité par olivthill le 02-11-2011 à 12:07:19
Reply

Marsh Posté le 02-11-2011 à 12:14:42    

Ah cool, merci :) et ce code je le met où ?
J'ouvre un document Word, j'ouvre ensuite Visual Basic Editor, mais après ?
 
Désolé je suis un pur noob en VB... j'utilise plutôt python/java :/


---------------
http://www.kevintran.fr
Reply

Marsh Posté le 02-11-2011 à 12:17:44    

Oui c'est du VBA.
 
Personnellement, je crée une macro bidon avec l'enregistreur de macros.
Puis, je vais dans l'éditeur du VBA avec alt F11 et je modifie la macro bidon en y mettant le code.
 
Mais attention, c'est une macro pour tous les fichiers d'un répertoire. Il est recommander de faire un test avec un seul fichier dans ce répertoire-là.


Message édité par olivthill le 02-11-2011 à 12:18:02
Reply

Marsh Posté le 02-11-2011 à 13:22:59    

Pour le répertoire il lui faut un chemin en dur ? (c:\dossier\)
ou un chemin logique fonctionne ?

 

J'ai testé vite fait mais apparemment ça ne fonctionne pas.


Message édité par KevinTran le 02-11-2011 à 13:28:10

---------------
http://www.kevintran.fr
Reply

Marsh Posté le 02-11-2011 à 13:51:22    

ça y est, j'y suis arrivé, avec l'aide de ce script et une autre page web. J'ai utilisé .FileName = ".doc" plutôt que .TextOrProperty = "*.doc" et .FileType = msoFileTypeAllFiles
 
Cela donne :

Code :
  1. Sub ConversionDOT()
  2. '
  3. ' ConversionDOT Macro
  4. '
  5.    With Application.FileSearch
  6.         .NewSearch
  7.         .LookIn = "C:\TestMacro"
  8.         .SearchSubFolders = True
  9.         .FileName = "*.doc"
  10.         .Execute
  11.         Total = .FoundFiles.Count
  12.         For i = 1 To Total
  13.             strNomFichier = .FoundFiles(i)
  14.             Documents.Open strNomFichier
  15.             ActiveDocument.SaveAs Left(strNomFichier, Len(strNomFichier) - 1) & "t", wdFormatTemplate
  16.             ActiveDocument.Close wdDoNotSaveChanges
  17.         Next
  18.     End With
  19. End Sub


 
Merci pour le coup de main :)


---------------
http://www.kevintran.fr
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed