Kopiering Custom Properties

September 18  by Eliza

Definerte dokumentegenskaper er en fin måte å lagre unik informasjon som er knyttet til et dokument. For eksempel kan du ha et selskap tildelt dokumentnummeret som skal lagres med et dokument. En tilpasset eiendom passer regningen ganske bra til dette formålet.

Når du legger til egendefinerte egenskaper til et dokument, kan du begynne å lure på om det er en enkel måte å kopiere dem fra et dokument til et annet. Dessverre er det ingen måte å gjøre dette. (I min vurdering, ville denne evnen lage et fint tillegg til Organizer.) Du kan imidlertid opprette en makro som vil gjøre kopieringen for deg. Følgende makro vil gjøre nettopp det:

Sub CopyDocProps ()
Dim dp () Som DocumentProperty
Dim CustomPropCount As Integer
Dim i As Integer
Dim intResponse As Integer

Hvis Windows.Count> 2 Da
MsgBox "Det er mer enn to vinduer. Vennligst" & _
"Lukke de andre og kjøre makroen.", _
"For mange vinduer"
Exit Sub
End If

On Error GoTo Err_Handler

intResponse = MsgBox ("Er du for tiden i kildedokumentet?", _
vbYesNoCancel, "Kopier Custom Properties")

Hvis intResponse = vbNo Deretter Application.Run MacroName: = "Nextwindow"

CustomPropCount = ActiveDocument.CustomDocumentProperties.Count
ReDim dp (1 Til CustomPropCount)

For i = 1 Til CustomPropCount
Sett dp (i) = ActiveDocument.CustomDocumentProperties (i)
Neste jeg

Application.Run MacroName: = "Nextwindow"

For i = 1 Til CustomPropCount
Hvis dp (i) .LinkToContent = True Deretter
ActiveDocument.CustomDocumentProperties.Add _
Navn: = dp (i) .name, _
LinkToContent: = sant, _
Verdi: = dp (i) .Value, _
Type: = dp (i) .Type, _
LinkSource: = dp (i) .LinkSource
Else
ActiveDocument.CustomDocumentProperties.Add _
Navn: = dp (i) .name, _
LinkToContent: = False, _
Verdi: = dp (i) .Value, _
Type: = dp (i) .Type
End If
Neste jeg

MsgBox "Eiendommene er kopiert."
Exit Sub

Err_Handler:
"Hvis Word hever en feil, så la brukeren
'Å oppdatere den tilpassede dokumentegenskap

intResponse = MsgBox ("Skikken dokument eiendom (" & _
dp (i) .name & ") finnes allerede." & VbCrLf & vbCrLf & _
"Ønsker du å oppdatere verdien?", VbYesNoCancel, _
"Kopier Custom Properties")

Velg Sak Response
Tilfellet vbCancel
Slutten
Case vbYes
ActiveDocument.CustomDocumentProperties (dp (i) .name) .Value _
= Dp (i) .Value
Gjenoppta Neste
Tilfellet vbNo
Gjenoppta Neste
End Select
End Sub

Denne koden er et eksempel på hvordan du kopierer definerte egenskaper, men det er ikke vanntett. For eksempel, det sjekker ikke for å se om det finnes faktisk noen egendefinerte egenskaper i kildedokumentet; det bare forutsetter at det finnes. Slik koding kan enkelt legges imidlertid.

For å kunne bruke makroen, sørg for at du har bare kilde- og måldokumenter åpen, og du bør ha kun ett vindu åpent per dokument. Når makroen er ferdig, vil du trenger å spare måldokumentet.

WordTips er din kilde for kostnadseffektiv Microsoft Word trening. (Microsoft Word er den mest populære tekstbehandlingsprogrammet i verden.) Dette tipset (1340) gjelder for Microsoft Word 97, 2000, 2002, og 2003. Du kan finne en versjon av dette tipset for Båndet av Word (Word 2007 og senere) her: Kopiere Custom Properties.