keuzerondje in userform naar formulier

Status
Niet open voor verdere reacties.
Keuzerondjes zijn een beetje tricky, omdat ze in beginsel niet met elkaar reageren. Je zult dus, als je groepen wilt gebruiken, die apart moeten definieren in de eigenschappen, zoals in bijgaand voorbeeld.
 

Bijlagen

Die optie kende ik al vanuit een ander topic. Daar gaf je aan dat het gegroepeerd moet worden.

Alleen hoe ga ik vanuit een userform, deze rondjes overnemen naar het document?
 
Veel makkerlijk, want op een Userform kun je wél makkelijk groepen aanmaken. Je kiest dan de waarde van het optierondje en wijst dat toe aan de juiste (Doc)variabele in het document. Maak anders een voorbeeldje, dat werkt makkelijker.
 
In een docx kun je geen formulier zetten, en die zit er dus ook niet in :).
 
heb hem hernoemd van docm naar docx.

anders upload hij niet.
 
Mijn laptop thuis is gesneuveld, dus ik kon even niks doen. En de rest van de helpers ligt waarschijnlijk op het strand :). Maar ik heb je document net geprobeerd te openen, (na hernoemen uiteraard) maar dat werkt dus niet, hij is niet te openen. Misschien moet je van het origineel maar een zipje maken, het document lijkt klein genoeg.
 
Het probleem is niet zo groot, kat heeft dwars door de laptop heen gepiest, en dat heeft 2 dagen staan inwerken :D. En de oplossing dus ook niet. Weggooien namelijk :). Document doet het nu wel, dus dat is een stap in de goede richting.
 
een hardere toetsaanslag komt zo aggressief over he :P
Fijn dat het bestand nu wel te openen is.
 
Het mooie van de laptop nu is: het maakt niet uit of ik hard of zacht aansla, er gebeurt namelijk niks. Hij gaat niet eens meer aan.... Je probleem is best heftig trouwens, want de keuzelijsten op het formulier (die makkelijk te gebruiken zijn) kun je nauwelijks linken aan de keuzerondjes die je in het document gebruikt. Laat staan dat je de waarden simpel kunt overzetten. Persoonlijk zou ik er grote vraagtekens bij zetten waarom je dat op deze manier wilt gebruiken; ik zou een andere oplossing zoeken.
 
de reden waarom ik dat wil, is om een formulier zo monkeyproof mogelijk te maken.

in het uiteindelijke resultaat, moet hij ook automatisch worden opgeslagen en automagisch per mail worden verstuurd naar een vast emailadres.
 
Dat mag zo zijn, maar een optierondje in het document zelf is net zo dumboproof als een optierondje op een formulier. Nu heb je dus dubbele opties waarvan het overnemen een stuk lastiger is dan een goed document zonder formulier.
 
De invuller moet alleen het formulier te zien krijgen en niet het word-document zelf.
Daar zit de truc
 
ik heb deze gevonden http://www.femda.com/text.aspx?A=tp0990997139 maar hierbij werken ze met bookmarks, iets wat ik niet gebruik.
een poging om hem te kunnen gebruiken heb ik gedaan, onder de OK knop heb ik dit
Code:
Private Sub cmdok_Click()
Dim ct As Control

    For Each ct In Controls
        If TypeName(ct) = "TextBox" Then ActiveDocument.Variables(ct.Name) = IIf(ct.Text = "", " ", ct.Text)
        If TypeName(ct) = "CheckBox" Then ActiveDocument.Variables(ct.Name) = IIf(ct.Value = 0, 0, 1)
        If TypeName(ct) = "ComboBox" Then ActiveDocument.Variables(ct.Name) = IIf(ct.Text = "", " ", ct.Text)

    Next

    With ActiveDocument
        .Fields(ActiveDocument.Fields.Count).Locked = True
        UpdateFields
        .Fields(ActiveDocument.Fields.Count).Locked = False
    End With
    
    ActiveDocument.Variables("OptPat").[B]Select[/B]
    If Me.OptPatJa Then
        ct.Text Me.OptPatJa.Caption
    ElseIf Me.OptPatNee Then
        ct.Text Me.OptPatNee.Caption
    End If
  Unload Me

End Sub

waarbij de code vast loopt op Select (vet gedrukt)


edit:
Deze techniek lijkt een stuk eenvoudiger dan wat hier boven allemaal staat http://www.fontstuff.com/vba/vbatut09c.htm

Edit 2:
toch niet zo makkelijk :(
 
Laatst bewerkt:
Die foutmelding is logisch; je hebt geen Docvariabele die OptPat heet. Dan valt die ook niet te selecteren.
 
Opzich werkt alles nu. Alleen heb ik het probleem dat niet elke docvariabele goed bijgewerkt wordt.

Lijkt erop dat als ze onderaan de pagina staan, of afgezonderd van andere vars, dat de data niet goed over komt?
 
DocVars zelf moet je op de plek zetten/aanroepen waar je ze nodig hebt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan