Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
979 connectés 

  FORUM HardWare.fr
  Windows & Software
  Logiciels

  Word, supprimer la dernière page sur 200 documents

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Word, supprimer la dernière page sur 200 documents

n°2977178
caps lock
Posté le 13-01-2011 à 16:44:03  profilanswer
 

Bonjour,
 
Je dois supprimer la page 2/2 sur des centaines de documents word, ces pages sont générés automatiquement par un autre logiciel (je n'ai ni le nom ni la possibilité de mettre la main dessus).
 
Peut-on faire cela en masse ?  
 
Merci

mood
Publicité
Posté le 13-01-2011 à 16:44:03  profilanswer
 

n°2977304
caps lock
Posté le 14-01-2011 à 13:31:00  profilanswer
 

:bounce:

n°2977313
ccp6128
Syntax error
Posté le 14-01-2011 à 14:22:23  profilanswer
 

Ca doit pouvoir se faire via un vbscript par exemple.
 
Je teste rapidement et je te poste un truc.

n°2977317
ccp6128
Syntax error
Posté le 14-01-2011 à 14:44:25  profilanswer
 

Un petit script qui traite tous les fichiers contenus dans un répertoire :
 


' Script VBS qui supprime une page sélectionnée dans tous les fichiers d'un répertoire
 
Dim fso, oWord, f, Compteur, iPageToDelete
Set fso = CreateObject("Scripting.FileSystemObject" )
 
Set objWord = CreateObject("Word.Application" )
objWord.Visible = False
objWord.DisplayAlerts = FALSE  
 
iPageToDelete = 2
 
' Sélection du dossier ou sont stockés les fichiers
BIF_returnonlyfsdirs   = &H0001
BIF_dontgobelowdomain  = &H0002
BIF_editbox            = &H0010
BIF_validate           = &H0020
BIF_browseforcomputer  = &H1000
 
wdGoToPage         = 1
wdGoToLine         = 3
wdGoToAbsolute     = 1
wdGoToRelative     = 2
wdDoNotSaveChanges = 0
wdLine             = 5
wdParagraph        = 4
wdExtend           = 1
 
 
Dim shell, item
Set shell = WScript.CreateObject("Shell.Application" )
flag=BIF_returnonlyfsdirs  
titre="Dossier dans lequel sont stockés les fichiers Word"
Set Item = shell.BrowseForFolder(0,titre,flag, dirinit)
If isvalue(Item) Then
 Result=Item.Title
 
 ' Test si on a sélectionné la racine d'une partition  
 If InStr(1,Result,":" )=0 Then
  Result=Item.ParentFolder.ParseName(Item.Title).Path
  End If
else
 Wscript.quit
End If
 
Compteur = 0
' Traitement des fichiers Word contenus dans le répertoire sélectionné
Set f = fso.GetFolder(Result)
Set fc = f.Files
   For Each f1 in fc
      if StrComp(LCase(Right(f1.Name,4)),".doc",1 ) = 0  Then
   ' Traitement du fichier
   Set objWordFile = objWord.Documents.Open(Result + "\" + f1.Name)  
   objWord.Selection.GoTo(wdGoToPage, wdGoToAbsolute, iPageToDelete).Bookmarks("\Page" ).Range.Delete  
   objWordFile.Save()
  objWordFile.close()  
 Compteur = Compteur + 1
   End If
   Next
 
objWord.Quit  
 
MsgBox Cstr(Compteur) + " fichiers ont été traités."
'--------------------------------------------------------------
' Test de validité de l'objet retourné par BrowseForFolder
' On ne peut pas utiliser "IsObject", qui retourne toujours "true"
Function IsValue(obj)
Dim tmp
On Error Resume Next
tmp = " " & obj
If Err <> 0 Then IsValue = False Else IsValue = True
On Error GoTo 0
End Function


Message édité par ccp6128 le 14-01-2011 à 14:45:24
n°2977967
caps lock
Posté le 18-01-2011 à 13:07:50  profilanswer
 

Merci pour cette réponse, j'ai créé le script comme ci dessus mais cela ne fonctionne pas, la page 2 est toujours présente, pourtant le script a bien interagi avec car la date de modification a bien été modifiée.
Il semble que les documents ne soient pas créés de la même manière car pour quelques uns d'entre eux il ne reste plus que la page 1/1 qui est blanche (tout est effacé)

n°2977970
caps lock
Posté le 18-01-2011 à 13:19:14  profilanswer
 

L'idéal serait d'adapter le code pour effectuer un "suppr" à la ligne 15 pour retirer la page 2 qui est vide.

n°2977972
ccp6128
Syntax error
Posté le 18-01-2011 à 13:24:57  profilanswer
 

Si tu peux m'envoyer un modèle de fichier, je pourrai regarder comment il est fait et adapter le script en conséquence.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Windows & Software
  Logiciels

  Word, supprimer la dernière page sur 200 documents

 

Sujets relatifs
mise en page office 2010[Monitoring] Afficher alternativement 2 page web
Comment activer la capture d'ecran en page plein ecran ?page de publicité intempestive
Page IE8 qui s'ouvre toute seule sur des sites xxxsauvegarde auto des documents
Impossible de supprimer serveur sur TeamspeakProblème d'en tête sur Microsoft Word for Windows® 97
ie impossible de changer page de redémarrageDessiner une courbe sous Word 2007
Plus de sujets relatifs à : Word, supprimer la dernière page sur 200 documents


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR