Copie des propriétés personnalisées (Microsoft Word)
Les propriétés de document personnalisées sont un excellent moyen de stocker des informations uniques associées à un document. Par exemple, vous pouvez avoir un numéro de document attribué à l’entreprise qui doit être stocké avec un document. Une propriété personnalisée convient parfaitement à cette fin.
Lorsque vous ajoutez des propriétés personnalisées à un document, vous pouvez commencer à vous demander s’il existe un moyen simple de les copier d’un document à un autre.
Malheureusement, il n’y a aucun moyen de faire cela. (À mon avis, cette capacité constituerait un excellent ajout à l’organisateur.) Vous pouvez, cependant, créer une macro qui fera la copie pour vous. La macro suivante fera exactement cela:
Sub CopyDocProps() Dim dp() As DocumentProperty Dim CustomPropCount As Integer Dim i As Integer Dim intResponse As Integer If Windows.Count > 2 Then MsgBox "There are more than two windows. Please " & _ "close the others and re-run the macro.", , _ "Too many windows" Exit Sub End If On Error GoTo Err_Handler intResponse = MsgBox("Are you currently in the source document?", _ vbYesNoCancel, "Copy Custom Properties") If intResponse = vbNo Then Application.Run MacroName:="NextWindow" CustomPropCount = ActiveDocument.CustomDocumentProperties.Count ReDim dp(1 To CustomPropCount) For i = 1 To CustomPropCount Set dp(i) = ActiveDocument.CustomDocumentProperties(i) Next i Application.Run MacroName:="NextWindow" For i = 1 To CustomPropCount If dp(i).LinkToContent = True Then ActiveDocument.CustomDocumentProperties.Add _ Name:=dp(i).Name, _ LinkToContent:=True, _ Value:=dp(i).Value, _ Type:=dp(i).Type, _ LinkSource:=dp(i).LinkSource Else ActiveDocument.CustomDocumentProperties.Add _ Name:=dp(i).Name, _ LinkToContent:=False, _ Value:=dp(i).Value, _ Type:=dp(i).Type End If Next i MsgBox "The properties have been copied." Exit Sub Err_Handler: ' if Word raises an error, then allow the user ' to update the custom document property intResponse = MsgBox("The custom document property (" & _ dp(i).Name & ") already exists." & vbCrLf & vbCrLf & _ "Do you want to update the value?", vbYesNoCancel, _ "Copy Custom Properties") Select Case Response Case vbCancel End Case vbYes ActiveDocument.CustomDocumentProperties(dp(i).Name).Value _ = dp(i).Value Resume Next Case vbNo Resume Next End Select End Sub
Ce code est un exemple de copie des propriétés personnalisées, mais il n’est pas à toute épreuve. Par exemple, il ne vérifie pas s’il existe réellement des propriétés personnalisées dans le document source; il suppose simplement qu’il y en a. Un tel codage pourrait cependant être facilement ajouté.
Pour utiliser la macro, assurez-vous que seuls les documents source et cible sont ouverts et que vous ne devez avoir qu’une seule fenêtre ouverte par document. Lorsque la macro est terminée, vous devrez enregistrer le document cible.
_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 (1340) s’applique à Microsoft Word 97, 2000, 2002 et 2003. Vous pouvez trouver une version de cette astuce pour l’interface ruban de Word (Word 2007 et plus tard) ici:
link: / wordribbon-Copying_Custom_Properties [Copie des propriétés personnalisées]
.