Avatar billede loozaville Nybegynder
03. januar 2007 - 16:32 Der 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.

Jeg håber der er hjælp at hente.
Avatar billede supertekst Ekspert
04. januar 2007 - 13:24 #1
Dette lille eksempel kan måske hjælpe:

Sub test()
    ActiveDocument.Bookmarks("optionby").Select    'positioner v/bogmærket
    WordBasic.endofline 1                          'marker "hele linien"
   
    If InStr(Selection, "Hobro") = 1 Then          'hvis selektionen begynder med"Hobro"
        Stop
    End If
End Sub
Avatar billede loozaville Nybegynder
05. januar 2007 - 08:33 #2
Fantastisk, Tak! Følgende ser ud til at virke:

ActiveDocument.Bookmarks("optionby").Select    'positioner v/bogmærket
    WordBasic.endofline 1                          'marker "hele linien"
   
    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.
Avatar billede supertekst Ekspert
05. januar 2007 - 09:43 #3
Lav et bogmærke til dette (bruger-indtastning) og positioner til dette efter ovenstående kode.
Avatar billede loozaville Nybegynder
09. januar 2007 - 10:23 #4
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.
Avatar billede supertekst Ekspert
09. januar 2007 - 11:05 #5
"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
Avatar billede loozaville Nybegynder
09. januar 2007 - 11:49 #6
Det spiller bare. Tak for hjælpen.

Skal jeg iøvrigt gøre noget ifm. point - eller er det i orden?
Avatar billede supertekst Ekspert
09. januar 2007 - 15:49 #7
Fint!
Jeg lægger et svar, som du så blot skal acceptere.....
Avatar billede loozaville Nybegynder
09. januar 2007 - 15:54 #8
Det er hermed gjort. Håber det er som det skal være. Ellers sig til.
Avatar billede supertekst Ekspert
09. januar 2007 - 16:02 #9
Er ikke sket endnu - klik på mit svar og accepter
Avatar billede supertekst Ekspert
15. januar 2007 - 15:11 #10
??
Avatar billede loozaville Nybegynder
15. januar 2007 - 15:34 #11
Er der noget galt med min accept til videregivelse af points.
Avatar billede supertekst Ekspert
15. januar 2007 - 15:51 #12
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.
Avatar billede loozaville Nybegynder
15. januar 2007 - 15:54 #13
Aaah - prøv lige nu. Jeg var ikke helt klar over det der med at markere.
Avatar billede supertekst Ekspert
15. januar 2007 - 16:36 #14
Så lykkedes det - tak...
Avatar billede loozaville Nybegynder
16. januar 2007 - 08:12 #15
Det er mig der takker :-)
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