22. juni 2013 - 09:39 Der er 9 kommentarer og
1 løsning

Indsæt tekst vha OptionButton i en Word formular

Hvordan får jeg OptionButton til at virke ifm 'Udfyld Word formular'
Man skal kunne vælge mellem tre tekst-typer ved hjælp af tre OptionButton og så sættes der automatisk en af teksterne ind i en formular - som man ikke må kunne ændre/skrive i.
Jeg anvender følgende kode ... men teksterne sættes ikke ind; når 'Udfyld Word formular' er slået til (Beskydt dokument).

Private Sub OptionButton1_Click()
On Error Resume Next
    If OptionButton1.Value = True Then
        ActiveDocument.Tables(2).Range.Delete
        ActiveDocument.Bookmarks("bmkTxt0").Range.InsertAfter "tekst1 "
    End If
End Sub
Private Sub OptionButton2_Click()
On Error Resume Next
    If OptionButton2.Value = True Then
        ActiveDocument.Tables(2).Range.Delete
        ActiveDocument.Bookmarks("bmkTxt0").Range.InsertAfter "tekst2 "
    End If
End Sub
Private Sub OptionButton3_Click()
On Error Resume Next
    If OptionButton3.Value = True Then
        ActiveDocument.Tables(2).Range.Delete
        ActiveDocument.Bookmarks("bmkTxt0").Range.InsertAfter "tekst3 "
    End If
End Sub
Avatar billede supertekst Ekspert
22. juni 2013 - 11:45 #1
Du er velkommen til at sende dokumentet. @-adresse under min profil
Avatar billede supertekst Ekspert
22. juni 2013 - 20:28 #2
Rem Alternativ kode:

Const pw = "xx"
Private Sub OptionButton4_Click()
    indsætValg "tekst1 "
End Sub
Private Sub OptionButton5_Click()
    indsætValg "tekst2 "
End Sub
Private Sub OptionButton6_Click()
    indsætValg "tekst3 "
End Sub
Private Sub indsætValg(tekst)
On Error Resume Next
        ActiveDocument.Unprotect pw
        ActiveDocument.Tables(2).Range.Delete
        ActiveDocument.Bookmarks("bmkTxt0").Range.InsertAfter tekst
        ActiveDocument.Protect wdAllowOnlyFormFields, , pw
End Sub
Avatar billede holmallmighty Nybegynder
06. juli 2013 - 21:06 #3
Er det ud fra dette muligt at skrive en kode, som danner en drop Down menu med tre valgmuligheder. Hver mulighed skal føre til en bestemt tekst, som fremvises i et tekstfelt?

Jeg kan lave det med to drop down's, hvor der i den anden menu så kun findes én valgmulighed til hver mulighed i 'master' dd
Avatar billede supertekst Ekspert
06. juli 2013 - 23:07 #4
Forstår ikke rigtigt, hvad du mener. De 2 afsnit synes at omhandle forskellige muligheder.
Avatar billede holmallmighty Nybegynder
06. juli 2013 - 23:16 #5
Jeg skal have en dd-menu med tre muligheder. Ved at vælge én skal der fremkomme en given tekst, en tekst til hver mulighed i dd'en. Er det muligt?
Avatar billede supertekst Ekspert
06. juli 2013 - 23:55 #6
D.v.s. at den valgte tekst er ikke den, der skal indsættes - eller?

Ja - uanset er det er muligt.
Avatar billede holmallmighty Nybegynder
07. juli 2013 - 21:19 #7
Det er det ikke nej.

Valgmulighederne i drop down-menuen skal være 'IDA Nord', 'IDA Event' og 'SK-Pulje'. De skal hver i sær henføre til tre faktureringsadresser.
Avatar billede supertekst Ekspert
07. juli 2013 - 23:14 #8
Ok - skal VBA-koden skrives til en ComboBox i en Userform eller et kontrolelement i selv dokumentet?
Avatar billede holmallmighty Nybegynder
07. juli 2013 - 23:23 #9
Jeg er ikke helt klar over hvad det første betyder, men jeg er ret sikker på, at det sidste er det rigtige for mig. Jeg vil gerne kunne indsætte funktionerne vilkårligt i en formular.
Avatar billede supertekst Ekspert
08. juli 2013 - 09:03 #10
Et eksempel på en VBA-kode, der indsætter adresser i kombinationsboks. Ved valg ændres adressen i tekstboksen:

Const adresse1 = "IDA Nord" & vbCr & "Vejen 1" & vbCr & "1111 By1"
Const adresse2 = "IDA Event" & vbCr & "Vejen 2" & vbCr & "2222 By2"
Const adresse3 = "SK-Pulje" & vbCr & "Vejen 3" & vbCr & "3333 By3"
Private Sub Document_Open()
    With ActiveDocument
        .ComboBox1.AddItem "IDA Nord"
        .ComboBox1.AddItem "IDA Event"
        .ComboBox1.AddItem "SK-Pulje"
    End With
End Sub
Private Sub ComboBox1_Change()
Dim ix
    ix = ActiveDocument.ComboBox1.ListIndex
   
    Select Case ix
        Case 0
            TextBox1 = adresse1
        Case 1
            TextBox1 = adresse2
        Case 2
            TextBox1 = adresse3
    End Select
   
End Sub


Alternativ ville være en Userform (programmeret dialogboks) herved adskilles valg af adresse fra selv dokumentet.

Hvis du er interesseret i dokumentet - kan jeg sender det til dig.
@-adresse under min profil.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester