Glenn cherchait un moyen de «placer une marque» sur un document pour indiquer qu’il avait été archivé. De plus, il y avait de nombreux documents de ce type à marquer, donc un moyen de les charger, d’ajouter la marque et de les enregistrer à nouveau était souhaitable.

Une telle tâche peut être réalisée de différentes manières. Les différences sont déterminées par la manière exacte dont la «marque» est placée dans un document. De toute évidence, le mot «Archive» (ou une terminologie similaire) pourrait être ajouté à un document, mais cela affecterait l’apparence réelle du document lui-même, ce qui est souvent indésirable.

Il existe une solution qui n’implique aucune marque visible sur le document: utilisez les propriétés du document. Vous pouvez définir une propriété de document personnalisée qui indiquerait si le document a été archivé ou non. Vous pourrez ultérieurement rechercher la propriété pour déterminer quels fichiers répondent à vos critères.

La macro suivante chargera tous les documents dans un répertoire (et éventuellement tous les sous-répertoires), et créera ou définira une propriété de document personnalisée indiquant que le document a été archivé. Dans ce cas, la propriété personnalisée est nommée Archive et est définie sur True (Oui)

état.

Public Sub SetArchive()

Dim bExists As Boolean

With Application.FileSearch         .LookIn = "C:\"             ' where to search         .SearchSubFolders = True    ' search the subfolders         .FileName = "*.doc"         ' file pattern to match

' if more than one match, execute the following code         If .Execute() > 0 Then             For i = 1 To .FoundFiles.Count                 ' Open the file                 Documents.Open FileName:=.FoundFiles(i)



' Begin document changes

' See if the doc variable exists                 bExists = False                 For Each varItem In ActiveDocument.CustomDocumentProperties                     If varItem.Name = "Archive" Then                         bExists = True                         Exit For                     End If                 Next varItem

If Not bExists Then                     ' Add and set document property                     ActiveDocument.CustomDocumentProperties.Add _                       Name:="Archive", LinkToContent:=False, _                       Type:=msoPropertyTypeBoolean, Value:=True                 Else                     'Already exists, so just set it                     ActiveDocument.CustomDocumentProperties("Archive") = True                 End If

' End document changes

' Force document to be saved                 ActiveDocument.Saved = False                 ' Save and close the current document                 ActiveDocument.Close wdSaveChanges             Next i         Else             ' Could not find any DOC files             MsgBox "No files found."

End If     End With End Sub

Pour utiliser la macro, changez simplement la spécification du répertoire dans la cinquième ligne de la macro (commence par .LookIn). Une fois exécutée, la propriété Archive est créée et définie dans chacun des documents. Vous pouvez afficher les résultats en chargeant l’un des fichiers et en affichant les propriétés du fichier. La façon dont vous affichez les informations dépend de la version de Word que vous utilisez:

  • Si vous utilisez Word 2007, cliquez sur le bouton Office, puis choisissez Préparer | Propriétés. Word affiche le panneau d’informations sur le document en haut du document. Utilisez la liste déroulante Propriétés du document (coin supérieur gauche du panneau Informations sur le document) pour choisir Propriétés avancées. Word affiche la boîte de dialogue Propriétés.

  • Si vous utilisez Word 2010, cliquez sur l’onglet Fichier du ruban, puis sur Info | Propriétés | Propriétés avancées. Word affiche la boîte de dialogue Propriétés.

Quelle que soit la version de Word que vous utilisez, cliquez sur l’onglet Personnalisé.

Notez que la propriété Archive doit être visible dans la boîte de dialogue.

Il y a une chose intéressante à propos de cette macro. Notez que vous devez «forcer» le document à être enregistré en définissant la propriété Saved du document sur False. Si vous ne le faites pas, votre propriété personnalisée n’est pas enregistrée. Pourquoi? Apparemment, Word ne reconnaît pas une modification apportée à une propriété personnalisée, y compris l’ajout d’une propriété, comme une raison pour enregistrer un document. Ainsi, sauf si vous forcez la propriété Saved à False, Word ne reconnaît pas que des modifications se sont produites dans le document.

Si vous préférez ne pas utiliser l’approche de propriété personnalisée pour marquer votre archive, vous pouvez apporter des modifications à cette macro pour obtenir les résultats souhaités. Tout ce que vous avez à faire est de remplacer le code entre les commentaires «Commencer les modifications du document» et «Terminer les modifications du document» par ce que vous voulez faire sur le document. Par exemple, si vous voulez qu’un filigrane soit placé dans le document, remplacez simplement le code noté par du code qui crée et place le filigrane.

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites WordTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / wordribbon-WordTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

WordTips est votre source pour une formation Microsoft Word rentable.

(Microsoft Word est le logiciel de traitement de texte le plus populaire au monde.) Cette astuce (10312) s’applique à Microsoft Word 2007 et 2010. Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu de Word ici: `link: / word -Marking_Multiple_Documents [Marquage de plusieurs documents] `.