22. juni 2013 - 09:39Der 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
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
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
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.
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.
Synes godt om
Ny brugerNybegynder
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.