Mijn Communities
Help
skakiay
CONTRIBUTOR ***

Rapport met rubrieken/mergevelden die voorkomen in de templates

door skakiay
Status: Nieuw

Het zou handig zijn als het mogelijk is om een rapport uit te draaien, waarin je kunt zien welke mergevelden/rubrieken/IF's in welke templates zijn opgenomen.

 

Wij hebben bijvoorbeeld een aanpassing van een waarde in een rubriek. Ik weet dat we deze rubriek geconditioneerd hebben met IF en hierdoor weet ik ook welke templates ik moet gaan aanpassen. Maar deze informatie zit in het hoofd.  Het zou handig zijn als hier een overzicht voor beschikbaar is, ook voor toekomstige collega's.

 

Wij gebruiken vaak het inrichtingsrapport om te zien op welke formulieren een bepaalde rubriek voorkomt. Dit zou ook handig zijn voor de templates.

6 Opmerkingen
Ellen van Rijckevorsel
CONTRIBUTOR ***
door Ellen van Rijckevorsel

Wij hebben hiervoor een macro in Word geschreven, die alle mergefields uitleest.
Ik heb sinds kort een nieuwe laptop en heb niet meer de beschikking over deze macro. Ik zal eens kijken of ik hem nog ergens kan vinden.

Ellen van Rijckevorsel
CONTRIBUTOR ***
door Ellen van Rijckevorsel

Ik heb een stukje script gevonden en dat is voor het hernoemen van mergefields:

Sub RenameMergeFields ()
Dim f As Word.Field
form_old = InputBox („Vul de oude formuliernaam in. „, „Formname old”, „FVDL_Medewerker_oproepkracht”)
form_new = inputBox („Vul de nieuwe formuliernaam in. „, „Formname new”, „FVDL_Medewerker_oproep_omzetting”)
ActiveDocument.trackRevisions = False
Als form_old <> „” En form_new <> „” Dan
voor elke f In ActiveDocument.Fields
'If f.type = wdFieldIf Dan
'End if

 

Debug.Print „Code:" & F.code & Chr (13)
Debug.Print „Index:" & f.Index & Chr (13)

 

Als f.type = wdFieldMergeField Dan
strReplace = Vervangen (F.code, form_old, form_new)
strReplaceBrackets = „{” & strReplace & „}”
f.result.text = strReplaceBrackets
f.code.text = strReplace
End If
Next
End If
Einde sub

Ellen van Rijckevorsel
CONTRIBUTOR ***
door Ellen van Rijckevorsel

Dit is het stukje script. Bovenstaand script werkt niet. Onderstaand script toont je alle mergefields in een WordDocument. 

Sub FieldsInDocs()

Dim f As Word.Field
ActiveDocument.TrackRevisions = False

For Each f In ActiveDocument.Fields

Debug.Print "Code:" & f.Code & " | Index: " & f.Index

Next

End Sub

skakiay
CONTRIBUTOR ***
door skakiay

Beste @Ellen van Rijckevorsel ,

 

Bedankt voor jouw reactie incl. scripts. Wij kunnen wel per template kijken, door de veldcodes weer te geven en dan te zoeken naar een rubriek in de template.

 

Wij zouden graag andersom willen zoeken, dus welke rubriek/veldcode komt in welke templates voor? Bijvoorbeeld een bestand waarin je kunt zoeken naar A00015 en dan worden alle templatenamen getoond waarin deze rubriek is opgenomen. Dan weet je dat deze templates zal moeten aanpassen.

 

Zijn jouw script hier ook voor? Ik weet niet precies hoe je deze kunt gebruiken.

Ben benieuwd! Groetjes, Samantha

Lieke Sterk Huis
ACTIVE CONTRIBUTOR *
door Lieke Sterk Huis

Goed idee! Vooral omdat je nu meerdere mogelijkheden hebt bij de optie 'geslacht'. Dan is het super fijn dat je kan zien hoe vaak dit voorkomt in een document. Nog handiger zou zijn als je dit dan collectief zou kunnen veranderen. 

Ellen van Rijckevorsel
CONTRIBUTOR ***
door Ellen van Rijckevorsel

@skakiay 

Beste Skakiay,
Ik weet bijna zeker dat dit kan. Je moet dan alle documenten, die je wilt controleren, in één folder plaatsen. Je kan een script maken die alle documenten een voor een doorloopt en daarop het script uitvoert. Mijn actieve kennis van VBA strekt helaas niet zo ver meer, dat ik dit "even" maak. Maar er zijn beslist voorbeelden op internet te vinden.

@Lieke Sterk Huis 
Dat kan! Mijn originele script was veel uitgebreider en bevatte een zoek en vervang functie. Helaas ben ik dit kwijt geraakt toen ik een nieuwe computer kreeg. Ik heb basiskennis VBA, maar met veel zoeken op internet heb ik voorbeelden gevonden, die mij op de goede richting zette.