Docvaribele vullen maar niet het gehele document

Status
Niet open voor verdere reacties.

brakkeleer

Gebruiker
Lid geworden
27 mei 2006
Berichten
296
Hallo,

Ik maak in mijn sjabloon gebruik van docvaribele.
Nu wil ik dat een gedeelte van mijn docvariabele gevuld worden als ik op klaar klik.
Maar ik weet de code daar niet voor.
Wat ik nu heb :
=============
Selection.WholeStory
ActiveDocument.Fields.Update
Selection.HomeKey Unit:=wdStory
============

Werkt goed voor het gehele document. Maar ik wil maar 4 waardes laten vullen.
Ik kan niet met bladwijzers werken omdat deze gegevens mee genomen moeten worden ivm het mailen.

Alvast bedankt!
 
Ik ben bang dat ik je vraag niet begrijp. Welke 4 waarden moeten worden gevuld? Wat bedoel je met 'docvariabele'?

Eigenlijk snap ik niet wat je nou precies wilt bereiken en wat je beperkingen zijn... :confused:
 
Ok sorry dat ik niet helemaal duidelijk ben.
Ik zal het nogmaals proberen uit te leggen (ben in elk geval blij dat je me wilt helpen).
Ik heb in mijn word sjabloon doc variabelen gemaakt. (via invoegen --> veld --> docvariable)
Ik werk met docvariabele omdat ik de gegevens wil vasthouden met het versturen van het sjabloon. Dat kan ik niet als ik met bladwijzers werk.

Nu heb ik al vaker met docvariabele gewerkt en door het stukje code in te voeren :
=============
Selection.WholeStory
ActiveDocument.Fields.Update
Selection.HomeKey Unit:=wdStory
============

Vult hij de docvariabele in. Alleen het probleem is dat hij alle docvariabele invult. Maar ik wil dat hij maar 4 docvariabele invult ipv alle 20.
Dus met andere woorden welke opdracht moet ik geven dat hij ipv selection.wholestory alleen een gedeelte pakt.

Ja sorry ik zou willen dat ik het beter uit kon leggen maar het is nogal een ingewikkeld verhaal. Ik weet niet of je ooit met docvariabele gewerkt hebt, maar ik vind het persoonlijk nogal een ingewikkeld verhaal. Ik kan je eventueel (morgen) het sjabloon sturen zodat ik het je kan laten zien. Er zit wel een koppeling in naar excel dus zal alle bestanden mee sturen (als je dat wilt).
 
Het kan zo, maar is mogelijk wel omslachtig. Ik heb niets anders kunnen verzinnen... :confused:

In het voorbeeld worden alleen de docvariables "Naam" en "Motto" ge-update.

Code:
Sub test()
    Dim OneStory As Range
    Dim OneField As Field
    Dim iloc1 As Integer, iloc2 As Integer
    Dim sTekst() As String
    
    Selection.WholeStory
    
    'Indien nodig haal de beveiliging er tijdelijk af.
    'ActiveDocument.Unprotect Password:="YourPassword"
    For Each OneStory In ActiveDocument.StoryRanges
        For Each OneField In OneStory.Fields
            Select Case OneField.Type
                'Update alleen specifieke normale velden (indien nodig)
                Case wdFieldAuthor
                    OneField.Update
                    
                Case wdFieldDocVariable
                    'Update alleen specifieke docvariables
                    sTekst = Split(OneField.Code.Text, "  ", , vbTextCompare)
                    Select Case sTekst(1)
                        Case "Naam", "Motto"
                            OneField.Update
                        Case Else
                            'do nothing
                    End Select
                
                Case Else
                    'do nothing
            End Select
        Next OneField
    Next OneStory
    
    Selection.HomeKey Unit:=wdStory
End Sub
 
Heej
Super hardstikke bedankt het werkt perfect!
Ik had al zoveel gezocht op google, maar kon het niet vinden.
Nu kan ik er weer mee verder.
Nogmaals bedankt!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan