Userform in Wordsjabloon plaatst tekst dubbel na ENTER

Status
Niet open voor verdere reacties.
aanvullende vraag

Hallo,

Ik heb nu een aantal sjablonen kunnen maken volgens bovenstaande. Allemaal prima te doen. meerder keren een DocVariable plaatsten binnen een document is geen probleem.
Echter. het gaat goed tot ik meerdere invulvelden in het formulier wil toevoegen.

Stel ik heb nu 9 tekstvelden (voorheen 8) dan krijg ik na het invoeren van de gegevens in het userform en klikken op de commandbutton de volgende fout in de VBA code:
Code:
Private Sub CommandButton1_Click()
Dim i As Integer

    Application.ScreenUpdating = False
    Set aDoc = ActiveDocument
    For i = 1 To 9
       [B]aDoc.Variables(Me("Textbox" & i).Tag).Value = Me("Textbox" & i).Value[/B]
    Next i
    aDoc.Fields.Update
    Unload Me
    Application.ScreenUpdating = True

End Sub

ik heb alleen het getal 8 in 9 vervangen omdat ik er van uit ga dat het een telling is voor elke i 1 tm 9 (het aantal textboxen)
wat ik ook aanpas hij blijft in de code een fout zien.
Heeft iemand nog een suggestie?
Het lijkt me dat ik gewoon docvariables gekoppeld aan tekstvelden moet kunnen toevoegen??
 
En je weet zeker dat de docvariabele bestaat in het document? Als je een nieuwe toevoegt, moet die wel bestaan anders krijg je inderdaad een foutmelding.
 
de stappen die ik heb gedaan zijn:
- nieuw veld toegevoegd in document (docVariable) en benoemd 'varTelefoon'
- in de vba module toegevoegd
Code:
Public varTelefoon As Variable
- in het userform een invoerveld ingevoegd met naam 'textbox9
- in de code van het userform, aangepast van 8 naar 9
Code:
Private Sub UserForm_Initialize()
Dim i As Integer
    Set aDoc = ActiveDocument
    On Error Resume Next
    If aDoc.Variables.Count > 0 Then
        For i = 1 To 9
            Me("Textbox" & i).Value = aDoc.Variables(Me("Textbox" & i).Tag)
        Next i
    Else
        Me.TextBox3.Value = Date
        Me.TextBox4.Value = Format(Date, "yyyyddmm")
        Me.TextBox5.Value = " "
    End If
End Sub

Private Sub CommandButton1_Click()
Dim i As Integer

    Application.ScreenUpdating = False
    Set aDoc = ActiveDocument
    For i = 1 To 9
        aDoc.Variables(Me("Textbox" & i).Tag).Value = Me("Textbox" & i).Value
    Next i
    aDoc.Fields.Update
    Unload Me
    Application.ScreenUpdating = True

End Sub

opgeslagen en bij het maken van een nieuwe brief krijg ik de foutmelding
'Fout! De documentvariabele ontbreekt'

heb ik nog wat overgeslagen???
 

Bijlagen

  • sjabloon extra veld.zip
    24,8 KB · Weergaven: 29
Verwijder Module1 met inhoud.

Gebruik in het userform:

Code:
Private Sub UserForm_Initialize()
        TextBox3.Value = Date
        TextBox4.Value = Format(Date, "yyyyddmm")
End Sub

Private Sub CommandButton1_Click()
    Application.ScreenUpdating = False
    
    With ActiveDocument
        For i = 1 To 9
          .Variables(Me("Textbox" & i).Tag).Value = Me("Textbox" & i).Text
        Next
       .Fields.Update
    End With
    
    Application.ScreenUpdating = True
    Unload Me
End Sub

Wijzig de .Tag eigenschap van Textbox9 in varTelefoon
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan