Copia de propiedades personalizadas (Microsoft Word)
Las propiedades personalizadas del documento son una excelente manera de almacenar información única asociada con un documento. Por ejemplo, puede tener un número de documento asignado por la empresa que debe almacenarse con un documento. Una propiedad personalizada encaja perfectamente con este propósito.
A medida que agrega propiedades personalizadas a un documento, puede comenzar a preguntarse si existe una manera fácil de copiarlas de un documento a otro.
Desafortunadamente, no hay forma de hacer esto. (En mi opinión, esta capacidad sería una excelente adición al Organizador). Sin embargo, puede crear una macro que haga la copia por usted. La siguiente macro hará precisamente eso:
Sub CopyDocProps() Dim dp() As DocumentProperty Dim CustomPropCount As Integer Dim i As Integer Dim iResponse 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 iResponse = MsgBox("Are you currently in the source document?", _ vbYesNoCancel, "Copy Custom Properties") If iResponse = 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 iResponse = 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 iResponse Case vbCancel End Case vbYes ActiveDocument.CustomDocumentProperties(dp(i).Name).Value _ = dp(i).Value Resume Next Case vbNo Resume Next End Select End Sub
Este código es un ejemplo de cómo copiar propiedades personalizadas, pero no es a prueba de balas. Por ejemplo, no comprueba si realmente hay propiedades personalizadas en el documento de origen; simplemente asume que los hay. Sin embargo, tal codificación podría agregarse fácilmente.
Para usar la macro, asegúrese de que solo tiene abiertos los documentos de origen y de destino, y solo debe tener una ventana abierta por documento. Cuando finalice la macro, deberá guardar el documento de destino.
_Nota: _
Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios WordTips), he preparado una página especial que incluye información útil.
link: / wordribbon-WordTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador]
.
WordTips es su fuente de formación rentable en Microsoft Word.
(Microsoft Word es el software de procesamiento de texto más popular del mundo). Esta sugerencia (11671) se aplica a Microsoft Word 2007, 2010, 2013, 2016, 2019 y Word en Office 365. Puede encontrar una versión de esta sugerencia para interfaz de menú anterior de Word aquí:
link: / word-Copying_Custom_Properties [Copiando propiedades personalizadas]
.