03. januar 2007 - 16:32Der er
14 kommentarer og 1 løsning
Hvordan ændres value på checkbox i dokument via userform
Til et worddokument er jeg i gang med at oprette en userform, hvor man bl.a. - via to optionbuttons - bestemmer en fast defineret tekst, der indsættes i "Thisdocument" ved hjælp af bookmarks. Det fungerer fint! Men det vil være ideelt, hvis selvsamme procedure (altså optionbuttons i userform'en) kan kodes til at ændre værdien (true/false) for to forskellige checkbox'e - der er placeret i dokumentet.
Der er tale om to alternative afsendelsessteder, hvor der i afsendesessted og dato f.eks. skal stå "Hobro, den 24. december 2006" - "Hobro" er således bookmark-teksten for det ene afsendelsessted, og "Hobro" indsættes i dokumentet ved at vælge en af to optionbuttons i userformen.
I Bunden af Word-dokumentet skal de to alternative afsendelsesadresser stå som fast tekst - men der skal være en checkbox ud for hver adresse, der ved at blive "True" viser hvilken adresse der er sendt fra - selvom byen allerede er nævnt i forbindelse med datoen.
Jeg har forsøgt følgende i håbet om, at det kunne lade sig gøre at gøre checkboxens value afhængig af bookmarkteksten.
If .Bookmarks("optionby").Range.Text = "Hobro" Then CheckBox1.Value = True
Men det ser ikke ud til at det virker - og jeg aner ikke om det er på rette spor.
If InStr(Selection, "Hobro") = 1 Then ActiveDocument.CheckBox1.Value = True 'hvis selektionen begynder med"Hobro" If InStr(Selection, "Hadsund") = 1 Then ActiveDocument.CheckBox2.Value = True
Nu er linien med bynavn så markeret, når dokumentet er klar. Det skulle dog meget gerne være sådan, at cursor'en er placeret det sted i det aktive dokument, hvor brugeren kan begynde at skrive selve teksten.
Jeg er gået lidt kold i det bogmærke som cursor'en skal stå klar ved efter afsluttet indtastning i userform'en. Kan det specificeres lidt nærmere hvad koden skal være.
"Nu er linien med bynavn så markeret, når dokumentet er klar. Det skulle dog meget gerne være sådan, at cursor'en er placeret det sted i det aktive dokument, hvor brugeren kan begynde at skrive selve teksten."
Opret et bogmærke på dette sted - f.eks. "BrevTekst"
Indsæt denne linie på det sted, hvor din makro afsluttes - jfr. indledningen ActiveDocument.Bookmarks("BrevTekst").Select
Det tror jeg næppe - men jeg kan se du ikke har prøvet det før. Jeg kan ikke beskriver det nærmere - da jeg ikke selv har stillet spørgsmål - men det skulle være muligt at markere det svar, som jeg har lagt og så acceptere dette.
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.